diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/docs/.nojekyll @@ -0,0 +1 @@ + diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 0000000..d839021 --- /dev/null +++ b/docs/404.html @@ -0,0 +1,80 @@ + + + + + + + +No s'ha trobat la pàgina (404) • monitorOSM + + + + + + + + + + + + + + + Salta als continguts + + +
+
+
+ +No s'ha trobat el contingut. Useu els enllaços de la barra de navegació. + +
+
+ + + +
+ + + + + + + diff --git a/docs/LICENSE.html b/docs/LICENSE.html new file mode 100644 index 0000000..059bd05 --- /dev/null +++ b/docs/LICENSE.html @@ -0,0 +1,249 @@ + +GNU General Public License • monitorOSM + Salta als continguts + + +
+
+
+ +
+ +

Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>

+

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.

+
+
+ +

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 <http://www.gnu.org/licenses/>.
+

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:

+
<program>  Copyright (C) <year>  <name of author>
+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 <http://www.gnu.org/licenses/>.

+

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 <http://www.gnu.org/philosophy/why-not-lgpl.html>.

+
+
+ +
+ + +
+ + + + + + + diff --git a/docs/apple-touch-icon-120x120.png b/docs/apple-touch-icon-120x120.png new file mode 100644 index 0000000..57a288b Binary files /dev/null and b/docs/apple-touch-icon-120x120.png differ diff --git a/docs/apple-touch-icon-152x152.png b/docs/apple-touch-icon-152x152.png new file mode 100644 index 0000000..4a23294 Binary files /dev/null and b/docs/apple-touch-icon-152x152.png differ diff --git a/docs/apple-touch-icon-180x180.png b/docs/apple-touch-icon-180x180.png new file mode 100644 index 0000000..92abe6d Binary files /dev/null and b/docs/apple-touch-icon-180x180.png differ diff --git a/docs/apple-touch-icon-60x60.png b/docs/apple-touch-icon-60x60.png new file mode 100644 index 0000000..c70355b Binary files /dev/null and b/docs/apple-touch-icon-60x60.png differ diff --git a/docs/apple-touch-icon-76x76.png b/docs/apple-touch-icon-76x76.png new file mode 100644 index 0000000..b7a6a35 Binary files /dev/null and b/docs/apple-touch-icon-76x76.png differ diff --git a/docs/apple-touch-icon.png b/docs/apple-touch-icon.png new file mode 100644 index 0000000..20459b2 Binary files /dev/null and b/docs/apple-touch-icon.png differ diff --git a/docs/authors.html b/docs/authors.html new file mode 100644 index 0000000..9df3a12 --- /dev/null +++ b/docs/authors.html @@ -0,0 +1,77 @@ + +Autors i citació • monitorOSM + Salta als continguts + + +
+
+
+ +
+

Autors

+ +
  • +

    Joan Maspons. Autor, mantenidor. +

    +
  • +
+ +
+

Citació

+

Font: DESCRIPTION

+ +

Maspons J (2024). +monitorOSM: Monitor d'OSM. +R package version 0.0.4, https://osm-catalan.github.io/monitorOSM/, https://github.com/OSM-Catalan/monitorOSM. +

+
@Manual{,
+  title = {monitorOSM: Monitor d'OSM},
+  author = {Joan Maspons},
+  year = {2024},
+  note = {R package version 0.0.4, https://osm-catalan.github.io/monitorOSM/},
+  url = {https://github.com/OSM-Catalan/monitorOSM},
+}
+
+ +
+ + +
+ + + + + + + diff --git a/docs/deps/bootstrap-5.3.1/bootstrap.bundle.min.js b/docs/deps/bootstrap-5.3.1/bootstrap.bundle.min.js new file mode 100644 index 0000000..e8f21f7 --- /dev/null +++ b/docs/deps/bootstrap-5.3.1/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.1 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function j(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${j(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${j(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${j(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.1"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return n(e)},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",Mt="collapsing",jt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(Mt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(Mt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(jt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Me(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const je={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Me(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:Me(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==P(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],M=f?-T[$]/2:0,j=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-M-q-z-O.mainAxis:j-q-z-O.mainAxis,K=v?-E[$]/2+M+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,Mn=`hide${xn}`,jn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,jn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,jn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",Ms="Home",js="End",Fs="active",Hs="fade",Ws="show",Bs=":not(.dropdown-toggle)",zs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Rs=`.nav-link${Bs}, .list-group-item${Bs}, [role="tab"]${Bs}, ${zs}`,qs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Vs extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,Ms,js].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([Ms,js].includes(t.key))i=e[t.key===Ms?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Vs.getOrCreateInstance(i).show())}_getChildren(){return z.find(Rs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(Rs)?t:z.findOne(Rs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Vs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,zs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Vs.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(qs))Vs.getOrCreateInstance(t)})),m(Vs);const Ks=".bs.toast",Qs=`mouseover${Ks}`,Xs=`mouseout${Ks}`,Ys=`focusin${Ks}`,Us=`focusout${Ks}`,Gs=`hide${Ks}`,Js=`hidden${Ks}`,Zs=`show${Ks}`,to=`shown${Ks}`,eo="hide",io="show",no="showing",so={animation:"boolean",autohide:"boolean",delay:"number"},oo={animation:!0,autohide:!0,delay:5e3};class ro extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return oo}static get DefaultType(){return so}static get NAME(){return"toast"}show(){N.trigger(this._element,Zs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(eo),d(this._element),this._element.classList.add(io,no),this._queueCallback((()=>{this._element.classList.remove(no),N.trigger(this._element,to),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Gs).defaultPrevented||(this._element.classList.add(no),this._queueCallback((()=>{this._element.classList.add(eo),this._element.classList.remove(no,io),N.trigger(this._element,Js)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(io),super.dispose()}isShown(){return this._element.classList.contains(io)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Qs,(t=>this._onInteraction(t,!0))),N.on(this._element,Xs,(t=>this._onInteraction(t,!1))),N.on(this._element,Ys,(t=>this._onInteraction(t,!0))),N.on(this._element,Us,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ro.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ro),m(ro),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Vs,Toast:ro,Tooltip:cs}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/docs/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map b/docs/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map new file mode 100644 index 0000000..3863da8 --- /dev/null +++ b/docs/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map @@ -0,0 +1 @@ +{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","TRANSITION_END","parseSelector","selector","window","CSS","escape","replace","match","id","triggerTransitionEnd","dispatchEvent","Event","isElement","object","jquery","nodeType","getElement","length","document","querySelector","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","parentNode","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","getAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","push","execute","possibleCallback","args","defaultValue","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","getTransitionDurationFromElement","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","Math","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","findHandler","events","callable","delegationSelector","Object","values","find","event","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","oneOff","wrapFunction","relatedTarget","delegateTarget","call","this","handlers","previousFunction","domElements","querySelectorAll","domElement","hydrateObj","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","trigger","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","preventDefault","obj","meta","value","_unused","defineProperty","configurable","normalizeData","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","Config","Default","DefaultType","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","prototype","RegExp","test","TypeError","toUpperCase","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","VERSION","eventName","getSelector","hrefAttribute","trim","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","EVENT_CLOSE","EVENT_CLOSED","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","DATA_API_KEY","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","KEY_TO_DIRECTION","ArrowLeft","ArrowRight","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_DEEPER_CHILDREN","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","top","bottom","right","left","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","nodeName","getWindow","node","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","applyStyles$1","enabled","phase","_ref","state","elements","forEach","styles","assign","effect","_ref2","initialStyles","position","options","strategy","margin","arrow","hasOwnProperty","attribute","requires","getBasePlacement","round","getUAString","uaData","userAgentData","brands","isArray","item","brand","version","userAgent","isLayoutViewport","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","offsetWidth","width","height","visualViewport","addVisualOffsets","x","offsetLeft","y","offsetTop","getLayoutRect","rootNode","isSameNode","host","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","currentNode","css","transform","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","mathMax","mathMin","mergePaddingObject","paddingObject","expandToHashMap","hashMap","arrow$1","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","axis","len","padding","rects","toPaddingObject","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","clientHeight","clientWidth","centerToReference","center","offset","axisProp","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","win","heightProp","widthProp","_Object$assign","commonStyles","_ref4","dpr","devicePixelRatio","roundOffsetsByDPR","computeStyles$1","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","passive","eventListeners","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","update","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","scrollLeft","pageXOffset","scrollTop","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","_element$ownerDocumen","isBody","updatedList","rectToClientRect","rect","getClientRectFromMixedType","clippingParent","html","layoutViewport","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","getDocumentRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","boundary","_options$rootBoundary","rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","mainClippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","getClippingRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","sort","a","b","flip$1","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","i","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","reset","getSideOffsets","preventedOffsets","isAnySideFullyClipped","some","side","hide$1","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","offset$1","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","popperOffsets$1","preventOverflow$1","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_len","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","v","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","modifiers","visited","result","modifier","dep","depModifier","DEFAULT_OPTIONS","areValidElements","arguments","_key","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","pending","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","merged","orderModifiers","current","existing","m","_ref$options","cleanupFn","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","Promise","resolve","then","destroy","onFirstUpdate","createPopper","computeStyles","applyStyles","flip","ARROW_UP_KEY","ARROW_DOWN_KEY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","autoClose","display","popperConfig","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","_createPopper","focus","_completeHide","Popper","referenceElement","_getPopperConfig","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","innerWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","isOverflowing","_saveInitialAttribute","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","sel","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","handleUpdate","modalBody","transitionComplete","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","initialOverflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","alreadyOpen","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","Offcanvas","blur","completeCallback","DefaultAllowlist","area","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeName","nodeValue","attributeRegex","regex","allowList","content","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","innerHTML","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","unsafeHtml","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","sanitizeHtml","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","click","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","prefix","floor","random","getElementById","getUID","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","Popover","_getContent","EVENT_ACTIVATE","EVENT_CLICK","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LINKS","SELECTOR_LINK_ITEMS","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","scrollTo","behavior","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","activeNodes","spy","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","HOME_KEY","END_KEY","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","open","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"sources":["../../js/src/dom/data.js","../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/@popperjs/core/lib/enums.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../node_modules/@popperjs/core/lib/utils/math.js","../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../node_modules/@popperjs/core/lib/utils/within.js","../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../node_modules/@popperjs/core/lib/createPopper.js","../../node_modules/@popperjs/core/lib/utils/debounce.js","../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../node_modules/@popperjs/core/lib/popper-lite.js","../../node_modules/@popperjs/core/lib/popper.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0]\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n defineJQueryPlugin,\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getjQuery,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index.js'\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n const evt = hydrateObj(new Event(event, { bubbles, cancelable: true }), args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return parseSelector(selector)\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)', // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // TODO: change tests that use empty divs to avoid this check\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config)\n\n if (typeof config === 'number') {\n data.to(config)\n return\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // else is escape and we check if it is shown\n event.stopPropagation()\n instance.hide()\n getToggleButton.focus()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute, executeAfterTransition, getElement, reflow } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport { defineJQueryPlugin, isRTL, isVisible, reflow } from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(window, EVENT_KEY)\n EventHandler.off(this._dialog, EVENT_KEY)\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog)\n }, this._dialog)\n\n this._element.focus()\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport { defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' +\n '
' +\n '
' +\n '
',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._popper = null\n this._templateFactory = null\n this._newContent = null\n\n // Protected\n this.tip = null\n\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n this._activeTrigger.click = !this._activeTrigger.click\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n this._popper = this._createPopper(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposePopper()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n // TODO: remove this check in v6\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposePopper()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element])\n const attachment = AttachmentMap[placement.toUpperCase()]\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element])\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n }\n }\n ]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' +\n '
' +\n '

' +\n '
' +\n '
',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin, getElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n return\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both
    and
')},createChildNavList:function(e){var t=this.createNavList();return e.append(t),t},generateNavEl:function(e,t){var n=a('
');n.attr("href","#"+e),n.text(t);var r=a("
  • ");return r.append(n),r},generateNavItem:function(e){var t=this.generateAnchor(e),n=a(e),r=n.data("toc-text")||n.text();return this.generateNavEl(t,r)},getTopLevel:function(e){for(var t=1;t<=6;t++){if(1 + + + + + + + + + + + + diff --git a/docs/deps/font-awesome-6.5.2/css/all.css b/docs/deps/font-awesome-6.5.2/css/all.css new file mode 100644 index 0000000..151dd57 --- /dev/null +++ b/docs/deps/font-awesome-6.5.2/css/all.css @@ -0,0 +1,8028 @@ +/*! + * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */ +.fa { + font-family: var(--fa-style-family, "Font Awesome 6 Free"); + font-weight: var(--fa-style, 900); } + +.fa, +.fa-classic, +.fa-sharp, +.fas, +.fa-solid, +.far, +.fa-regular, +.fab, +.fa-brands { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: var(--fa-display, inline-block); + font-style: normal; + font-variant: normal; + line-height: 1; + text-rendering: auto; } + +.fas, +.fa-classic, +.fa-solid, +.far, +.fa-regular { + font-family: 'Font Awesome 6 Free'; } + +.fab, +.fa-brands { + font-family: 'Font Awesome 6 Brands'; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; } + +.fa-xs { + font-size: 0.75em; + line-height: 0.08333em; + vertical-align: 0.125em; } + +.fa-sm { + font-size: 0.875em; + line-height: 0.07143em; + vertical-align: 0.05357em; } + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; } + +.fa-xl { + font-size: 1.5em; + line-height: 0.04167em; + vertical-align: -0.125em; } + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: var(--fa-li-margin, 2.5em); + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: calc(var(--fa-li-width, 2em) * -1); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; } + +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } + +.fa-pull-left { + float: left; + margin-right: var(--fa-pull-margin, 0.3em); } + +.fa-pull-right { + float: right; + margin-left: var(--fa-pull-margin, 0.3em); } + +.fa-beat { + -webkit-animation-name: fa-beat; + animation-name: fa-beat; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-bounce { + -webkit-animation-name: fa-bounce; + animation-name: fa-bounce; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } + +.fa-fade { + -webkit-animation-name: fa-fade; + animation-name: fa-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-beat-fade { + -webkit-animation-name: fa-beat-fade; + animation-name: fa-beat-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-flip { + -webkit-animation-name: fa-flip; + animation-name: fa-flip; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-shake { + -webkit-animation-name: fa-shake; + animation-name: fa-shake; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 2s); + animation-duration: var(--fa-animation-duration, 2s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin-reverse { + --fa-animation-direction: reverse; } + +.fa-pulse, +.fa-spin-pulse { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); + animation-timing-function: var(--fa-animation-timing, steps(8)); } + +@media (prefers-reduced-motion: reduce) { + .fa-beat, + .fa-bounce, + .fa-fade, + .fa-beat-fade, + .fa-flip, + .fa-pulse, + .fa-shake, + .fa-spin, + .fa-spin-pulse { + -webkit-animation-delay: -1ms; + animation-delay: -1ms; + -webkit-animation-duration: 1ms; + animation-duration: 1ms; + -webkit-animation-iteration-count: 1; + animation-iteration-count: 1; + -webkit-transition-delay: 0s; + transition-delay: 0s; + -webkit-transition-duration: 0s; + transition-duration: 0s; } } + +@-webkit-keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@-webkit-keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@-webkit-keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@-webkit-keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@-webkit-keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@-webkit-keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +.fa-rotate-by { + -webkit-transform: rotate(var(--fa-rotate-angle, 0)); + transform: rotate(var(--fa-rotate-angle, 0)); } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; + z-index: var(--fa-stack-z-index, auto); } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: var(--fa-inverse, #fff); } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ + +.fa-0::before { + content: "\30"; } + +.fa-1::before { + content: "\31"; } + +.fa-2::before { + content: "\32"; } + +.fa-3::before { + content: "\33"; } + +.fa-4::before { + content: "\34"; } + +.fa-5::before { + content: "\35"; } + +.fa-6::before { + content: "\36"; } + +.fa-7::before { + content: "\37"; } + +.fa-8::before { + content: "\38"; } + +.fa-9::before { + content: "\39"; } + +.fa-fill-drip::before { + content: "\f576"; } + +.fa-arrows-to-circle::before { + content: "\e4bd"; } + +.fa-circle-chevron-right::before { + content: "\f138"; } + +.fa-chevron-circle-right::before { + content: "\f138"; } + +.fa-at::before { + content: "\40"; } + +.fa-trash-can::before { + content: "\f2ed"; } + +.fa-trash-alt::before { + content: "\f2ed"; } + +.fa-text-height::before { + content: "\f034"; } + +.fa-user-xmark::before { + content: "\f235"; } + +.fa-user-times::before { + content: "\f235"; } + +.fa-stethoscope::before { + content: "\f0f1"; } + +.fa-message::before { + content: "\f27a"; } + +.fa-comment-alt::before { + content: "\f27a"; } + +.fa-info::before { + content: "\f129"; } + +.fa-down-left-and-up-right-to-center::before { + content: "\f422"; } + +.fa-compress-alt::before { + content: "\f422"; } + +.fa-explosion::before { + content: "\e4e9"; } + +.fa-file-lines::before { + content: "\f15c"; } + +.fa-file-alt::before { + content: "\f15c"; } + +.fa-file-text::before { + content: "\f15c"; } + +.fa-wave-square::before { + content: "\f83e"; } + +.fa-ring::before { + content: "\f70b"; } + +.fa-building-un::before { + content: "\e4d9"; } + +.fa-dice-three::before { + content: "\f527"; } + +.fa-calendar-days::before { + content: "\f073"; } + +.fa-calendar-alt::before { + content: "\f073"; } + +.fa-anchor-circle-check::before { + content: "\e4aa"; } + +.fa-building-circle-arrow-right::before { + content: "\e4d1"; } + +.fa-volleyball::before { + content: "\f45f"; } + +.fa-volleyball-ball::before { + content: "\f45f"; } + +.fa-arrows-up-to-line::before { + content: "\e4c2"; } + +.fa-sort-down::before { + content: "\f0dd"; } + +.fa-sort-desc::before { + content: "\f0dd"; } + +.fa-circle-minus::before { + content: "\f056"; } + +.fa-minus-circle::before { + content: "\f056"; } + +.fa-door-open::before { + content: "\f52b"; } + +.fa-right-from-bracket::before { + content: "\f2f5"; } + +.fa-sign-out-alt::before { + content: "\f2f5"; } + +.fa-atom::before { + content: "\f5d2"; } + +.fa-soap::before { + content: "\e06e"; } + +.fa-icons::before { + content: "\f86d"; } + +.fa-heart-music-camera-bolt::before { + content: "\f86d"; } + +.fa-microphone-lines-slash::before { + content: "\f539"; } + +.fa-microphone-alt-slash::before { + content: "\f539"; } + +.fa-bridge-circle-check::before { + content: "\e4c9"; } + +.fa-pump-medical::before { + content: "\e06a"; } + +.fa-fingerprint::before { + content: "\f577"; } + +.fa-hand-point-right::before { + content: "\f0a4"; } + +.fa-magnifying-glass-location::before { + content: "\f689"; } + +.fa-search-location::before { + content: "\f689"; } + +.fa-forward-step::before { + content: "\f051"; } + +.fa-step-forward::before { + content: "\f051"; } + +.fa-face-smile-beam::before { + content: "\f5b8"; } + +.fa-smile-beam::before { + content: "\f5b8"; } + +.fa-flag-checkered::before { + content: "\f11e"; } + +.fa-football::before { + content: "\f44e"; } + +.fa-football-ball::before { + content: "\f44e"; } + +.fa-school-circle-exclamation::before { + content: "\e56c"; } + +.fa-crop::before { + content: "\f125"; } + +.fa-angles-down::before { + content: "\f103"; } + +.fa-angle-double-down::before { + content: "\f103"; } + +.fa-users-rectangle::before { + content: "\e594"; } + +.fa-people-roof::before { + content: "\e537"; } + +.fa-people-line::before { + content: "\e534"; } + +.fa-beer-mug-empty::before { + content: "\f0fc"; } + +.fa-beer::before { + content: "\f0fc"; } + +.fa-diagram-predecessor::before { + content: "\e477"; } + +.fa-arrow-up-long::before { + content: "\f176"; } + +.fa-long-arrow-up::before { + content: "\f176"; } + +.fa-fire-flame-simple::before { + content: "\f46a"; } + +.fa-burn::before { + content: "\f46a"; } + +.fa-person::before { + content: "\f183"; } + +.fa-male::before { + content: "\f183"; } + +.fa-laptop::before { + content: "\f109"; } + +.fa-file-csv::before { + content: "\f6dd"; } + +.fa-menorah::before { + content: "\f676"; } + +.fa-truck-plane::before { + content: "\e58f"; } + +.fa-record-vinyl::before { + content: "\f8d9"; } + +.fa-face-grin-stars::before { + content: "\f587"; } + +.fa-grin-stars::before { + content: "\f587"; } + +.fa-bong::before { + content: "\f55c"; } + +.fa-spaghetti-monster-flying::before { + content: "\f67b"; } + +.fa-pastafarianism::before { + content: "\f67b"; } + +.fa-arrow-down-up-across-line::before { + content: "\e4af"; } + +.fa-spoon::before { + content: "\f2e5"; } + +.fa-utensil-spoon::before { + content: "\f2e5"; } + +.fa-jar-wheat::before { + content: "\e517"; } + +.fa-envelopes-bulk::before { + content: "\f674"; } + +.fa-mail-bulk::before { + content: "\f674"; } + +.fa-file-circle-exclamation::before { + content: "\e4eb"; } + +.fa-circle-h::before { + content: "\f47e"; } + +.fa-hospital-symbol::before { + content: "\f47e"; } + +.fa-pager::before { + content: "\f815"; } + +.fa-address-book::before { + content: "\f2b9"; } + +.fa-contact-book::before { + content: "\f2b9"; } + +.fa-strikethrough::before { + content: "\f0cc"; } + +.fa-k::before { + content: "\4b"; } + +.fa-landmark-flag::before { + content: "\e51c"; } + +.fa-pencil::before { + content: "\f303"; } + +.fa-pencil-alt::before { + content: "\f303"; } + +.fa-backward::before { + content: "\f04a"; } + +.fa-caret-right::before { + content: "\f0da"; } + +.fa-comments::before { + content: "\f086"; } + +.fa-paste::before { + content: "\f0ea"; } + +.fa-file-clipboard::before { + content: "\f0ea"; } + +.fa-code-pull-request::before { + content: "\e13c"; } + +.fa-clipboard-list::before { + content: "\f46d"; } + +.fa-truck-ramp-box::before { + content: "\f4de"; } + +.fa-truck-loading::before { + content: "\f4de"; } + +.fa-user-check::before { + content: "\f4fc"; } + +.fa-vial-virus::before { + content: "\e597"; } + +.fa-sheet-plastic::before { + content: "\e571"; } + +.fa-blog::before { + content: "\f781"; } + +.fa-user-ninja::before { + content: "\f504"; } + +.fa-person-arrow-up-from-line::before { + content: "\e539"; } + +.fa-scroll-torah::before { + content: "\f6a0"; } + +.fa-torah::before { + content: "\f6a0"; } + +.fa-broom-ball::before { + content: "\f458"; } + +.fa-quidditch::before { + content: "\f458"; } + +.fa-quidditch-broom-ball::before { + content: "\f458"; } + +.fa-toggle-off::before { + content: "\f204"; } + +.fa-box-archive::before { + content: "\f187"; } + +.fa-archive::before { + content: "\f187"; } + +.fa-person-drowning::before { + content: "\e545"; } + +.fa-arrow-down-9-1::before { + content: "\f886"; } + +.fa-sort-numeric-desc::before { + content: "\f886"; } + +.fa-sort-numeric-down-alt::before { + content: "\f886"; } + +.fa-face-grin-tongue-squint::before { + content: "\f58a"; } + +.fa-grin-tongue-squint::before { + content: "\f58a"; } + +.fa-spray-can::before { + content: "\f5bd"; } + +.fa-truck-monster::before { + content: "\f63b"; } + +.fa-w::before { + content: "\57"; } + +.fa-earth-africa::before { + content: "\f57c"; } + +.fa-globe-africa::before { + content: "\f57c"; } + +.fa-rainbow::before { + content: "\f75b"; } + +.fa-circle-notch::before { + content: "\f1ce"; } + +.fa-tablet-screen-button::before { + content: "\f3fa"; } + +.fa-tablet-alt::before { + content: "\f3fa"; } + +.fa-paw::before { + content: "\f1b0"; } + +.fa-cloud::before { + content: "\f0c2"; } + +.fa-trowel-bricks::before { + content: "\e58a"; } + +.fa-face-flushed::before { + content: "\f579"; } + +.fa-flushed::before { + content: "\f579"; } + +.fa-hospital-user::before { + content: "\f80d"; } + +.fa-tent-arrow-left-right::before { + content: "\e57f"; } + +.fa-gavel::before { + content: "\f0e3"; } + +.fa-legal::before { + content: "\f0e3"; } + +.fa-binoculars::before { + content: "\f1e5"; } + +.fa-microphone-slash::before { + content: "\f131"; } + +.fa-box-tissue::before { + content: "\e05b"; } + +.fa-motorcycle::before { + content: "\f21c"; } + +.fa-bell-concierge::before { + content: "\f562"; } + +.fa-concierge-bell::before { + content: "\f562"; } + +.fa-pen-ruler::before { + content: "\f5ae"; } + +.fa-pencil-ruler::before { + content: "\f5ae"; } + +.fa-people-arrows::before { + content: "\e068"; } + +.fa-people-arrows-left-right::before { + content: "\e068"; } + +.fa-mars-and-venus-burst::before { + content: "\e523"; } + +.fa-square-caret-right::before { + content: "\f152"; } + +.fa-caret-square-right::before { + content: "\f152"; } + +.fa-scissors::before { + content: "\f0c4"; } + +.fa-cut::before { + content: "\f0c4"; } + +.fa-sun-plant-wilt::before { + content: "\e57a"; } + +.fa-toilets-portable::before { + content: "\e584"; } + +.fa-hockey-puck::before { + content: "\f453"; } + +.fa-table::before { + content: "\f0ce"; } + +.fa-magnifying-glass-arrow-right::before { + content: "\e521"; } + +.fa-tachograph-digital::before { + content: "\f566"; } + +.fa-digital-tachograph::before { + content: "\f566"; } + +.fa-users-slash::before { + content: "\e073"; } + +.fa-clover::before { + content: "\e139"; } + +.fa-reply::before { + content: "\f3e5"; } + +.fa-mail-reply::before { + content: "\f3e5"; } + +.fa-star-and-crescent::before { + content: "\f699"; } + +.fa-house-fire::before { + content: "\e50c"; } + +.fa-square-minus::before { + content: "\f146"; } + +.fa-minus-square::before { + content: "\f146"; } + +.fa-helicopter::before { + content: "\f533"; } + +.fa-compass::before { + content: "\f14e"; } + +.fa-square-caret-down::before { + content: "\f150"; } + +.fa-caret-square-down::before { + content: "\f150"; } + +.fa-file-circle-question::before { + content: "\e4ef"; } + +.fa-laptop-code::before { + content: "\f5fc"; } + +.fa-swatchbook::before { + content: "\f5c3"; } + +.fa-prescription-bottle::before { + content: "\f485"; } + +.fa-bars::before { + content: "\f0c9"; } + +.fa-navicon::before { + content: "\f0c9"; } + +.fa-people-group::before { + content: "\e533"; } + +.fa-hourglass-end::before { + content: "\f253"; } + +.fa-hourglass-3::before { + content: "\f253"; } + +.fa-heart-crack::before { + content: "\f7a9"; } + +.fa-heart-broken::before { + content: "\f7a9"; } + +.fa-square-up-right::before { + content: "\f360"; } + +.fa-external-link-square-alt::before { + content: "\f360"; } + +.fa-face-kiss-beam::before { + content: "\f597"; } + +.fa-kiss-beam::before { + content: "\f597"; } + +.fa-film::before { + content: "\f008"; } + +.fa-ruler-horizontal::before { + content: "\f547"; } + +.fa-people-robbery::before { + content: "\e536"; } + +.fa-lightbulb::before { + content: "\f0eb"; } + +.fa-caret-left::before { + content: "\f0d9"; } + +.fa-circle-exclamation::before { + content: "\f06a"; } + +.fa-exclamation-circle::before { + content: "\f06a"; } + +.fa-school-circle-xmark::before { + content: "\e56d"; } + +.fa-arrow-right-from-bracket::before { + content: "\f08b"; } + +.fa-sign-out::before { + content: "\f08b"; } + +.fa-circle-chevron-down::before { + content: "\f13a"; } + +.fa-chevron-circle-down::before { + content: "\f13a"; } + +.fa-unlock-keyhole::before { + content: "\f13e"; } + +.fa-unlock-alt::before { + content: "\f13e"; } + +.fa-cloud-showers-heavy::before { + content: "\f740"; } + +.fa-headphones-simple::before { + content: "\f58f"; } + +.fa-headphones-alt::before { + content: "\f58f"; } + +.fa-sitemap::before { + content: "\f0e8"; } + +.fa-circle-dollar-to-slot::before { + content: "\f4b9"; } + +.fa-donate::before { + content: "\f4b9"; } + +.fa-memory::before { + content: "\f538"; } + +.fa-road-spikes::before { + content: "\e568"; } + +.fa-fire-burner::before { + content: "\e4f1"; } + +.fa-flag::before { + content: "\f024"; } + +.fa-hanukiah::before { + content: "\f6e6"; } + +.fa-feather::before { + content: "\f52d"; } + +.fa-volume-low::before { + content: "\f027"; } + +.fa-volume-down::before { + content: "\f027"; } + +.fa-comment-slash::before { + content: "\f4b3"; } + +.fa-cloud-sun-rain::before { + content: "\f743"; } + +.fa-compress::before { + content: "\f066"; } + +.fa-wheat-awn::before { + content: "\e2cd"; } + +.fa-wheat-alt::before { + content: "\e2cd"; } + +.fa-ankh::before { + content: "\f644"; } + +.fa-hands-holding-child::before { + content: "\e4fa"; } + +.fa-asterisk::before { + content: "\2a"; } + +.fa-square-check::before { + content: "\f14a"; } + +.fa-check-square::before { + content: "\f14a"; } + +.fa-peseta-sign::before { + content: "\e221"; } + +.fa-heading::before { + content: "\f1dc"; } + +.fa-header::before { + content: "\f1dc"; } + +.fa-ghost::before { + content: "\f6e2"; } + +.fa-list::before { + content: "\f03a"; } + +.fa-list-squares::before { + content: "\f03a"; } + +.fa-square-phone-flip::before { + content: "\f87b"; } + +.fa-phone-square-alt::before { + content: "\f87b"; } + +.fa-cart-plus::before { + content: "\f217"; } + +.fa-gamepad::before { + content: "\f11b"; } + +.fa-circle-dot::before { + content: "\f192"; } + +.fa-dot-circle::before { + content: "\f192"; } + +.fa-face-dizzy::before { + content: "\f567"; } + +.fa-dizzy::before { + content: "\f567"; } + +.fa-egg::before { + content: "\f7fb"; } + +.fa-house-medical-circle-xmark::before { + content: "\e513"; } + +.fa-campground::before { + content: "\f6bb"; } + +.fa-folder-plus::before { + content: "\f65e"; } + +.fa-futbol::before { + content: "\f1e3"; } + +.fa-futbol-ball::before { + content: "\f1e3"; } + +.fa-soccer-ball::before { + content: "\f1e3"; } + +.fa-paintbrush::before { + content: "\f1fc"; } + +.fa-paint-brush::before { + content: "\f1fc"; } + +.fa-lock::before { + content: "\f023"; } + +.fa-gas-pump::before { + content: "\f52f"; } + +.fa-hot-tub-person::before { + content: "\f593"; } + +.fa-hot-tub::before { + content: "\f593"; } + +.fa-map-location::before { + content: "\f59f"; } + +.fa-map-marked::before { + content: "\f59f"; } + +.fa-house-flood-water::before { + content: "\e50e"; } + +.fa-tree::before { + content: "\f1bb"; } + +.fa-bridge-lock::before { + content: "\e4cc"; } + +.fa-sack-dollar::before { + content: "\f81d"; } + +.fa-pen-to-square::before { + content: "\f044"; } + +.fa-edit::before { + content: "\f044"; } + +.fa-car-side::before { + content: "\f5e4"; } + +.fa-share-nodes::before { + content: "\f1e0"; } + +.fa-share-alt::before { + content: "\f1e0"; } + +.fa-heart-circle-minus::before { + content: "\e4ff"; } + +.fa-hourglass-half::before { + content: "\f252"; } + +.fa-hourglass-2::before { + content: "\f252"; } + +.fa-microscope::before { + content: "\f610"; } + +.fa-sink::before { + content: "\e06d"; } + +.fa-bag-shopping::before { + content: "\f290"; } + +.fa-shopping-bag::before { + content: "\f290"; } + +.fa-arrow-down-z-a::before { + content: "\f881"; } + +.fa-sort-alpha-desc::before { + content: "\f881"; } + +.fa-sort-alpha-down-alt::before { + content: "\f881"; } + +.fa-mitten::before { + content: "\f7b5"; } + +.fa-person-rays::before { + content: "\e54d"; } + +.fa-users::before { + content: "\f0c0"; } + +.fa-eye-slash::before { + content: "\f070"; } + +.fa-flask-vial::before { + content: "\e4f3"; } + +.fa-hand::before { + content: "\f256"; } + +.fa-hand-paper::before { + content: "\f256"; } + +.fa-om::before { + content: "\f679"; } + +.fa-worm::before { + content: "\e599"; } + +.fa-house-circle-xmark::before { + content: "\e50b"; } + +.fa-plug::before { + content: "\f1e6"; } + +.fa-chevron-up::before { + content: "\f077"; } + +.fa-hand-spock::before { + content: "\f259"; } + +.fa-stopwatch::before { + content: "\f2f2"; } + +.fa-face-kiss::before { + content: "\f596"; } + +.fa-kiss::before { + content: "\f596"; } + +.fa-bridge-circle-xmark::before { + content: "\e4cb"; } + +.fa-face-grin-tongue::before { + content: "\f589"; } + +.fa-grin-tongue::before { + content: "\f589"; } + +.fa-chess-bishop::before { + content: "\f43a"; } + +.fa-face-grin-wink::before { + content: "\f58c"; } + +.fa-grin-wink::before { + content: "\f58c"; } + +.fa-ear-deaf::before { + content: "\f2a4"; } + +.fa-deaf::before { + content: "\f2a4"; } + +.fa-deafness::before { + content: "\f2a4"; } + +.fa-hard-of-hearing::before { + content: "\f2a4"; } + +.fa-road-circle-check::before { + content: "\e564"; } + +.fa-dice-five::before { + content: "\f523"; } + +.fa-square-rss::before { + content: "\f143"; } + +.fa-rss-square::before { + content: "\f143"; } + +.fa-land-mine-on::before { + content: "\e51b"; } + +.fa-i-cursor::before { + content: "\f246"; } + +.fa-stamp::before { + content: "\f5bf"; } + +.fa-stairs::before { + content: "\e289"; } + +.fa-i::before { + content: "\49"; } + +.fa-hryvnia-sign::before { + content: "\f6f2"; } + +.fa-hryvnia::before { + content: "\f6f2"; } + +.fa-pills::before { + content: "\f484"; } + +.fa-face-grin-wide::before { + content: "\f581"; } + +.fa-grin-alt::before { + content: "\f581"; } + +.fa-tooth::before { + content: "\f5c9"; } + +.fa-v::before { + content: "\56"; } + +.fa-bangladeshi-taka-sign::before { + content: "\e2e6"; } + +.fa-bicycle::before { + content: "\f206"; } + +.fa-staff-snake::before { + content: "\e579"; } + +.fa-rod-asclepius::before { + content: "\e579"; } + +.fa-rod-snake::before { + content: "\e579"; } + +.fa-staff-aesculapius::before { + content: "\e579"; } + +.fa-head-side-cough-slash::before { + content: "\e062"; } + +.fa-truck-medical::before { + content: "\f0f9"; } + +.fa-ambulance::before { + content: "\f0f9"; } + +.fa-wheat-awn-circle-exclamation::before { + content: "\e598"; } + +.fa-snowman::before { + content: "\f7d0"; } + +.fa-mortar-pestle::before { + content: "\f5a7"; } + +.fa-road-barrier::before { + content: "\e562"; } + +.fa-school::before { + content: "\f549"; } + +.fa-igloo::before { + content: "\f7ae"; } + +.fa-joint::before { + content: "\f595"; } + +.fa-angle-right::before { + content: "\f105"; } + +.fa-horse::before { + content: "\f6f0"; } + +.fa-q::before { + content: "\51"; } + +.fa-g::before { + content: "\47"; } + +.fa-notes-medical::before { + content: "\f481"; } + +.fa-temperature-half::before { + content: "\f2c9"; } + +.fa-temperature-2::before { + content: "\f2c9"; } + +.fa-thermometer-2::before { + content: "\f2c9"; } + +.fa-thermometer-half::before { + content: "\f2c9"; } + +.fa-dong-sign::before { + content: "\e169"; } + +.fa-capsules::before { + content: "\f46b"; } + +.fa-poo-storm::before { + content: "\f75a"; } + +.fa-poo-bolt::before { + content: "\f75a"; } + +.fa-face-frown-open::before { + content: "\f57a"; } + +.fa-frown-open::before { + content: "\f57a"; } + +.fa-hand-point-up::before { + content: "\f0a6"; } + +.fa-money-bill::before { + content: "\f0d6"; } + +.fa-bookmark::before { + content: "\f02e"; } + +.fa-align-justify::before { + content: "\f039"; } + +.fa-umbrella-beach::before { + content: "\f5ca"; } + +.fa-helmet-un::before { + content: "\e503"; } + +.fa-bullseye::before { + content: "\f140"; } + +.fa-bacon::before { + content: "\f7e5"; } + +.fa-hand-point-down::before { + content: "\f0a7"; } + +.fa-arrow-up-from-bracket::before { + content: "\e09a"; } + +.fa-folder::before { + content: "\f07b"; } + +.fa-folder-blank::before { + content: "\f07b"; } + +.fa-file-waveform::before { + content: "\f478"; } + +.fa-file-medical-alt::before { + content: "\f478"; } + +.fa-radiation::before { + content: "\f7b9"; } + +.fa-chart-simple::before { + content: "\e473"; } + +.fa-mars-stroke::before { + content: "\f229"; } + +.fa-vial::before { + content: "\f492"; } + +.fa-gauge::before { + content: "\f624"; } + +.fa-dashboard::before { + content: "\f624"; } + +.fa-gauge-med::before { + content: "\f624"; } + +.fa-tachometer-alt-average::before { + content: "\f624"; } + +.fa-wand-magic-sparkles::before { + content: "\e2ca"; } + +.fa-magic-wand-sparkles::before { + content: "\e2ca"; } + +.fa-e::before { + content: "\45"; } + +.fa-pen-clip::before { + content: "\f305"; } + +.fa-pen-alt::before { + content: "\f305"; } + +.fa-bridge-circle-exclamation::before { + content: "\e4ca"; } + +.fa-user::before { + content: "\f007"; } + +.fa-school-circle-check::before { + content: "\e56b"; } + +.fa-dumpster::before { + content: "\f793"; } + +.fa-van-shuttle::before { + content: "\f5b6"; } + +.fa-shuttle-van::before { + content: "\f5b6"; } + +.fa-building-user::before { + content: "\e4da"; } + +.fa-square-caret-left::before { + content: "\f191"; } + +.fa-caret-square-left::before { + content: "\f191"; } + +.fa-highlighter::before { + content: "\f591"; } + +.fa-key::before { + content: "\f084"; } + +.fa-bullhorn::before { + content: "\f0a1"; } + +.fa-globe::before { + content: "\f0ac"; } + +.fa-synagogue::before { + content: "\f69b"; } + +.fa-person-half-dress::before { + content: "\e548"; } + +.fa-road-bridge::before { + content: "\e563"; } + +.fa-location-arrow::before { + content: "\f124"; } + +.fa-c::before { + content: "\43"; } + +.fa-tablet-button::before { + content: "\f10a"; } + +.fa-building-lock::before { + content: "\e4d6"; } + +.fa-pizza-slice::before { + content: "\f818"; } + +.fa-money-bill-wave::before { + content: "\f53a"; } + +.fa-chart-area::before { + content: "\f1fe"; } + +.fa-area-chart::before { + content: "\f1fe"; } + +.fa-house-flag::before { + content: "\e50d"; } + +.fa-person-circle-minus::before { + content: "\e540"; } + +.fa-ban::before { + content: "\f05e"; } + +.fa-cancel::before { + content: "\f05e"; } + +.fa-camera-rotate::before { + content: "\e0d8"; } + +.fa-spray-can-sparkles::before { + content: "\f5d0"; } + +.fa-air-freshener::before { + content: "\f5d0"; } + +.fa-star::before { + content: "\f005"; } + +.fa-repeat::before { + content: "\f363"; } + +.fa-cross::before { + content: "\f654"; } + +.fa-box::before { + content: "\f466"; } + +.fa-venus-mars::before { + content: "\f228"; } + +.fa-arrow-pointer::before { + content: "\f245"; } + +.fa-mouse-pointer::before { + content: "\f245"; } + +.fa-maximize::before { + content: "\f31e"; } + +.fa-expand-arrows-alt::before { + content: "\f31e"; } + +.fa-charging-station::before { + content: "\f5e7"; } + +.fa-shapes::before { + content: "\f61f"; } + +.fa-triangle-circle-square::before { + content: "\f61f"; } + +.fa-shuffle::before { + content: "\f074"; } + +.fa-random::before { + content: "\f074"; } + +.fa-person-running::before { + content: "\f70c"; } + +.fa-running::before { + content: "\f70c"; } + +.fa-mobile-retro::before { + content: "\e527"; } + +.fa-grip-lines-vertical::before { + content: "\f7a5"; } + +.fa-spider::before { + content: "\f717"; } + +.fa-hands-bound::before { + content: "\e4f9"; } + +.fa-file-invoice-dollar::before { + content: "\f571"; } + +.fa-plane-circle-exclamation::before { + content: "\e556"; } + +.fa-x-ray::before { + content: "\f497"; } + +.fa-spell-check::before { + content: "\f891"; } + +.fa-slash::before { + content: "\f715"; } + +.fa-computer-mouse::before { + content: "\f8cc"; } + +.fa-mouse::before { + content: "\f8cc"; } + +.fa-arrow-right-to-bracket::before { + content: "\f090"; } + +.fa-sign-in::before { + content: "\f090"; } + +.fa-shop-slash::before { + content: "\e070"; } + +.fa-store-alt-slash::before { + content: "\e070"; } + +.fa-server::before { + content: "\f233"; } + +.fa-virus-covid-slash::before { + content: "\e4a9"; } + +.fa-shop-lock::before { + content: "\e4a5"; } + +.fa-hourglass-start::before { + content: "\f251"; } + +.fa-hourglass-1::before { + content: "\f251"; } + +.fa-blender-phone::before { + content: "\f6b6"; } + +.fa-building-wheat::before { + content: "\e4db"; } + +.fa-person-breastfeeding::before { + content: "\e53a"; } + +.fa-right-to-bracket::before { + content: "\f2f6"; } + +.fa-sign-in-alt::before { + content: "\f2f6"; } + +.fa-venus::before { + content: "\f221"; } + +.fa-passport::before { + content: "\f5ab"; } + +.fa-heart-pulse::before { + content: "\f21e"; } + +.fa-heartbeat::before { + content: "\f21e"; } + +.fa-people-carry-box::before { + content: "\f4ce"; } + +.fa-people-carry::before { + content: "\f4ce"; } + +.fa-temperature-high::before { + content: "\f769"; } + +.fa-microchip::before { + content: "\f2db"; } + +.fa-crown::before { + content: "\f521"; } + +.fa-weight-hanging::before { + content: "\f5cd"; } + +.fa-xmarks-lines::before { + content: "\e59a"; } + +.fa-file-prescription::before { + content: "\f572"; } + +.fa-weight-scale::before { + content: "\f496"; } + +.fa-weight::before { + content: "\f496"; } + +.fa-user-group::before { + content: "\f500"; } + +.fa-user-friends::before { + content: "\f500"; } + +.fa-arrow-up-a-z::before { + content: "\f15e"; } + +.fa-sort-alpha-up::before { + content: "\f15e"; } + +.fa-chess-knight::before { + content: "\f441"; } + +.fa-face-laugh-squint::before { + content: "\f59b"; } + +.fa-laugh-squint::before { + content: "\f59b"; } + +.fa-wheelchair::before { + content: "\f193"; } + +.fa-circle-arrow-up::before { + content: "\f0aa"; } + +.fa-arrow-circle-up::before { + content: "\f0aa"; } + +.fa-toggle-on::before { + content: "\f205"; } + +.fa-person-walking::before { + content: "\f554"; } + +.fa-walking::before { + content: "\f554"; } + +.fa-l::before { + content: "\4c"; } + +.fa-fire::before { + content: "\f06d"; } + +.fa-bed-pulse::before { + content: "\f487"; } + +.fa-procedures::before { + content: "\f487"; } + +.fa-shuttle-space::before { + content: "\f197"; } + +.fa-space-shuttle::before { + content: "\f197"; } + +.fa-face-laugh::before { + content: "\f599"; } + +.fa-laugh::before { + content: "\f599"; } + +.fa-folder-open::before { + content: "\f07c"; } + +.fa-heart-circle-plus::before { + content: "\e500"; } + +.fa-code-fork::before { + content: "\e13b"; } + +.fa-city::before { + content: "\f64f"; } + +.fa-microphone-lines::before { + content: "\f3c9"; } + +.fa-microphone-alt::before { + content: "\f3c9"; } + +.fa-pepper-hot::before { + content: "\f816"; } + +.fa-unlock::before { + content: "\f09c"; } + +.fa-colon-sign::before { + content: "\e140"; } + +.fa-headset::before { + content: "\f590"; } + +.fa-store-slash::before { + content: "\e071"; } + +.fa-road-circle-xmark::before { + content: "\e566"; } + +.fa-user-minus::before { + content: "\f503"; } + +.fa-mars-stroke-up::before { + content: "\f22a"; } + +.fa-mars-stroke-v::before { + content: "\f22a"; } + +.fa-champagne-glasses::before { + content: "\f79f"; } + +.fa-glass-cheers::before { + content: "\f79f"; } + +.fa-clipboard::before { + content: "\f328"; } + +.fa-house-circle-exclamation::before { + content: "\e50a"; } + +.fa-file-arrow-up::before { + content: "\f574"; } + +.fa-file-upload::before { + content: "\f574"; } + +.fa-wifi::before { + content: "\f1eb"; } + +.fa-wifi-3::before { + content: "\f1eb"; } + +.fa-wifi-strong::before { + content: "\f1eb"; } + +.fa-bath::before { + content: "\f2cd"; } + +.fa-bathtub::before { + content: "\f2cd"; } + +.fa-underline::before { + content: "\f0cd"; } + +.fa-user-pen::before { + content: "\f4ff"; } + +.fa-user-edit::before { + content: "\f4ff"; } + +.fa-signature::before { + content: "\f5b7"; } + +.fa-stroopwafel::before { + content: "\f551"; } + +.fa-bold::before { + content: "\f032"; } + +.fa-anchor-lock::before { + content: "\e4ad"; } + +.fa-building-ngo::before { + content: "\e4d7"; } + +.fa-manat-sign::before { + content: "\e1d5"; } + +.fa-not-equal::before { + content: "\f53e"; } + +.fa-border-top-left::before { + content: "\f853"; } + +.fa-border-style::before { + content: "\f853"; } + +.fa-map-location-dot::before { + content: "\f5a0"; } + +.fa-map-marked-alt::before { + content: "\f5a0"; } + +.fa-jedi::before { + content: "\f669"; } + +.fa-square-poll-vertical::before { + content: "\f681"; } + +.fa-poll::before { + content: "\f681"; } + +.fa-mug-hot::before { + content: "\f7b6"; } + +.fa-car-battery::before { + content: "\f5df"; } + +.fa-battery-car::before { + content: "\f5df"; } + +.fa-gift::before { + content: "\f06b"; } + +.fa-dice-two::before { + content: "\f528"; } + +.fa-chess-queen::before { + content: "\f445"; } + +.fa-glasses::before { + content: "\f530"; } + +.fa-chess-board::before { + content: "\f43c"; } + +.fa-building-circle-check::before { + content: "\e4d2"; } + +.fa-person-chalkboard::before { + content: "\e53d"; } + +.fa-mars-stroke-right::before { + content: "\f22b"; } + +.fa-mars-stroke-h::before { + content: "\f22b"; } + +.fa-hand-back-fist::before { + content: "\f255"; } + +.fa-hand-rock::before { + content: "\f255"; } + +.fa-square-caret-up::before { + content: "\f151"; } + +.fa-caret-square-up::before { + content: "\f151"; } + +.fa-cloud-showers-water::before { + content: "\e4e4"; } + +.fa-chart-bar::before { + content: "\f080"; } + +.fa-bar-chart::before { + content: "\f080"; } + +.fa-hands-bubbles::before { + content: "\e05e"; } + +.fa-hands-wash::before { + content: "\e05e"; } + +.fa-less-than-equal::before { + content: "\f537"; } + +.fa-train::before { + content: "\f238"; } + +.fa-eye-low-vision::before { + content: "\f2a8"; } + +.fa-low-vision::before { + content: "\f2a8"; } + +.fa-crow::before { + content: "\f520"; } + +.fa-sailboat::before { + content: "\e445"; } + +.fa-window-restore::before { + content: "\f2d2"; } + +.fa-square-plus::before { + content: "\f0fe"; } + +.fa-plus-square::before { + content: "\f0fe"; } + +.fa-torii-gate::before { + content: "\f6a1"; } + +.fa-frog::before { + content: "\f52e"; } + +.fa-bucket::before { + content: "\e4cf"; } + +.fa-image::before { + content: "\f03e"; } + +.fa-microphone::before { + content: "\f130"; } + +.fa-cow::before { + content: "\f6c8"; } + +.fa-caret-up::before { + content: "\f0d8"; } + +.fa-screwdriver::before { + content: "\f54a"; } + +.fa-folder-closed::before { + content: "\e185"; } + +.fa-house-tsunami::before { + content: "\e515"; } + +.fa-square-nfi::before { + content: "\e576"; } + +.fa-arrow-up-from-ground-water::before { + content: "\e4b5"; } + +.fa-martini-glass::before { + content: "\f57b"; } + +.fa-glass-martini-alt::before { + content: "\f57b"; } + +.fa-rotate-left::before { + content: "\f2ea"; } + +.fa-rotate-back::before { + content: "\f2ea"; } + +.fa-rotate-backward::before { + content: "\f2ea"; } + +.fa-undo-alt::before { + content: "\f2ea"; } + +.fa-table-columns::before { + content: "\f0db"; } + +.fa-columns::before { + content: "\f0db"; } + +.fa-lemon::before { + content: "\f094"; } + +.fa-head-side-mask::before { + content: "\e063"; } + +.fa-handshake::before { + content: "\f2b5"; } + +.fa-gem::before { + content: "\f3a5"; } + +.fa-dolly::before { + content: "\f472"; } + +.fa-dolly-box::before { + content: "\f472"; } + +.fa-smoking::before { + content: "\f48d"; } + +.fa-minimize::before { + content: "\f78c"; } + +.fa-compress-arrows-alt::before { + content: "\f78c"; } + +.fa-monument::before { + content: "\f5a6"; } + +.fa-snowplow::before { + content: "\f7d2"; } + +.fa-angles-right::before { + content: "\f101"; } + +.fa-angle-double-right::before { + content: "\f101"; } + +.fa-cannabis::before { + content: "\f55f"; } + +.fa-circle-play::before { + content: "\f144"; } + +.fa-play-circle::before { + content: "\f144"; } + +.fa-tablets::before { + content: "\f490"; } + +.fa-ethernet::before { + content: "\f796"; } + +.fa-euro-sign::before { + content: "\f153"; } + +.fa-eur::before { + content: "\f153"; } + +.fa-euro::before { + content: "\f153"; } + +.fa-chair::before { + content: "\f6c0"; } + +.fa-circle-check::before { + content: "\f058"; } + +.fa-check-circle::before { + content: "\f058"; } + +.fa-circle-stop::before { + content: "\f28d"; } + +.fa-stop-circle::before { + content: "\f28d"; } + +.fa-compass-drafting::before { + content: "\f568"; } + +.fa-drafting-compass::before { + content: "\f568"; } + +.fa-plate-wheat::before { + content: "\e55a"; } + +.fa-icicles::before { + content: "\f7ad"; } + +.fa-person-shelter::before { + content: "\e54f"; } + +.fa-neuter::before { + content: "\f22c"; } + +.fa-id-badge::before { + content: "\f2c1"; } + +.fa-marker::before { + content: "\f5a1"; } + +.fa-face-laugh-beam::before { + content: "\f59a"; } + +.fa-laugh-beam::before { + content: "\f59a"; } + +.fa-helicopter-symbol::before { + content: "\e502"; } + +.fa-universal-access::before { + content: "\f29a"; } + +.fa-circle-chevron-up::before { + content: "\f139"; } + +.fa-chevron-circle-up::before { + content: "\f139"; } + +.fa-lari-sign::before { + content: "\e1c8"; } + +.fa-volcano::before { + content: "\f770"; } + +.fa-person-walking-dashed-line-arrow-right::before { + content: "\e553"; } + +.fa-sterling-sign::before { + content: "\f154"; } + +.fa-gbp::before { + content: "\f154"; } + +.fa-pound-sign::before { + content: "\f154"; } + +.fa-viruses::before { + content: "\e076"; } + +.fa-square-person-confined::before { + content: "\e577"; } + +.fa-user-tie::before { + content: "\f508"; } + +.fa-arrow-down-long::before { + content: "\f175"; } + +.fa-long-arrow-down::before { + content: "\f175"; } + +.fa-tent-arrow-down-to-line::before { + content: "\e57e"; } + +.fa-certificate::before { + content: "\f0a3"; } + +.fa-reply-all::before { + content: "\f122"; } + +.fa-mail-reply-all::before { + content: "\f122"; } + +.fa-suitcase::before { + content: "\f0f2"; } + +.fa-person-skating::before { + content: "\f7c5"; } + +.fa-skating::before { + content: "\f7c5"; } + +.fa-filter-circle-dollar::before { + content: "\f662"; } + +.fa-funnel-dollar::before { + content: "\f662"; } + +.fa-camera-retro::before { + content: "\f083"; } + +.fa-circle-arrow-down::before { + content: "\f0ab"; } + +.fa-arrow-circle-down::before { + content: "\f0ab"; } + +.fa-file-import::before { + content: "\f56f"; } + +.fa-arrow-right-to-file::before { + content: "\f56f"; } + +.fa-square-arrow-up-right::before { + content: "\f14c"; } + +.fa-external-link-square::before { + content: "\f14c"; } + +.fa-box-open::before { + content: "\f49e"; } + +.fa-scroll::before { + content: "\f70e"; } + +.fa-spa::before { + content: "\f5bb"; } + +.fa-location-pin-lock::before { + content: "\e51f"; } + +.fa-pause::before { + content: "\f04c"; } + +.fa-hill-avalanche::before { + content: "\e507"; } + +.fa-temperature-empty::before { + content: "\f2cb"; } + +.fa-temperature-0::before { + content: "\f2cb"; } + +.fa-thermometer-0::before { + content: "\f2cb"; } + +.fa-thermometer-empty::before { + content: "\f2cb"; } + +.fa-bomb::before { + content: "\f1e2"; } + +.fa-registered::before { + content: "\f25d"; } + +.fa-address-card::before { + content: "\f2bb"; } + +.fa-contact-card::before { + content: "\f2bb"; } + +.fa-vcard::before { + content: "\f2bb"; } + +.fa-scale-unbalanced-flip::before { + content: "\f516"; } + +.fa-balance-scale-right::before { + content: "\f516"; } + +.fa-subscript::before { + content: "\f12c"; } + +.fa-diamond-turn-right::before { + content: "\f5eb"; } + +.fa-directions::before { + content: "\f5eb"; } + +.fa-burst::before { + content: "\e4dc"; } + +.fa-house-laptop::before { + content: "\e066"; } + +.fa-laptop-house::before { + content: "\e066"; } + +.fa-face-tired::before { + content: "\f5c8"; } + +.fa-tired::before { + content: "\f5c8"; } + +.fa-money-bills::before { + content: "\e1f3"; } + +.fa-smog::before { + content: "\f75f"; } + +.fa-crutch::before { + content: "\f7f7"; } + +.fa-cloud-arrow-up::before { + content: "\f0ee"; } + +.fa-cloud-upload::before { + content: "\f0ee"; } + +.fa-cloud-upload-alt::before { + content: "\f0ee"; } + +.fa-palette::before { + content: "\f53f"; } + +.fa-arrows-turn-right::before { + content: "\e4c0"; } + +.fa-vest::before { + content: "\e085"; } + +.fa-ferry::before { + content: "\e4ea"; } + +.fa-arrows-down-to-people::before { + content: "\e4b9"; } + +.fa-seedling::before { + content: "\f4d8"; } + +.fa-sprout::before { + content: "\f4d8"; } + +.fa-left-right::before { + content: "\f337"; } + +.fa-arrows-alt-h::before { + content: "\f337"; } + +.fa-boxes-packing::before { + content: "\e4c7"; } + +.fa-circle-arrow-left::before { + content: "\f0a8"; } + +.fa-arrow-circle-left::before { + content: "\f0a8"; } + +.fa-group-arrows-rotate::before { + content: "\e4f6"; } + +.fa-bowl-food::before { + content: "\e4c6"; } + +.fa-candy-cane::before { + content: "\f786"; } + +.fa-arrow-down-wide-short::before { + content: "\f160"; } + +.fa-sort-amount-asc::before { + content: "\f160"; } + +.fa-sort-amount-down::before { + content: "\f160"; } + +.fa-cloud-bolt::before { + content: "\f76c"; } + +.fa-thunderstorm::before { + content: "\f76c"; } + +.fa-text-slash::before { + content: "\f87d"; } + +.fa-remove-format::before { + content: "\f87d"; } + +.fa-face-smile-wink::before { + content: "\f4da"; } + +.fa-smile-wink::before { + content: "\f4da"; } + +.fa-file-word::before { + content: "\f1c2"; } + +.fa-file-powerpoint::before { + content: "\f1c4"; } + +.fa-arrows-left-right::before { + content: "\f07e"; } + +.fa-arrows-h::before { + content: "\f07e"; } + +.fa-house-lock::before { + content: "\e510"; } + +.fa-cloud-arrow-down::before { + content: "\f0ed"; } + +.fa-cloud-download::before { + content: "\f0ed"; } + +.fa-cloud-download-alt::before { + content: "\f0ed"; } + +.fa-children::before { + content: "\e4e1"; } + +.fa-chalkboard::before { + content: "\f51b"; } + +.fa-blackboard::before { + content: "\f51b"; } + +.fa-user-large-slash::before { + content: "\f4fa"; } + +.fa-user-alt-slash::before { + content: "\f4fa"; } + +.fa-envelope-open::before { + content: "\f2b6"; } + +.fa-handshake-simple-slash::before { + content: "\e05f"; } + +.fa-handshake-alt-slash::before { + content: "\e05f"; } + +.fa-mattress-pillow::before { + content: "\e525"; } + +.fa-guarani-sign::before { + content: "\e19a"; } + +.fa-arrows-rotate::before { + content: "\f021"; } + +.fa-refresh::before { + content: "\f021"; } + +.fa-sync::before { + content: "\f021"; } + +.fa-fire-extinguisher::before { + content: "\f134"; } + +.fa-cruzeiro-sign::before { + content: "\e152"; } + +.fa-greater-than-equal::before { + content: "\f532"; } + +.fa-shield-halved::before { + content: "\f3ed"; } + +.fa-shield-alt::before { + content: "\f3ed"; } + +.fa-book-atlas::before { + content: "\f558"; } + +.fa-atlas::before { + content: "\f558"; } + +.fa-virus::before { + content: "\e074"; } + +.fa-envelope-circle-check::before { + content: "\e4e8"; } + +.fa-layer-group::before { + content: "\f5fd"; } + +.fa-arrows-to-dot::before { + content: "\e4be"; } + +.fa-archway::before { + content: "\f557"; } + +.fa-heart-circle-check::before { + content: "\e4fd"; } + +.fa-house-chimney-crack::before { + content: "\f6f1"; } + +.fa-house-damage::before { + content: "\f6f1"; } + +.fa-file-zipper::before { + content: "\f1c6"; } + +.fa-file-archive::before { + content: "\f1c6"; } + +.fa-square::before { + content: "\f0c8"; } + +.fa-martini-glass-empty::before { + content: "\f000"; } + +.fa-glass-martini::before { + content: "\f000"; } + +.fa-couch::before { + content: "\f4b8"; } + +.fa-cedi-sign::before { + content: "\e0df"; } + +.fa-italic::before { + content: "\f033"; } + +.fa-table-cells-column-lock::before { + content: "\e678"; } + +.fa-church::before { + content: "\f51d"; } + +.fa-comments-dollar::before { + content: "\f653"; } + +.fa-democrat::before { + content: "\f747"; } + +.fa-z::before { + content: "\5a"; } + +.fa-person-skiing::before { + content: "\f7c9"; } + +.fa-skiing::before { + content: "\f7c9"; } + +.fa-road-lock::before { + content: "\e567"; } + +.fa-a::before { + content: "\41"; } + +.fa-temperature-arrow-down::before { + content: "\e03f"; } + +.fa-temperature-down::before { + content: "\e03f"; } + +.fa-feather-pointed::before { + content: "\f56b"; } + +.fa-feather-alt::before { + content: "\f56b"; } + +.fa-p::before { + content: "\50"; } + +.fa-snowflake::before { + content: "\f2dc"; } + +.fa-newspaper::before { + content: "\f1ea"; } + +.fa-rectangle-ad::before { + content: "\f641"; } + +.fa-ad::before { + content: "\f641"; } + +.fa-circle-arrow-right::before { + content: "\f0a9"; } + +.fa-arrow-circle-right::before { + content: "\f0a9"; } + +.fa-filter-circle-xmark::before { + content: "\e17b"; } + +.fa-locust::before { + content: "\e520"; } + +.fa-sort::before { + content: "\f0dc"; } + +.fa-unsorted::before { + content: "\f0dc"; } + +.fa-list-ol::before { + content: "\f0cb"; } + +.fa-list-1-2::before { + content: "\f0cb"; } + +.fa-list-numeric::before { + content: "\f0cb"; } + +.fa-person-dress-burst::before { + content: "\e544"; } + +.fa-money-check-dollar::before { + content: "\f53d"; } + +.fa-money-check-alt::before { + content: "\f53d"; } + +.fa-vector-square::before { + content: "\f5cb"; } + +.fa-bread-slice::before { + content: "\f7ec"; } + +.fa-language::before { + content: "\f1ab"; } + +.fa-face-kiss-wink-heart::before { + content: "\f598"; } + +.fa-kiss-wink-heart::before { + content: "\f598"; } + +.fa-filter::before { + content: "\f0b0"; } + +.fa-question::before { + content: "\3f"; } + +.fa-file-signature::before { + content: "\f573"; } + +.fa-up-down-left-right::before { + content: "\f0b2"; } + +.fa-arrows-alt::before { + content: "\f0b2"; } + +.fa-house-chimney-user::before { + content: "\e065"; } + +.fa-hand-holding-heart::before { + content: "\f4be"; } + +.fa-puzzle-piece::before { + content: "\f12e"; } + +.fa-money-check::before { + content: "\f53c"; } + +.fa-star-half-stroke::before { + content: "\f5c0"; } + +.fa-star-half-alt::before { + content: "\f5c0"; } + +.fa-code::before { + content: "\f121"; } + +.fa-whiskey-glass::before { + content: "\f7a0"; } + +.fa-glass-whiskey::before { + content: "\f7a0"; } + +.fa-building-circle-exclamation::before { + content: "\e4d3"; } + +.fa-magnifying-glass-chart::before { + content: "\e522"; } + +.fa-arrow-up-right-from-square::before { + content: "\f08e"; } + +.fa-external-link::before { + content: "\f08e"; } + +.fa-cubes-stacked::before { + content: "\e4e6"; } + +.fa-won-sign::before { + content: "\f159"; } + +.fa-krw::before { + content: "\f159"; } + +.fa-won::before { + content: "\f159"; } + +.fa-virus-covid::before { + content: "\e4a8"; } + +.fa-austral-sign::before { + content: "\e0a9"; } + +.fa-f::before { + content: "\46"; } + +.fa-leaf::before { + content: "\f06c"; } + +.fa-road::before { + content: "\f018"; } + +.fa-taxi::before { + content: "\f1ba"; } + +.fa-cab::before { + content: "\f1ba"; } + +.fa-person-circle-plus::before { + content: "\e541"; } + +.fa-chart-pie::before { + content: "\f200"; } + +.fa-pie-chart::before { + content: "\f200"; } + +.fa-bolt-lightning::before { + content: "\e0b7"; } + +.fa-sack-xmark::before { + content: "\e56a"; } + +.fa-file-excel::before { + content: "\f1c3"; } + +.fa-file-contract::before { + content: "\f56c"; } + +.fa-fish-fins::before { + content: "\e4f2"; } + +.fa-building-flag::before { + content: "\e4d5"; } + +.fa-face-grin-beam::before { + content: "\f582"; } + +.fa-grin-beam::before { + content: "\f582"; } + +.fa-object-ungroup::before { + content: "\f248"; } + +.fa-poop::before { + content: "\f619"; } + +.fa-location-pin::before { + content: "\f041"; } + +.fa-map-marker::before { + content: "\f041"; } + +.fa-kaaba::before { + content: "\f66b"; } + +.fa-toilet-paper::before { + content: "\f71e"; } + +.fa-helmet-safety::before { + content: "\f807"; } + +.fa-hard-hat::before { + content: "\f807"; } + +.fa-hat-hard::before { + content: "\f807"; } + +.fa-eject::before { + content: "\f052"; } + +.fa-circle-right::before { + content: "\f35a"; } + +.fa-arrow-alt-circle-right::before { + content: "\f35a"; } + +.fa-plane-circle-check::before { + content: "\e555"; } + +.fa-face-rolling-eyes::before { + content: "\f5a5"; } + +.fa-meh-rolling-eyes::before { + content: "\f5a5"; } + +.fa-object-group::before { + content: "\f247"; } + +.fa-chart-line::before { + content: "\f201"; } + +.fa-line-chart::before { + content: "\f201"; } + +.fa-mask-ventilator::before { + content: "\e524"; } + +.fa-arrow-right::before { + content: "\f061"; } + +.fa-signs-post::before { + content: "\f277"; } + +.fa-map-signs::before { + content: "\f277"; } + +.fa-cash-register::before { + content: "\f788"; } + +.fa-person-circle-question::before { + content: "\e542"; } + +.fa-h::before { + content: "\48"; } + +.fa-tarp::before { + content: "\e57b"; } + +.fa-screwdriver-wrench::before { + content: "\f7d9"; } + +.fa-tools::before { + content: "\f7d9"; } + +.fa-arrows-to-eye::before { + content: "\e4bf"; } + +.fa-plug-circle-bolt::before { + content: "\e55b"; } + +.fa-heart::before { + content: "\f004"; } + +.fa-mars-and-venus::before { + content: "\f224"; } + +.fa-house-user::before { + content: "\e1b0"; } + +.fa-home-user::before { + content: "\e1b0"; } + +.fa-dumpster-fire::before { + content: "\f794"; } + +.fa-house-crack::before { + content: "\e3b1"; } + +.fa-martini-glass-citrus::before { + content: "\f561"; } + +.fa-cocktail::before { + content: "\f561"; } + +.fa-face-surprise::before { + content: "\f5c2"; } + +.fa-surprise::before { + content: "\f5c2"; } + +.fa-bottle-water::before { + content: "\e4c5"; } + +.fa-circle-pause::before { + content: "\f28b"; } + +.fa-pause-circle::before { + content: "\f28b"; } + +.fa-toilet-paper-slash::before { + content: "\e072"; } + +.fa-apple-whole::before { + content: "\f5d1"; } + +.fa-apple-alt::before { + content: "\f5d1"; } + +.fa-kitchen-set::before { + content: "\e51a"; } + +.fa-r::before { + content: "\52"; } + +.fa-temperature-quarter::before { + content: "\f2ca"; } + +.fa-temperature-1::before { + content: "\f2ca"; } + +.fa-thermometer-1::before { + content: "\f2ca"; } + +.fa-thermometer-quarter::before { + content: "\f2ca"; } + +.fa-cube::before { + content: "\f1b2"; } + +.fa-bitcoin-sign::before { + content: "\e0b4"; } + +.fa-shield-dog::before { + content: "\e573"; } + +.fa-solar-panel::before { + content: "\f5ba"; } + +.fa-lock-open::before { + content: "\f3c1"; } + +.fa-elevator::before { + content: "\e16d"; } + +.fa-money-bill-transfer::before { + content: "\e528"; } + +.fa-money-bill-trend-up::before { + content: "\e529"; } + +.fa-house-flood-water-circle-arrow-right::before { + content: "\e50f"; } + +.fa-square-poll-horizontal::before { + content: "\f682"; } + +.fa-poll-h::before { + content: "\f682"; } + +.fa-circle::before { + content: "\f111"; } + +.fa-backward-fast::before { + content: "\f049"; } + +.fa-fast-backward::before { + content: "\f049"; } + +.fa-recycle::before { + content: "\f1b8"; } + +.fa-user-astronaut::before { + content: "\f4fb"; } + +.fa-plane-slash::before { + content: "\e069"; } + +.fa-trademark::before { + content: "\f25c"; } + +.fa-basketball::before { + content: "\f434"; } + +.fa-basketball-ball::before { + content: "\f434"; } + +.fa-satellite-dish::before { + content: "\f7c0"; } + +.fa-circle-up::before { + content: "\f35b"; } + +.fa-arrow-alt-circle-up::before { + content: "\f35b"; } + +.fa-mobile-screen-button::before { + content: "\f3cd"; } + +.fa-mobile-alt::before { + content: "\f3cd"; } + +.fa-volume-high::before { + content: "\f028"; } + +.fa-volume-up::before { + content: "\f028"; } + +.fa-users-rays::before { + content: "\e593"; } + +.fa-wallet::before { + content: "\f555"; } + +.fa-clipboard-check::before { + content: "\f46c"; } + +.fa-file-audio::before { + content: "\f1c7"; } + +.fa-burger::before { + content: "\f805"; } + +.fa-hamburger::before { + content: "\f805"; } + +.fa-wrench::before { + content: "\f0ad"; } + +.fa-bugs::before { + content: "\e4d0"; } + +.fa-rupee-sign::before { + content: "\f156"; } + +.fa-rupee::before { + content: "\f156"; } + +.fa-file-image::before { + content: "\f1c5"; } + +.fa-circle-question::before { + content: "\f059"; } + +.fa-question-circle::before { + content: "\f059"; } + +.fa-plane-departure::before { + content: "\f5b0"; } + +.fa-handshake-slash::before { + content: "\e060"; } + +.fa-book-bookmark::before { + content: "\e0bb"; } + +.fa-code-branch::before { + content: "\f126"; } + +.fa-hat-cowboy::before { + content: "\f8c0"; } + +.fa-bridge::before { + content: "\e4c8"; } + +.fa-phone-flip::before { + content: "\f879"; } + +.fa-phone-alt::before { + content: "\f879"; } + +.fa-truck-front::before { + content: "\e2b7"; } + +.fa-cat::before { + content: "\f6be"; } + +.fa-anchor-circle-exclamation::before { + content: "\e4ab"; } + +.fa-truck-field::before { + content: "\e58d"; } + +.fa-route::before { + content: "\f4d7"; } + +.fa-clipboard-question::before { + content: "\e4e3"; } + +.fa-panorama::before { + content: "\e209"; } + +.fa-comment-medical::before { + content: "\f7f5"; } + +.fa-teeth-open::before { + content: "\f62f"; } + +.fa-file-circle-minus::before { + content: "\e4ed"; } + +.fa-tags::before { + content: "\f02c"; } + +.fa-wine-glass::before { + content: "\f4e3"; } + +.fa-forward-fast::before { + content: "\f050"; } + +.fa-fast-forward::before { + content: "\f050"; } + +.fa-face-meh-blank::before { + content: "\f5a4"; } + +.fa-meh-blank::before { + content: "\f5a4"; } + +.fa-square-parking::before { + content: "\f540"; } + +.fa-parking::before { + content: "\f540"; } + +.fa-house-signal::before { + content: "\e012"; } + +.fa-bars-progress::before { + content: "\f828"; } + +.fa-tasks-alt::before { + content: "\f828"; } + +.fa-faucet-drip::before { + content: "\e006"; } + +.fa-cart-flatbed::before { + content: "\f474"; } + +.fa-dolly-flatbed::before { + content: "\f474"; } + +.fa-ban-smoking::before { + content: "\f54d"; } + +.fa-smoking-ban::before { + content: "\f54d"; } + +.fa-terminal::before { + content: "\f120"; } + +.fa-mobile-button::before { + content: "\f10b"; } + +.fa-house-medical-flag::before { + content: "\e514"; } + +.fa-basket-shopping::before { + content: "\f291"; } + +.fa-shopping-basket::before { + content: "\f291"; } + +.fa-tape::before { + content: "\f4db"; } + +.fa-bus-simple::before { + content: "\f55e"; } + +.fa-bus-alt::before { + content: "\f55e"; } + +.fa-eye::before { + content: "\f06e"; } + +.fa-face-sad-cry::before { + content: "\f5b3"; } + +.fa-sad-cry::before { + content: "\f5b3"; } + +.fa-audio-description::before { + content: "\f29e"; } + +.fa-person-military-to-person::before { + content: "\e54c"; } + +.fa-file-shield::before { + content: "\e4f0"; } + +.fa-user-slash::before { + content: "\f506"; } + +.fa-pen::before { + content: "\f304"; } + +.fa-tower-observation::before { + content: "\e586"; } + +.fa-file-code::before { + content: "\f1c9"; } + +.fa-signal::before { + content: "\f012"; } + +.fa-signal-5::before { + content: "\f012"; } + +.fa-signal-perfect::before { + content: "\f012"; } + +.fa-bus::before { + content: "\f207"; } + +.fa-heart-circle-xmark::before { + content: "\e501"; } + +.fa-house-chimney::before { + content: "\e3af"; } + +.fa-home-lg::before { + content: "\e3af"; } + +.fa-window-maximize::before { + content: "\f2d0"; } + +.fa-face-frown::before { + content: "\f119"; } + +.fa-frown::before { + content: "\f119"; } + +.fa-prescription::before { + content: "\f5b1"; } + +.fa-shop::before { + content: "\f54f"; } + +.fa-store-alt::before { + content: "\f54f"; } + +.fa-floppy-disk::before { + content: "\f0c7"; } + +.fa-save::before { + content: "\f0c7"; } + +.fa-vihara::before { + content: "\f6a7"; } + +.fa-scale-unbalanced::before { + content: "\f515"; } + +.fa-balance-scale-left::before { + content: "\f515"; } + +.fa-sort-up::before { + content: "\f0de"; } + +.fa-sort-asc::before { + content: "\f0de"; } + +.fa-comment-dots::before { + content: "\f4ad"; } + +.fa-commenting::before { + content: "\f4ad"; } + +.fa-plant-wilt::before { + content: "\e5aa"; } + +.fa-diamond::before { + content: "\f219"; } + +.fa-face-grin-squint::before { + content: "\f585"; } + +.fa-grin-squint::before { + content: "\f585"; } + +.fa-hand-holding-dollar::before { + content: "\f4c0"; } + +.fa-hand-holding-usd::before { + content: "\f4c0"; } + +.fa-bacterium::before { + content: "\e05a"; } + +.fa-hand-pointer::before { + content: "\f25a"; } + +.fa-drum-steelpan::before { + content: "\f56a"; } + +.fa-hand-scissors::before { + content: "\f257"; } + +.fa-hands-praying::before { + content: "\f684"; } + +.fa-praying-hands::before { + content: "\f684"; } + +.fa-arrow-rotate-right::before { + content: "\f01e"; } + +.fa-arrow-right-rotate::before { + content: "\f01e"; } + +.fa-arrow-rotate-forward::before { + content: "\f01e"; } + +.fa-redo::before { + content: "\f01e"; } + +.fa-biohazard::before { + content: "\f780"; } + +.fa-location-crosshairs::before { + content: "\f601"; } + +.fa-location::before { + content: "\f601"; } + +.fa-mars-double::before { + content: "\f227"; } + +.fa-child-dress::before { + content: "\e59c"; } + +.fa-users-between-lines::before { + content: "\e591"; } + +.fa-lungs-virus::before { + content: "\e067"; } + +.fa-face-grin-tears::before { + content: "\f588"; } + +.fa-grin-tears::before { + content: "\f588"; } + +.fa-phone::before { + content: "\f095"; } + +.fa-calendar-xmark::before { + content: "\f273"; } + +.fa-calendar-times::before { + content: "\f273"; } + +.fa-child-reaching::before { + content: "\e59d"; } + +.fa-head-side-virus::before { + content: "\e064"; } + +.fa-user-gear::before { + content: "\f4fe"; } + +.fa-user-cog::before { + content: "\f4fe"; } + +.fa-arrow-up-1-9::before { + content: "\f163"; } + +.fa-sort-numeric-up::before { + content: "\f163"; } + +.fa-door-closed::before { + content: "\f52a"; } + +.fa-shield-virus::before { + content: "\e06c"; } + +.fa-dice-six::before { + content: "\f526"; } + +.fa-mosquito-net::before { + content: "\e52c"; } + +.fa-bridge-water::before { + content: "\e4ce"; } + +.fa-person-booth::before { + content: "\f756"; } + +.fa-text-width::before { + content: "\f035"; } + +.fa-hat-wizard::before { + content: "\f6e8"; } + +.fa-pen-fancy::before { + content: "\f5ac"; } + +.fa-person-digging::before { + content: "\f85e"; } + +.fa-digging::before { + content: "\f85e"; } + +.fa-trash::before { + content: "\f1f8"; } + +.fa-gauge-simple::before { + content: "\f629"; } + +.fa-gauge-simple-med::before { + content: "\f629"; } + +.fa-tachometer-average::before { + content: "\f629"; } + +.fa-book-medical::before { + content: "\f7e6"; } + +.fa-poo::before { + content: "\f2fe"; } + +.fa-quote-right::before { + content: "\f10e"; } + +.fa-quote-right-alt::before { + content: "\f10e"; } + +.fa-shirt::before { + content: "\f553"; } + +.fa-t-shirt::before { + content: "\f553"; } + +.fa-tshirt::before { + content: "\f553"; } + +.fa-cubes::before { + content: "\f1b3"; } + +.fa-divide::before { + content: "\f529"; } + +.fa-tenge-sign::before { + content: "\f7d7"; } + +.fa-tenge::before { + content: "\f7d7"; } + +.fa-headphones::before { + content: "\f025"; } + +.fa-hands-holding::before { + content: "\f4c2"; } + +.fa-hands-clapping::before { + content: "\e1a8"; } + +.fa-republican::before { + content: "\f75e"; } + +.fa-arrow-left::before { + content: "\f060"; } + +.fa-person-circle-xmark::before { + content: "\e543"; } + +.fa-ruler::before { + content: "\f545"; } + +.fa-align-left::before { + content: "\f036"; } + +.fa-dice-d6::before { + content: "\f6d1"; } + +.fa-restroom::before { + content: "\f7bd"; } + +.fa-j::before { + content: "\4a"; } + +.fa-users-viewfinder::before { + content: "\e595"; } + +.fa-file-video::before { + content: "\f1c8"; } + +.fa-up-right-from-square::before { + content: "\f35d"; } + +.fa-external-link-alt::before { + content: "\f35d"; } + +.fa-table-cells::before { + content: "\f00a"; } + +.fa-th::before { + content: "\f00a"; } + +.fa-file-pdf::before { + content: "\f1c1"; } + +.fa-book-bible::before { + content: "\f647"; } + +.fa-bible::before { + content: "\f647"; } + +.fa-o::before { + content: "\4f"; } + +.fa-suitcase-medical::before { + content: "\f0fa"; } + +.fa-medkit::before { + content: "\f0fa"; } + +.fa-user-secret::before { + content: "\f21b"; } + +.fa-otter::before { + content: "\f700"; } + +.fa-person-dress::before { + content: "\f182"; } + +.fa-female::before { + content: "\f182"; } + +.fa-comment-dollar::before { + content: "\f651"; } + +.fa-business-time::before { + content: "\f64a"; } + +.fa-briefcase-clock::before { + content: "\f64a"; } + +.fa-table-cells-large::before { + content: "\f009"; } + +.fa-th-large::before { + content: "\f009"; } + +.fa-book-tanakh::before { + content: "\f827"; } + +.fa-tanakh::before { + content: "\f827"; } + +.fa-phone-volume::before { + content: "\f2a0"; } + +.fa-volume-control-phone::before { + content: "\f2a0"; } + +.fa-hat-cowboy-side::before { + content: "\f8c1"; } + +.fa-clipboard-user::before { + content: "\f7f3"; } + +.fa-child::before { + content: "\f1ae"; } + +.fa-lira-sign::before { + content: "\f195"; } + +.fa-satellite::before { + content: "\f7bf"; } + +.fa-plane-lock::before { + content: "\e558"; } + +.fa-tag::before { + content: "\f02b"; } + +.fa-comment::before { + content: "\f075"; } + +.fa-cake-candles::before { + content: "\f1fd"; } + +.fa-birthday-cake::before { + content: "\f1fd"; } + +.fa-cake::before { + content: "\f1fd"; } + +.fa-envelope::before { + content: "\f0e0"; } + +.fa-angles-up::before { + content: "\f102"; } + +.fa-angle-double-up::before { + content: "\f102"; } + +.fa-paperclip::before { + content: "\f0c6"; } + +.fa-arrow-right-to-city::before { + content: "\e4b3"; } + +.fa-ribbon::before { + content: "\f4d6"; } + +.fa-lungs::before { + content: "\f604"; } + +.fa-arrow-up-9-1::before { + content: "\f887"; } + +.fa-sort-numeric-up-alt::before { + content: "\f887"; } + +.fa-litecoin-sign::before { + content: "\e1d3"; } + +.fa-border-none::before { + content: "\f850"; } + +.fa-circle-nodes::before { + content: "\e4e2"; } + +.fa-parachute-box::before { + content: "\f4cd"; } + +.fa-indent::before { + content: "\f03c"; } + +.fa-truck-field-un::before { + content: "\e58e"; } + +.fa-hourglass::before { + content: "\f254"; } + +.fa-hourglass-empty::before { + content: "\f254"; } + +.fa-mountain::before { + content: "\f6fc"; } + +.fa-user-doctor::before { + content: "\f0f0"; } + +.fa-user-md::before { + content: "\f0f0"; } + +.fa-circle-info::before { + content: "\f05a"; } + +.fa-info-circle::before { + content: "\f05a"; } + +.fa-cloud-meatball::before { + content: "\f73b"; } + +.fa-camera::before { + content: "\f030"; } + +.fa-camera-alt::before { + content: "\f030"; } + +.fa-square-virus::before { + content: "\e578"; } + +.fa-meteor::before { + content: "\f753"; } + +.fa-car-on::before { + content: "\e4dd"; } + +.fa-sleigh::before { + content: "\f7cc"; } + +.fa-arrow-down-1-9::before { + content: "\f162"; } + +.fa-sort-numeric-asc::before { + content: "\f162"; } + +.fa-sort-numeric-down::before { + content: "\f162"; } + +.fa-hand-holding-droplet::before { + content: "\f4c1"; } + +.fa-hand-holding-water::before { + content: "\f4c1"; } + +.fa-water::before { + content: "\f773"; } + +.fa-calendar-check::before { + content: "\f274"; } + +.fa-braille::before { + content: "\f2a1"; } + +.fa-prescription-bottle-medical::before { + content: "\f486"; } + +.fa-prescription-bottle-alt::before { + content: "\f486"; } + +.fa-landmark::before { + content: "\f66f"; } + +.fa-truck::before { + content: "\f0d1"; } + +.fa-crosshairs::before { + content: "\f05b"; } + +.fa-person-cane::before { + content: "\e53c"; } + +.fa-tent::before { + content: "\e57d"; } + +.fa-vest-patches::before { + content: "\e086"; } + +.fa-check-double::before { + content: "\f560"; } + +.fa-arrow-down-a-z::before { + content: "\f15d"; } + +.fa-sort-alpha-asc::before { + content: "\f15d"; } + +.fa-sort-alpha-down::before { + content: "\f15d"; } + +.fa-money-bill-wheat::before { + content: "\e52a"; } + +.fa-cookie::before { + content: "\f563"; } + +.fa-arrow-rotate-left::before { + content: "\f0e2"; } + +.fa-arrow-left-rotate::before { + content: "\f0e2"; } + +.fa-arrow-rotate-back::before { + content: "\f0e2"; } + +.fa-arrow-rotate-backward::before { + content: "\f0e2"; } + +.fa-undo::before { + content: "\f0e2"; } + +.fa-hard-drive::before { + content: "\f0a0"; } + +.fa-hdd::before { + content: "\f0a0"; } + +.fa-face-grin-squint-tears::before { + content: "\f586"; } + +.fa-grin-squint-tears::before { + content: "\f586"; } + +.fa-dumbbell::before { + content: "\f44b"; } + +.fa-rectangle-list::before { + content: "\f022"; } + +.fa-list-alt::before { + content: "\f022"; } + +.fa-tarp-droplet::before { + content: "\e57c"; } + +.fa-house-medical-circle-check::before { + content: "\e511"; } + +.fa-person-skiing-nordic::before { + content: "\f7ca"; } + +.fa-skiing-nordic::before { + content: "\f7ca"; } + +.fa-calendar-plus::before { + content: "\f271"; } + +.fa-plane-arrival::before { + content: "\f5af"; } + +.fa-circle-left::before { + content: "\f359"; } + +.fa-arrow-alt-circle-left::before { + content: "\f359"; } + +.fa-train-subway::before { + content: "\f239"; } + +.fa-subway::before { + content: "\f239"; } + +.fa-chart-gantt::before { + content: "\e0e4"; } + +.fa-indian-rupee-sign::before { + content: "\e1bc"; } + +.fa-indian-rupee::before { + content: "\e1bc"; } + +.fa-inr::before { + content: "\e1bc"; } + +.fa-crop-simple::before { + content: "\f565"; } + +.fa-crop-alt::before { + content: "\f565"; } + +.fa-money-bill-1::before { + content: "\f3d1"; } + +.fa-money-bill-alt::before { + content: "\f3d1"; } + +.fa-left-long::before { + content: "\f30a"; } + +.fa-long-arrow-alt-left::before { + content: "\f30a"; } + +.fa-dna::before { + content: "\f471"; } + +.fa-virus-slash::before { + content: "\e075"; } + +.fa-minus::before { + content: "\f068"; } + +.fa-subtract::before { + content: "\f068"; } + +.fa-chess::before { + content: "\f439"; } + +.fa-arrow-left-long::before { + content: "\f177"; } + +.fa-long-arrow-left::before { + content: "\f177"; } + +.fa-plug-circle-check::before { + content: "\e55c"; } + +.fa-street-view::before { + content: "\f21d"; } + +.fa-franc-sign::before { + content: "\e18f"; } + +.fa-volume-off::before { + content: "\f026"; } + +.fa-hands-asl-interpreting::before { + content: "\f2a3"; } + +.fa-american-sign-language-interpreting::before { + content: "\f2a3"; } + +.fa-asl-interpreting::before { + content: "\f2a3"; } + +.fa-hands-american-sign-language-interpreting::before { + content: "\f2a3"; } + +.fa-gear::before { + content: "\f013"; } + +.fa-cog::before { + content: "\f013"; } + +.fa-droplet-slash::before { + content: "\f5c7"; } + +.fa-tint-slash::before { + content: "\f5c7"; } + +.fa-mosque::before { + content: "\f678"; } + +.fa-mosquito::before { + content: "\e52b"; } + +.fa-star-of-david::before { + content: "\f69a"; } + +.fa-person-military-rifle::before { + content: "\e54b"; } + +.fa-cart-shopping::before { + content: "\f07a"; } + +.fa-shopping-cart::before { + content: "\f07a"; } + +.fa-vials::before { + content: "\f493"; } + +.fa-plug-circle-plus::before { + content: "\e55f"; } + +.fa-place-of-worship::before { + content: "\f67f"; } + +.fa-grip-vertical::before { + content: "\f58e"; } + +.fa-arrow-turn-up::before { + content: "\f148"; } + +.fa-level-up::before { + content: "\f148"; } + +.fa-u::before { + content: "\55"; } + +.fa-square-root-variable::before { + content: "\f698"; } + +.fa-square-root-alt::before { + content: "\f698"; } + +.fa-clock::before { + content: "\f017"; } + +.fa-clock-four::before { + content: "\f017"; } + +.fa-backward-step::before { + content: "\f048"; } + +.fa-step-backward::before { + content: "\f048"; } + +.fa-pallet::before { + content: "\f482"; } + +.fa-faucet::before { + content: "\e005"; } + +.fa-baseball-bat-ball::before { + content: "\f432"; } + +.fa-s::before { + content: "\53"; } + +.fa-timeline::before { + content: "\e29c"; } + +.fa-keyboard::before { + content: "\f11c"; } + +.fa-caret-down::before { + content: "\f0d7"; } + +.fa-house-chimney-medical::before { + content: "\f7f2"; } + +.fa-clinic-medical::before { + content: "\f7f2"; } + +.fa-temperature-three-quarters::before { + content: "\f2c8"; } + +.fa-temperature-3::before { + content: "\f2c8"; } + +.fa-thermometer-3::before { + content: "\f2c8"; } + +.fa-thermometer-three-quarters::before { + content: "\f2c8"; } + +.fa-mobile-screen::before { + content: "\f3cf"; } + +.fa-mobile-android-alt::before { + content: "\f3cf"; } + +.fa-plane-up::before { + content: "\e22d"; } + +.fa-piggy-bank::before { + content: "\f4d3"; } + +.fa-battery-half::before { + content: "\f242"; } + +.fa-battery-3::before { + content: "\f242"; } + +.fa-mountain-city::before { + content: "\e52e"; } + +.fa-coins::before { + content: "\f51e"; } + +.fa-khanda::before { + content: "\f66d"; } + +.fa-sliders::before { + content: "\f1de"; } + +.fa-sliders-h::before { + content: "\f1de"; } + +.fa-folder-tree::before { + content: "\f802"; } + +.fa-network-wired::before { + content: "\f6ff"; } + +.fa-map-pin::before { + content: "\f276"; } + +.fa-hamsa::before { + content: "\f665"; } + +.fa-cent-sign::before { + content: "\e3f5"; } + +.fa-flask::before { + content: "\f0c3"; } + +.fa-person-pregnant::before { + content: "\e31e"; } + +.fa-wand-sparkles::before { + content: "\f72b"; } + +.fa-ellipsis-vertical::before { + content: "\f142"; } + +.fa-ellipsis-v::before { + content: "\f142"; } + +.fa-ticket::before { + content: "\f145"; } + +.fa-power-off::before { + content: "\f011"; } + +.fa-right-long::before { + content: "\f30b"; } + +.fa-long-arrow-alt-right::before { + content: "\f30b"; } + +.fa-flag-usa::before { + content: "\f74d"; } + +.fa-laptop-file::before { + content: "\e51d"; } + +.fa-tty::before { + content: "\f1e4"; } + +.fa-teletype::before { + content: "\f1e4"; } + +.fa-diagram-next::before { + content: "\e476"; } + +.fa-person-rifle::before { + content: "\e54e"; } + +.fa-house-medical-circle-exclamation::before { + content: "\e512"; } + +.fa-closed-captioning::before { + content: "\f20a"; } + +.fa-person-hiking::before { + content: "\f6ec"; } + +.fa-hiking::before { + content: "\f6ec"; } + +.fa-venus-double::before { + content: "\f226"; } + +.fa-images::before { + content: "\f302"; } + +.fa-calculator::before { + content: "\f1ec"; } + +.fa-people-pulling::before { + content: "\e535"; } + +.fa-n::before { + content: "\4e"; } + +.fa-cable-car::before { + content: "\f7da"; } + +.fa-tram::before { + content: "\f7da"; } + +.fa-cloud-rain::before { + content: "\f73d"; } + +.fa-building-circle-xmark::before { + content: "\e4d4"; } + +.fa-ship::before { + content: "\f21a"; } + +.fa-arrows-down-to-line::before { + content: "\e4b8"; } + +.fa-download::before { + content: "\f019"; } + +.fa-face-grin::before { + content: "\f580"; } + +.fa-grin::before { + content: "\f580"; } + +.fa-delete-left::before { + content: "\f55a"; } + +.fa-backspace::before { + content: "\f55a"; } + +.fa-eye-dropper::before { + content: "\f1fb"; } + +.fa-eye-dropper-empty::before { + content: "\f1fb"; } + +.fa-eyedropper::before { + content: "\f1fb"; } + +.fa-file-circle-check::before { + content: "\e5a0"; } + +.fa-forward::before { + content: "\f04e"; } + +.fa-mobile::before { + content: "\f3ce"; } + +.fa-mobile-android::before { + content: "\f3ce"; } + +.fa-mobile-phone::before { + content: "\f3ce"; } + +.fa-face-meh::before { + content: "\f11a"; } + +.fa-meh::before { + content: "\f11a"; } + +.fa-align-center::before { + content: "\f037"; } + +.fa-book-skull::before { + content: "\f6b7"; } + +.fa-book-dead::before { + content: "\f6b7"; } + +.fa-id-card::before { + content: "\f2c2"; } + +.fa-drivers-license::before { + content: "\f2c2"; } + +.fa-outdent::before { + content: "\f03b"; } + +.fa-dedent::before { + content: "\f03b"; } + +.fa-heart-circle-exclamation::before { + content: "\e4fe"; } + +.fa-house::before { + content: "\f015"; } + +.fa-home::before { + content: "\f015"; } + +.fa-home-alt::before { + content: "\f015"; } + +.fa-home-lg-alt::before { + content: "\f015"; } + +.fa-calendar-week::before { + content: "\f784"; } + +.fa-laptop-medical::before { + content: "\f812"; } + +.fa-b::before { + content: "\42"; } + +.fa-file-medical::before { + content: "\f477"; } + +.fa-dice-one::before { + content: "\f525"; } + +.fa-kiwi-bird::before { + content: "\f535"; } + +.fa-arrow-right-arrow-left::before { + content: "\f0ec"; } + +.fa-exchange::before { + content: "\f0ec"; } + +.fa-rotate-right::before { + content: "\f2f9"; } + +.fa-redo-alt::before { + content: "\f2f9"; } + +.fa-rotate-forward::before { + content: "\f2f9"; } + +.fa-utensils::before { + content: "\f2e7"; } + +.fa-cutlery::before { + content: "\f2e7"; } + +.fa-arrow-up-wide-short::before { + content: "\f161"; } + +.fa-sort-amount-up::before { + content: "\f161"; } + +.fa-mill-sign::before { + content: "\e1ed"; } + +.fa-bowl-rice::before { + content: "\e2eb"; } + +.fa-skull::before { + content: "\f54c"; } + +.fa-tower-broadcast::before { + content: "\f519"; } + +.fa-broadcast-tower::before { + content: "\f519"; } + +.fa-truck-pickup::before { + content: "\f63c"; } + +.fa-up-long::before { + content: "\f30c"; } + +.fa-long-arrow-alt-up::before { + content: "\f30c"; } + +.fa-stop::before { + content: "\f04d"; } + +.fa-code-merge::before { + content: "\f387"; } + +.fa-upload::before { + content: "\f093"; } + +.fa-hurricane::before { + content: "\f751"; } + +.fa-mound::before { + content: "\e52d"; } + +.fa-toilet-portable::before { + content: "\e583"; } + +.fa-compact-disc::before { + content: "\f51f"; } + +.fa-file-arrow-down::before { + content: "\f56d"; } + +.fa-file-download::before { + content: "\f56d"; } + +.fa-caravan::before { + content: "\f8ff"; } + +.fa-shield-cat::before { + content: "\e572"; } + +.fa-bolt::before { + content: "\f0e7"; } + +.fa-zap::before { + content: "\f0e7"; } + +.fa-glass-water::before { + content: "\e4f4"; } + +.fa-oil-well::before { + content: "\e532"; } + +.fa-vault::before { + content: "\e2c5"; } + +.fa-mars::before { + content: "\f222"; } + +.fa-toilet::before { + content: "\f7d8"; } + +.fa-plane-circle-xmark::before { + content: "\e557"; } + +.fa-yen-sign::before { + content: "\f157"; } + +.fa-cny::before { + content: "\f157"; } + +.fa-jpy::before { + content: "\f157"; } + +.fa-rmb::before { + content: "\f157"; } + +.fa-yen::before { + content: "\f157"; } + +.fa-ruble-sign::before { + content: "\f158"; } + +.fa-rouble::before { + content: "\f158"; } + +.fa-rub::before { + content: "\f158"; } + +.fa-ruble::before { + content: "\f158"; } + +.fa-sun::before { + content: "\f185"; } + +.fa-guitar::before { + content: "\f7a6"; } + +.fa-face-laugh-wink::before { + content: "\f59c"; } + +.fa-laugh-wink::before { + content: "\f59c"; } + +.fa-horse-head::before { + content: "\f7ab"; } + +.fa-bore-hole::before { + content: "\e4c3"; } + +.fa-industry::before { + content: "\f275"; } + +.fa-circle-down::before { + content: "\f358"; } + +.fa-arrow-alt-circle-down::before { + content: "\f358"; } + +.fa-arrows-turn-to-dots::before { + content: "\e4c1"; } + +.fa-florin-sign::before { + content: "\e184"; } + +.fa-arrow-down-short-wide::before { + content: "\f884"; } + +.fa-sort-amount-desc::before { + content: "\f884"; } + +.fa-sort-amount-down-alt::before { + content: "\f884"; } + +.fa-less-than::before { + content: "\3c"; } + +.fa-angle-down::before { + content: "\f107"; } + +.fa-car-tunnel::before { + content: "\e4de"; } + +.fa-head-side-cough::before { + content: "\e061"; } + +.fa-grip-lines::before { + content: "\f7a4"; } + +.fa-thumbs-down::before { + content: "\f165"; } + +.fa-user-lock::before { + content: "\f502"; } + +.fa-arrow-right-long::before { + content: "\f178"; } + +.fa-long-arrow-right::before { + content: "\f178"; } + +.fa-anchor-circle-xmark::before { + content: "\e4ac"; } + +.fa-ellipsis::before { + content: "\f141"; } + +.fa-ellipsis-h::before { + content: "\f141"; } + +.fa-chess-pawn::before { + content: "\f443"; } + +.fa-kit-medical::before { + content: "\f479"; } + +.fa-first-aid::before { + content: "\f479"; } + +.fa-person-through-window::before { + content: "\e5a9"; } + +.fa-toolbox::before { + content: "\f552"; } + +.fa-hands-holding-circle::before { + content: "\e4fb"; } + +.fa-bug::before { + content: "\f188"; } + +.fa-credit-card::before { + content: "\f09d"; } + +.fa-credit-card-alt::before { + content: "\f09d"; } + +.fa-car::before { + content: "\f1b9"; } + +.fa-automobile::before { + content: "\f1b9"; } + +.fa-hand-holding-hand::before { + content: "\e4f7"; } + +.fa-book-open-reader::before { + content: "\f5da"; } + +.fa-book-reader::before { + content: "\f5da"; } + +.fa-mountain-sun::before { + content: "\e52f"; } + +.fa-arrows-left-right-to-line::before { + content: "\e4ba"; } + +.fa-dice-d20::before { + content: "\f6cf"; } + +.fa-truck-droplet::before { + content: "\e58c"; } + +.fa-file-circle-xmark::before { + content: "\e5a1"; } + +.fa-temperature-arrow-up::before { + content: "\e040"; } + +.fa-temperature-up::before { + content: "\e040"; } + +.fa-medal::before { + content: "\f5a2"; } + +.fa-bed::before { + content: "\f236"; } + +.fa-square-h::before { + content: "\f0fd"; } + +.fa-h-square::before { + content: "\f0fd"; } + +.fa-podcast::before { + content: "\f2ce"; } + +.fa-temperature-full::before { + content: "\f2c7"; } + +.fa-temperature-4::before { + content: "\f2c7"; } + +.fa-thermometer-4::before { + content: "\f2c7"; } + +.fa-thermometer-full::before { + content: "\f2c7"; } + +.fa-bell::before { + content: "\f0f3"; } + +.fa-superscript::before { + content: "\f12b"; } + +.fa-plug-circle-xmark::before { + content: "\e560"; } + +.fa-star-of-life::before { + content: "\f621"; } + +.fa-phone-slash::before { + content: "\f3dd"; } + +.fa-paint-roller::before { + content: "\f5aa"; } + +.fa-handshake-angle::before { + content: "\f4c4"; } + +.fa-hands-helping::before { + content: "\f4c4"; } + +.fa-location-dot::before { + content: "\f3c5"; } + +.fa-map-marker-alt::before { + content: "\f3c5"; } + +.fa-file::before { + content: "\f15b"; } + +.fa-greater-than::before { + content: "\3e"; } + +.fa-person-swimming::before { + content: "\f5c4"; } + +.fa-swimmer::before { + content: "\f5c4"; } + +.fa-arrow-down::before { + content: "\f063"; } + +.fa-droplet::before { + content: "\f043"; } + +.fa-tint::before { + content: "\f043"; } + +.fa-eraser::before { + content: "\f12d"; } + +.fa-earth-americas::before { + content: "\f57d"; } + +.fa-earth::before { + content: "\f57d"; } + +.fa-earth-america::before { + content: "\f57d"; } + +.fa-globe-americas::before { + content: "\f57d"; } + +.fa-person-burst::before { + content: "\e53b"; } + +.fa-dove::before { + content: "\f4ba"; } + +.fa-battery-empty::before { + content: "\f244"; } + +.fa-battery-0::before { + content: "\f244"; } + +.fa-socks::before { + content: "\f696"; } + +.fa-inbox::before { + content: "\f01c"; } + +.fa-section::before { + content: "\e447"; } + +.fa-gauge-high::before { + content: "\f625"; } + +.fa-tachometer-alt::before { + content: "\f625"; } + +.fa-tachometer-alt-fast::before { + content: "\f625"; } + +.fa-envelope-open-text::before { + content: "\f658"; } + +.fa-hospital::before { + content: "\f0f8"; } + +.fa-hospital-alt::before { + content: "\f0f8"; } + +.fa-hospital-wide::before { + content: "\f0f8"; } + +.fa-wine-bottle::before { + content: "\f72f"; } + +.fa-chess-rook::before { + content: "\f447"; } + +.fa-bars-staggered::before { + content: "\f550"; } + +.fa-reorder::before { + content: "\f550"; } + +.fa-stream::before { + content: "\f550"; } + +.fa-dharmachakra::before { + content: "\f655"; } + +.fa-hotdog::before { + content: "\f80f"; } + +.fa-person-walking-with-cane::before { + content: "\f29d"; } + +.fa-blind::before { + content: "\f29d"; } + +.fa-drum::before { + content: "\f569"; } + +.fa-ice-cream::before { + content: "\f810"; } + +.fa-heart-circle-bolt::before { + content: "\e4fc"; } + +.fa-fax::before { + content: "\f1ac"; } + +.fa-paragraph::before { + content: "\f1dd"; } + +.fa-check-to-slot::before { + content: "\f772"; } + +.fa-vote-yea::before { + content: "\f772"; } + +.fa-star-half::before { + content: "\f089"; } + +.fa-boxes-stacked::before { + content: "\f468"; } + +.fa-boxes::before { + content: "\f468"; } + +.fa-boxes-alt::before { + content: "\f468"; } + +.fa-link::before { + content: "\f0c1"; } + +.fa-chain::before { + content: "\f0c1"; } + +.fa-ear-listen::before { + content: "\f2a2"; } + +.fa-assistive-listening-systems::before { + content: "\f2a2"; } + +.fa-tree-city::before { + content: "\e587"; } + +.fa-play::before { + content: "\f04b"; } + +.fa-font::before { + content: "\f031"; } + +.fa-table-cells-row-lock::before { + content: "\e67a"; } + +.fa-rupiah-sign::before { + content: "\e23d"; } + +.fa-magnifying-glass::before { + content: "\f002"; } + +.fa-search::before { + content: "\f002"; } + +.fa-table-tennis-paddle-ball::before { + content: "\f45d"; } + +.fa-ping-pong-paddle-ball::before { + content: "\f45d"; } + +.fa-table-tennis::before { + content: "\f45d"; } + +.fa-person-dots-from-line::before { + content: "\f470"; } + +.fa-diagnoses::before { + content: "\f470"; } + +.fa-trash-can-arrow-up::before { + content: "\f82a"; } + +.fa-trash-restore-alt::before { + content: "\f82a"; } + +.fa-naira-sign::before { + content: "\e1f6"; } + +.fa-cart-arrow-down::before { + content: "\f218"; } + +.fa-walkie-talkie::before { + content: "\f8ef"; } + +.fa-file-pen::before { + content: "\f31c"; } + +.fa-file-edit::before { + content: "\f31c"; } + +.fa-receipt::before { + content: "\f543"; } + +.fa-square-pen::before { + content: "\f14b"; } + +.fa-pen-square::before { + content: "\f14b"; } + +.fa-pencil-square::before { + content: "\f14b"; } + +.fa-suitcase-rolling::before { + content: "\f5c1"; } + +.fa-person-circle-exclamation::before { + content: "\e53f"; } + +.fa-chevron-down::before { + content: "\f078"; } + +.fa-battery-full::before { + content: "\f240"; } + +.fa-battery::before { + content: "\f240"; } + +.fa-battery-5::before { + content: "\f240"; } + +.fa-skull-crossbones::before { + content: "\f714"; } + +.fa-code-compare::before { + content: "\e13a"; } + +.fa-list-ul::before { + content: "\f0ca"; } + +.fa-list-dots::before { + content: "\f0ca"; } + +.fa-school-lock::before { + content: "\e56f"; } + +.fa-tower-cell::before { + content: "\e585"; } + +.fa-down-long::before { + content: "\f309"; } + +.fa-long-arrow-alt-down::before { + content: "\f309"; } + +.fa-ranking-star::before { + content: "\e561"; } + +.fa-chess-king::before { + content: "\f43f"; } + +.fa-person-harassing::before { + content: "\e549"; } + +.fa-brazilian-real-sign::before { + content: "\e46c"; } + +.fa-landmark-dome::before { + content: "\f752"; } + +.fa-landmark-alt::before { + content: "\f752"; } + +.fa-arrow-up::before { + content: "\f062"; } + +.fa-tv::before { + content: "\f26c"; } + +.fa-television::before { + content: "\f26c"; } + +.fa-tv-alt::before { + content: "\f26c"; } + +.fa-shrimp::before { + content: "\e448"; } + +.fa-list-check::before { + content: "\f0ae"; } + +.fa-tasks::before { + content: "\f0ae"; } + +.fa-jug-detergent::before { + content: "\e519"; } + +.fa-circle-user::before { + content: "\f2bd"; } + +.fa-user-circle::before { + content: "\f2bd"; } + +.fa-user-shield::before { + content: "\f505"; } + +.fa-wind::before { + content: "\f72e"; } + +.fa-car-burst::before { + content: "\f5e1"; } + +.fa-car-crash::before { + content: "\f5e1"; } + +.fa-y::before { + content: "\59"; } + +.fa-person-snowboarding::before { + content: "\f7ce"; } + +.fa-snowboarding::before { + content: "\f7ce"; } + +.fa-truck-fast::before { + content: "\f48b"; } + +.fa-shipping-fast::before { + content: "\f48b"; } + +.fa-fish::before { + content: "\f578"; } + +.fa-user-graduate::before { + content: "\f501"; } + +.fa-circle-half-stroke::before { + content: "\f042"; } + +.fa-adjust::before { + content: "\f042"; } + +.fa-clapperboard::before { + content: "\e131"; } + +.fa-circle-radiation::before { + content: "\f7ba"; } + +.fa-radiation-alt::before { + content: "\f7ba"; } + +.fa-baseball::before { + content: "\f433"; } + +.fa-baseball-ball::before { + content: "\f433"; } + +.fa-jet-fighter-up::before { + content: "\e518"; } + +.fa-diagram-project::before { + content: "\f542"; } + +.fa-project-diagram::before { + content: "\f542"; } + +.fa-copy::before { + content: "\f0c5"; } + +.fa-volume-xmark::before { + content: "\f6a9"; } + +.fa-volume-mute::before { + content: "\f6a9"; } + +.fa-volume-times::before { + content: "\f6a9"; } + +.fa-hand-sparkles::before { + content: "\e05d"; } + +.fa-grip::before { + content: "\f58d"; } + +.fa-grip-horizontal::before { + content: "\f58d"; } + +.fa-share-from-square::before { + content: "\f14d"; } + +.fa-share-square::before { + content: "\f14d"; } + +.fa-child-combatant::before { + content: "\e4e0"; } + +.fa-child-rifle::before { + content: "\e4e0"; } + +.fa-gun::before { + content: "\e19b"; } + +.fa-square-phone::before { + content: "\f098"; } + +.fa-phone-square::before { + content: "\f098"; } + +.fa-plus::before { + content: "\2b"; } + +.fa-add::before { + content: "\2b"; } + +.fa-expand::before { + content: "\f065"; } + +.fa-computer::before { + content: "\e4e5"; } + +.fa-xmark::before { + content: "\f00d"; } + +.fa-close::before { + content: "\f00d"; } + +.fa-multiply::before { + content: "\f00d"; } + +.fa-remove::before { + content: "\f00d"; } + +.fa-times::before { + content: "\f00d"; } + +.fa-arrows-up-down-left-right::before { + content: "\f047"; } + +.fa-arrows::before { + content: "\f047"; } + +.fa-chalkboard-user::before { + content: "\f51c"; } + +.fa-chalkboard-teacher::before { + content: "\f51c"; } + +.fa-peso-sign::before { + content: "\e222"; } + +.fa-building-shield::before { + content: "\e4d8"; } + +.fa-baby::before { + content: "\f77c"; } + +.fa-users-line::before { + content: "\e592"; } + +.fa-quote-left::before { + content: "\f10d"; } + +.fa-quote-left-alt::before { + content: "\f10d"; } + +.fa-tractor::before { + content: "\f722"; } + +.fa-trash-arrow-up::before { + content: "\f829"; } + +.fa-trash-restore::before { + content: "\f829"; } + +.fa-arrow-down-up-lock::before { + content: "\e4b0"; } + +.fa-lines-leaning::before { + content: "\e51e"; } + +.fa-ruler-combined::before { + content: "\f546"; } + +.fa-copyright::before { + content: "\f1f9"; } + +.fa-equals::before { + content: "\3d"; } + +.fa-blender::before { + content: "\f517"; } + +.fa-teeth::before { + content: "\f62e"; } + +.fa-shekel-sign::before { + content: "\f20b"; } + +.fa-ils::before { + content: "\f20b"; } + +.fa-shekel::before { + content: "\f20b"; } + +.fa-sheqel::before { + content: "\f20b"; } + +.fa-sheqel-sign::before { + content: "\f20b"; } + +.fa-map::before { + content: "\f279"; } + +.fa-rocket::before { + content: "\f135"; } + +.fa-photo-film::before { + content: "\f87c"; } + +.fa-photo-video::before { + content: "\f87c"; } + +.fa-folder-minus::before { + content: "\f65d"; } + +.fa-store::before { + content: "\f54e"; } + +.fa-arrow-trend-up::before { + content: "\e098"; } + +.fa-plug-circle-minus::before { + content: "\e55e"; } + +.fa-sign-hanging::before { + content: "\f4d9"; } + +.fa-sign::before { + content: "\f4d9"; } + +.fa-bezier-curve::before { + content: "\f55b"; } + +.fa-bell-slash::before { + content: "\f1f6"; } + +.fa-tablet::before { + content: "\f3fb"; } + +.fa-tablet-android::before { + content: "\f3fb"; } + +.fa-school-flag::before { + content: "\e56e"; } + +.fa-fill::before { + content: "\f575"; } + +.fa-angle-up::before { + content: "\f106"; } + +.fa-drumstick-bite::before { + content: "\f6d7"; } + +.fa-holly-berry::before { + content: "\f7aa"; } + +.fa-chevron-left::before { + content: "\f053"; } + +.fa-bacteria::before { + content: "\e059"; } + +.fa-hand-lizard::before { + content: "\f258"; } + +.fa-notdef::before { + content: "\e1fe"; } + +.fa-disease::before { + content: "\f7fa"; } + +.fa-briefcase-medical::before { + content: "\f469"; } + +.fa-genderless::before { + content: "\f22d"; } + +.fa-chevron-right::before { + content: "\f054"; } + +.fa-retweet::before { + content: "\f079"; } + +.fa-car-rear::before { + content: "\f5de"; } + +.fa-car-alt::before { + content: "\f5de"; } + +.fa-pump-soap::before { + content: "\e06b"; } + +.fa-video-slash::before { + content: "\f4e2"; } + +.fa-battery-quarter::before { + content: "\f243"; } + +.fa-battery-2::before { + content: "\f243"; } + +.fa-radio::before { + content: "\f8d7"; } + +.fa-baby-carriage::before { + content: "\f77d"; } + +.fa-carriage-baby::before { + content: "\f77d"; } + +.fa-traffic-light::before { + content: "\f637"; } + +.fa-thermometer::before { + content: "\f491"; } + +.fa-vr-cardboard::before { + content: "\f729"; } + +.fa-hand-middle-finger::before { + content: "\f806"; } + +.fa-percent::before { + content: "\25"; } + +.fa-percentage::before { + content: "\25"; } + +.fa-truck-moving::before { + content: "\f4df"; } + +.fa-glass-water-droplet::before { + content: "\e4f5"; } + +.fa-display::before { + content: "\e163"; } + +.fa-face-smile::before { + content: "\f118"; } + +.fa-smile::before { + content: "\f118"; } + +.fa-thumbtack::before { + content: "\f08d"; } + +.fa-thumb-tack::before { + content: "\f08d"; } + +.fa-trophy::before { + content: "\f091"; } + +.fa-person-praying::before { + content: "\f683"; } + +.fa-pray::before { + content: "\f683"; } + +.fa-hammer::before { + content: "\f6e3"; } + +.fa-hand-peace::before { + content: "\f25b"; } + +.fa-rotate::before { + content: "\f2f1"; } + +.fa-sync-alt::before { + content: "\f2f1"; } + +.fa-spinner::before { + content: "\f110"; } + +.fa-robot::before { + content: "\f544"; } + +.fa-peace::before { + content: "\f67c"; } + +.fa-gears::before { + content: "\f085"; } + +.fa-cogs::before { + content: "\f085"; } + +.fa-warehouse::before { + content: "\f494"; } + +.fa-arrow-up-right-dots::before { + content: "\e4b7"; } + +.fa-splotch::before { + content: "\f5bc"; } + +.fa-face-grin-hearts::before { + content: "\f584"; } + +.fa-grin-hearts::before { + content: "\f584"; } + +.fa-dice-four::before { + content: "\f524"; } + +.fa-sim-card::before { + content: "\f7c4"; } + +.fa-transgender::before { + content: "\f225"; } + +.fa-transgender-alt::before { + content: "\f225"; } + +.fa-mercury::before { + content: "\f223"; } + +.fa-arrow-turn-down::before { + content: "\f149"; } + +.fa-level-down::before { + content: "\f149"; } + +.fa-person-falling-burst::before { + content: "\e547"; } + +.fa-award::before { + content: "\f559"; } + +.fa-ticket-simple::before { + content: "\f3ff"; } + +.fa-ticket-alt::before { + content: "\f3ff"; } + +.fa-building::before { + content: "\f1ad"; } + +.fa-angles-left::before { + content: "\f100"; } + +.fa-angle-double-left::before { + content: "\f100"; } + +.fa-qrcode::before { + content: "\f029"; } + +.fa-clock-rotate-left::before { + content: "\f1da"; } + +.fa-history::before { + content: "\f1da"; } + +.fa-face-grin-beam-sweat::before { + content: "\f583"; } + +.fa-grin-beam-sweat::before { + content: "\f583"; } + +.fa-file-export::before { + content: "\f56e"; } + +.fa-arrow-right-from-file::before { + content: "\f56e"; } + +.fa-shield::before { + content: "\f132"; } + +.fa-shield-blank::before { + content: "\f132"; } + +.fa-arrow-up-short-wide::before { + content: "\f885"; } + +.fa-sort-amount-up-alt::before { + content: "\f885"; } + +.fa-house-medical::before { + content: "\e3b2"; } + +.fa-golf-ball-tee::before { + content: "\f450"; } + +.fa-golf-ball::before { + content: "\f450"; } + +.fa-circle-chevron-left::before { + content: "\f137"; } + +.fa-chevron-circle-left::before { + content: "\f137"; } + +.fa-house-chimney-window::before { + content: "\e00d"; } + +.fa-pen-nib::before { + content: "\f5ad"; } + +.fa-tent-arrow-turn-left::before { + content: "\e580"; } + +.fa-tents::before { + content: "\e582"; } + +.fa-wand-magic::before { + content: "\f0d0"; } + +.fa-magic::before { + content: "\f0d0"; } + +.fa-dog::before { + content: "\f6d3"; } + +.fa-carrot::before { + content: "\f787"; } + +.fa-moon::before { + content: "\f186"; } + +.fa-wine-glass-empty::before { + content: "\f5ce"; } + +.fa-wine-glass-alt::before { + content: "\f5ce"; } + +.fa-cheese::before { + content: "\f7ef"; } + +.fa-yin-yang::before { + content: "\f6ad"; } + +.fa-music::before { + content: "\f001"; } + +.fa-code-commit::before { + content: "\f386"; } + +.fa-temperature-low::before { + content: "\f76b"; } + +.fa-person-biking::before { + content: "\f84a"; } + +.fa-biking::before { + content: "\f84a"; } + +.fa-broom::before { + content: "\f51a"; } + +.fa-shield-heart::before { + content: "\e574"; } + +.fa-gopuram::before { + content: "\f664"; } + +.fa-earth-oceania::before { + content: "\e47b"; } + +.fa-globe-oceania::before { + content: "\e47b"; } + +.fa-square-xmark::before { + content: "\f2d3"; } + +.fa-times-square::before { + content: "\f2d3"; } + +.fa-xmark-square::before { + content: "\f2d3"; } + +.fa-hashtag::before { + content: "\23"; } + +.fa-up-right-and-down-left-from-center::before { + content: "\f424"; } + +.fa-expand-alt::before { + content: "\f424"; } + +.fa-oil-can::before { + content: "\f613"; } + +.fa-t::before { + content: "\54"; } + +.fa-hippo::before { + content: "\f6ed"; } + +.fa-chart-column::before { + content: "\e0e3"; } + +.fa-infinity::before { + content: "\f534"; } + +.fa-vial-circle-check::before { + content: "\e596"; } + +.fa-person-arrow-down-to-line::before { + content: "\e538"; } + +.fa-voicemail::before { + content: "\f897"; } + +.fa-fan::before { + content: "\f863"; } + +.fa-person-walking-luggage::before { + content: "\e554"; } + +.fa-up-down::before { + content: "\f338"; } + +.fa-arrows-alt-v::before { + content: "\f338"; } + +.fa-cloud-moon-rain::before { + content: "\f73c"; } + +.fa-calendar::before { + content: "\f133"; } + +.fa-trailer::before { + content: "\e041"; } + +.fa-bahai::before { + content: "\f666"; } + +.fa-haykal::before { + content: "\f666"; } + +.fa-sd-card::before { + content: "\f7c2"; } + +.fa-dragon::before { + content: "\f6d5"; } + +.fa-shoe-prints::before { + content: "\f54b"; } + +.fa-circle-plus::before { + content: "\f055"; } + +.fa-plus-circle::before { + content: "\f055"; } + +.fa-face-grin-tongue-wink::before { + content: "\f58b"; } + +.fa-grin-tongue-wink::before { + content: "\f58b"; } + +.fa-hand-holding::before { + content: "\f4bd"; } + +.fa-plug-circle-exclamation::before { + content: "\e55d"; } + +.fa-link-slash::before { + content: "\f127"; } + +.fa-chain-broken::before { + content: "\f127"; } + +.fa-chain-slash::before { + content: "\f127"; } + +.fa-unlink::before { + content: "\f127"; } + +.fa-clone::before { + content: "\f24d"; } + +.fa-person-walking-arrow-loop-left::before { + content: "\e551"; } + +.fa-arrow-up-z-a::before { + content: "\f882"; } + +.fa-sort-alpha-up-alt::before { + content: "\f882"; } + +.fa-fire-flame-curved::before { + content: "\f7e4"; } + +.fa-fire-alt::before { + content: "\f7e4"; } + +.fa-tornado::before { + content: "\f76f"; } + +.fa-file-circle-plus::before { + content: "\e494"; } + +.fa-book-quran::before { + content: "\f687"; } + +.fa-quran::before { + content: "\f687"; } + +.fa-anchor::before { + content: "\f13d"; } + +.fa-border-all::before { + content: "\f84c"; } + +.fa-face-angry::before { + content: "\f556"; } + +.fa-angry::before { + content: "\f556"; } + +.fa-cookie-bite::before { + content: "\f564"; } + +.fa-arrow-trend-down::before { + content: "\e097"; } + +.fa-rss::before { + content: "\f09e"; } + +.fa-feed::before { + content: "\f09e"; } + +.fa-draw-polygon::before { + content: "\f5ee"; } + +.fa-scale-balanced::before { + content: "\f24e"; } + +.fa-balance-scale::before { + content: "\f24e"; } + +.fa-gauge-simple-high::before { + content: "\f62a"; } + +.fa-tachometer::before { + content: "\f62a"; } + +.fa-tachometer-fast::before { + content: "\f62a"; } + +.fa-shower::before { + content: "\f2cc"; } + +.fa-desktop::before { + content: "\f390"; } + +.fa-desktop-alt::before { + content: "\f390"; } + +.fa-m::before { + content: "\4d"; } + +.fa-table-list::before { + content: "\f00b"; } + +.fa-th-list::before { + content: "\f00b"; } + +.fa-comment-sms::before { + content: "\f7cd"; } + +.fa-sms::before { + content: "\f7cd"; } + +.fa-book::before { + content: "\f02d"; } + +.fa-user-plus::before { + content: "\f234"; } + +.fa-check::before { + content: "\f00c"; } + +.fa-battery-three-quarters::before { + content: "\f241"; } + +.fa-battery-4::before { + content: "\f241"; } + +.fa-house-circle-check::before { + content: "\e509"; } + +.fa-angle-left::before { + content: "\f104"; } + +.fa-diagram-successor::before { + content: "\e47a"; } + +.fa-truck-arrow-right::before { + content: "\e58b"; } + +.fa-arrows-split-up-and-left::before { + content: "\e4bc"; } + +.fa-hand-fist::before { + content: "\f6de"; } + +.fa-fist-raised::before { + content: "\f6de"; } + +.fa-cloud-moon::before { + content: "\f6c3"; } + +.fa-briefcase::before { + content: "\f0b1"; } + +.fa-person-falling::before { + content: "\e546"; } + +.fa-image-portrait::before { + content: "\f3e0"; } + +.fa-portrait::before { + content: "\f3e0"; } + +.fa-user-tag::before { + content: "\f507"; } + +.fa-rug::before { + content: "\e569"; } + +.fa-earth-europe::before { + content: "\f7a2"; } + +.fa-globe-europe::before { + content: "\f7a2"; } + +.fa-cart-flatbed-suitcase::before { + content: "\f59d"; } + +.fa-luggage-cart::before { + content: "\f59d"; } + +.fa-rectangle-xmark::before { + content: "\f410"; } + +.fa-rectangle-times::before { + content: "\f410"; } + +.fa-times-rectangle::before { + content: "\f410"; } + +.fa-window-close::before { + content: "\f410"; } + +.fa-baht-sign::before { + content: "\e0ac"; } + +.fa-book-open::before { + content: "\f518"; } + +.fa-book-journal-whills::before { + content: "\f66a"; } + +.fa-journal-whills::before { + content: "\f66a"; } + +.fa-handcuffs::before { + content: "\e4f8"; } + +.fa-triangle-exclamation::before { + content: "\f071"; } + +.fa-exclamation-triangle::before { + content: "\f071"; } + +.fa-warning::before { + content: "\f071"; } + +.fa-database::before { + content: "\f1c0"; } + +.fa-share::before { + content: "\f064"; } + +.fa-mail-forward::before { + content: "\f064"; } + +.fa-bottle-droplet::before { + content: "\e4c4"; } + +.fa-mask-face::before { + content: "\e1d7"; } + +.fa-hill-rockslide::before { + content: "\e508"; } + +.fa-right-left::before { + content: "\f362"; } + +.fa-exchange-alt::before { + content: "\f362"; } + +.fa-paper-plane::before { + content: "\f1d8"; } + +.fa-road-circle-exclamation::before { + content: "\e565"; } + +.fa-dungeon::before { + content: "\f6d9"; } + +.fa-align-right::before { + content: "\f038"; } + +.fa-money-bill-1-wave::before { + content: "\f53b"; } + +.fa-money-bill-wave-alt::before { + content: "\f53b"; } + +.fa-life-ring::before { + content: "\f1cd"; } + +.fa-hands::before { + content: "\f2a7"; } + +.fa-sign-language::before { + content: "\f2a7"; } + +.fa-signing::before { + content: "\f2a7"; } + +.fa-calendar-day::before { + content: "\f783"; } + +.fa-water-ladder::before { + content: "\f5c5"; } + +.fa-ladder-water::before { + content: "\f5c5"; } + +.fa-swimming-pool::before { + content: "\f5c5"; } + +.fa-arrows-up-down::before { + content: "\f07d"; } + +.fa-arrows-v::before { + content: "\f07d"; } + +.fa-face-grimace::before { + content: "\f57f"; } + +.fa-grimace::before { + content: "\f57f"; } + +.fa-wheelchair-move::before { + content: "\e2ce"; } + +.fa-wheelchair-alt::before { + content: "\e2ce"; } + +.fa-turn-down::before { + content: "\f3be"; } + +.fa-level-down-alt::before { + content: "\f3be"; } + +.fa-person-walking-arrow-right::before { + content: "\e552"; } + +.fa-square-envelope::before { + content: "\f199"; } + +.fa-envelope-square::before { + content: "\f199"; } + +.fa-dice::before { + content: "\f522"; } + +.fa-bowling-ball::before { + content: "\f436"; } + +.fa-brain::before { + content: "\f5dc"; } + +.fa-bandage::before { + content: "\f462"; } + +.fa-band-aid::before { + content: "\f462"; } + +.fa-calendar-minus::before { + content: "\f272"; } + +.fa-circle-xmark::before { + content: "\f057"; } + +.fa-times-circle::before { + content: "\f057"; } + +.fa-xmark-circle::before { + content: "\f057"; } + +.fa-gifts::before { + content: "\f79c"; } + +.fa-hotel::before { + content: "\f594"; } + +.fa-earth-asia::before { + content: "\f57e"; } + +.fa-globe-asia::before { + content: "\f57e"; } + +.fa-id-card-clip::before { + content: "\f47f"; } + +.fa-id-card-alt::before { + content: "\f47f"; } + +.fa-magnifying-glass-plus::before { + content: "\f00e"; } + +.fa-search-plus::before { + content: "\f00e"; } + +.fa-thumbs-up::before { + content: "\f164"; } + +.fa-user-clock::before { + content: "\f4fd"; } + +.fa-hand-dots::before { + content: "\f461"; } + +.fa-allergies::before { + content: "\f461"; } + +.fa-file-invoice::before { + content: "\f570"; } + +.fa-window-minimize::before { + content: "\f2d1"; } + +.fa-mug-saucer::before { + content: "\f0f4"; } + +.fa-coffee::before { + content: "\f0f4"; } + +.fa-brush::before { + content: "\f55d"; } + +.fa-mask::before { + content: "\f6fa"; } + +.fa-magnifying-glass-minus::before { + content: "\f010"; } + +.fa-search-minus::before { + content: "\f010"; } + +.fa-ruler-vertical::before { + content: "\f548"; } + +.fa-user-large::before { + content: "\f406"; } + +.fa-user-alt::before { + content: "\f406"; } + +.fa-train-tram::before { + content: "\e5b4"; } + +.fa-user-nurse::before { + content: "\f82f"; } + +.fa-syringe::before { + content: "\f48e"; } + +.fa-cloud-sun::before { + content: "\f6c4"; } + +.fa-stopwatch-20::before { + content: "\e06f"; } + +.fa-square-full::before { + content: "\f45c"; } + +.fa-magnet::before { + content: "\f076"; } + +.fa-jar::before { + content: "\e516"; } + +.fa-note-sticky::before { + content: "\f249"; } + +.fa-sticky-note::before { + content: "\f249"; } + +.fa-bug-slash::before { + content: "\e490"; } + +.fa-arrow-up-from-water-pump::before { + content: "\e4b6"; } + +.fa-bone::before { + content: "\f5d7"; } + +.fa-user-injured::before { + content: "\f728"; } + +.fa-face-sad-tear::before { + content: "\f5b4"; } + +.fa-sad-tear::before { + content: "\f5b4"; } + +.fa-plane::before { + content: "\f072"; } + +.fa-tent-arrows-down::before { + content: "\e581"; } + +.fa-exclamation::before { + content: "\21"; } + +.fa-arrows-spin::before { + content: "\e4bb"; } + +.fa-print::before { + content: "\f02f"; } + +.fa-turkish-lira-sign::before { + content: "\e2bb"; } + +.fa-try::before { + content: "\e2bb"; } + +.fa-turkish-lira::before { + content: "\e2bb"; } + +.fa-dollar-sign::before { + content: "\24"; } + +.fa-dollar::before { + content: "\24"; } + +.fa-usd::before { + content: "\24"; } + +.fa-x::before { + content: "\58"; } + +.fa-magnifying-glass-dollar::before { + content: "\f688"; } + +.fa-search-dollar::before { + content: "\f688"; } + +.fa-users-gear::before { + content: "\f509"; } + +.fa-users-cog::before { + content: "\f509"; } + +.fa-person-military-pointing::before { + content: "\e54a"; } + +.fa-building-columns::before { + content: "\f19c"; } + +.fa-bank::before { + content: "\f19c"; } + +.fa-institution::before { + content: "\f19c"; } + +.fa-museum::before { + content: "\f19c"; } + +.fa-university::before { + content: "\f19c"; } + +.fa-umbrella::before { + content: "\f0e9"; } + +.fa-trowel::before { + content: "\e589"; } + +.fa-d::before { + content: "\44"; } + +.fa-stapler::before { + content: "\e5af"; } + +.fa-masks-theater::before { + content: "\f630"; } + +.fa-theater-masks::before { + content: "\f630"; } + +.fa-kip-sign::before { + content: "\e1c4"; } + +.fa-hand-point-left::before { + content: "\f0a5"; } + +.fa-handshake-simple::before { + content: "\f4c6"; } + +.fa-handshake-alt::before { + content: "\f4c6"; } + +.fa-jet-fighter::before { + content: "\f0fb"; } + +.fa-fighter-jet::before { + content: "\f0fb"; } + +.fa-square-share-nodes::before { + content: "\f1e1"; } + +.fa-share-alt-square::before { + content: "\f1e1"; } + +.fa-barcode::before { + content: "\f02a"; } + +.fa-plus-minus::before { + content: "\e43c"; } + +.fa-video::before { + content: "\f03d"; } + +.fa-video-camera::before { + content: "\f03d"; } + +.fa-graduation-cap::before { + content: "\f19d"; } + +.fa-mortar-board::before { + content: "\f19d"; } + +.fa-hand-holding-medical::before { + content: "\e05c"; } + +.fa-person-circle-check::before { + content: "\e53e"; } + +.fa-turn-up::before { + content: "\f3bf"; } + +.fa-level-up-alt::before { + content: "\f3bf"; } + +.sr-only, +.fa-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } + +.sr-only-focusable:not(:focus), +.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } +:root, :host { + --fa-style-family-brands: 'Font Awesome 6 Brands'; + --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; } + +@font-face { + font-family: 'Font Awesome 6 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +.fab, +.fa-brands { + font-weight: 400; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-cloudflare:before { + content: "\e07d"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-pixiv:before { + content: "\e640"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-guilded:before { + content: "\e07e"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-square-js:before { + content: "\f3b9"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-jxl:before { + content: "\e67b"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-unity:before { + content: "\e049"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-square-reddit:before { + content: "\f1a2"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-square-font-awesome:before { + content: "\e5ad"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-brave:before { + content: "\e63c"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-square-instagram:before { + content: "\e055"; } + +.fa-instagram-square:before { + content: "\e055"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-square-hacker-news:before { + content: "\f3af"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-threads:before { + content: "\e618"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-square-snapchat:before { + content: "\f2ad"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-square-font-awesome-stroke:before { + content: "\f35c"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-watchman-monitoring:before { + content: "\e087"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-square-viadeo:before { + content: "\f2aa"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-opensuse:before { + content: "\e62b"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-square-dribbble:before { + content: "\f397"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-node:before { + content: "\f419"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-debian:before { + content: "\e60b"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-instalod:before { + content: "\e081"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-square-twitter:before { + content: "\f081"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-golang:before { + content: "\e40f"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-square-kickstarter:before { + content: "\f3bb"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-uncharted:before { + content: "\e084"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-square-youtube:before { + content: "\f431"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-rendact:before { + content: "\f3e4"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-nfc-directional:before { + content: "\e530"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-meta:before { + content: "\e49b"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-square-letterboxd:before { + content: "\e62e"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-shoelace:before { + content: "\e60c"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-unsplash:before { + content: "\e07c"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-square-steam:before { + content: "\f1b7"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-500px:before { + content: "\f26e"; } + +.fa-square-vimeo:before { + content: "\f194"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-flag:before { + content: "\f2b4"; } + +.fa-font-awesome-logo-full:before { + content: "\f2b4"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-hive:before { + content: "\e07f"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-padlet:before { + content: "\e4a0"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-square-github:before { + content: "\f092"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-shopify:before { + content: "\e057"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-square-threads:before { + content: "\e619"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-google-scholar:before { + content: "\e63b"; } + +.fa-square-gitlab:before { + content: "\e5ae"; } + +.fa-gitlab-square:before { + content: "\e5ae"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-square-odnoklassniki:before { + content: "\f264"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-hashnode:before { + content: "\e499"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-square-pinterest:before { + content: "\f0d3"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-signal-messenger:before { + content: "\e663"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-dailymotion:before { + content: "\e052"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-nfc-symbol:before { + content: "\e531"; } + +.fa-mintbit:before { + content: "\e62f"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-brave-reverse:before { + content: "\e63d"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-square-google-plus:before { + content: "\f0d4"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-web-awesome:before { + content: "\e682"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-square-xing:before { + content: "\f169"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-letterboxd:before { + content: "\e62d"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-bilibili:before { + content: "\e3d9"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-x-twitter:before { + content: "\e61b"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-42-group:before { + content: "\e080"; } + +.fa-innosoft:before { + content: "\e080"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-square-pied-piper:before { + content: "\e01e"; } + +.fa-pied-piper-square:before { + content: "\e01e"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-square-web-awesome-stroke:before { + content: "\e684"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-tiktok:before { + content: "\e07b"; } + +.fa-square-facebook:before { + content: "\f082"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-mixer:before { + content: "\e056"; } + +.fa-square-lastfm:before { + content: "\f203"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-cmplid:before { + content: "\e360"; } + +.fa-upwork:before { + content: "\e641"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-square-upwork:before { + content: "\e67c"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-deezer:before { + content: "\e077"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-screenpal:before { + content: "\e570"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-microblog:before { + content: "\e01a"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-square-web-awesome:before { + content: "\e683"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-wirsindhandwerk:before { + content: "\e2d0"; } + +.fa-wsh:before { + content: "\e2d0"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-octopus-deploy:before { + content: "\e082"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-bluesky:before { + content: "\e671"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ab"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-rust:before { + content: "\e07a"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-square-behance:before { + content: "\f1b5"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-webflow:before { + content: "\e65c"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-space-awesome:before { + content: "\e5ac"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-square-git:before { + content: "\f1d2"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-square-tumblr:before { + content: "\f174"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-perbyte:before { + content: "\e083"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-bots:before { + content: "\e340"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-ideal:before { + content: "\e013"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-php:before { + content: "\f457"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-firefox-browser:before { + content: "\e007"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-stubber:before { + content: "\e5c7"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f2c6"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-odysee:before { + content: "\e5c6"; } + +.fa-square-whatsapp:before { + content: "\f40c"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-edge-legacy:before { + content: "\e078"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f198"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-square-x-twitter:before { + content: "\e61a"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f23a"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-sitrox:before { + content: "\e44a"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-wodu:before { + content: "\e088"; } + +.fa-google-pay:before { + content: "\e079"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-pix:before { + content: "\e43a"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } +:root, :host { + --fa-style-family-classic: 'Font Awesome 6 Free'; + --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; } + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } + +.far, +.fa-regular { + font-weight: 400; } +:root, :host { + --fa-style-family-classic: 'Font Awesome 6 Free'; + --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; } + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +.fas, +.fa-solid { + font-weight: 900; } +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-display: block; + font-weight: 400; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-display: block; + font-weight: 900; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-display: block; + font-weight: 400; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } + +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype"); } diff --git a/docs/deps/font-awesome-6.5.2/css/all.min.css b/docs/deps/font-awesome-6.5.2/css/all.min.css new file mode 100644 index 0000000..269bcee --- /dev/null +++ b/docs/deps/font-awesome-6.5.2/css/all.min.css @@ -0,0 +1,9 @@ +/*! + * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */ +.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,0));transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)} + +.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"\56"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-g:before{content:"\47"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"\45"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-table-cells-column-lock:before{content:"\e678"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"\50"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"\48"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"\4a"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"\42"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-table-cells-row-lock:before{content:"\e67a"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"\3d"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"} +.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-pixiv:before{content:"\e640"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-jxl:before{content:"\e67b"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-brave:before{content:"\e63c"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-threads:before{content:"\e618"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-opensuse:before{content:"\e62b"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-debian:before{content:"\e60b"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before,.fa-square-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-square-letterboxd:before{content:"\e62e"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-shoelace:before{content:"\e60c"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-square-threads:before{content:"\e619"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-google-scholar:before{content:"\e63b"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-signal-messenger:before{content:"\e663"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-mintbit:before{content:"\e62f"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-brave-reverse:before{content:"\e63d"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-web-awesome:before{content:"\e682"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-letterboxd:before{content:"\e62d"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-x-twitter:before{content:"\e61b"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-square-web-awesome-stroke:before{content:"\e684"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-upwork:before{content:"\e641"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-square-upwork:before{content:"\e67c"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-square-web-awesome:before{content:"\e683"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-bluesky:before{content:"\e671"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-webflow:before{content:"\e65c"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-stubber:before{content:"\e5c7"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-odysee:before{content:"\e5c6"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-square-x-twitter:before{content:"\e61a"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype"); } \ No newline at end of file diff --git a/docs/deps/font-awesome-6.5.2/css/v4-shims.css b/docs/deps/font-awesome-6.5.2/css/v4-shims.css new file mode 100644 index 0000000..ea60ea4 --- /dev/null +++ b/docs/deps/font-awesome-6.5.2/css/v4-shims.css @@ -0,0 +1,2194 @@ +/*! + * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */ +.fa.fa-glass:before { + content: "\f000"; } + +.fa.fa-envelope-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-envelope-o:before { + content: "\f0e0"; } + +.fa.fa-star-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-o:before { + content: "\f005"; } + +.fa.fa-remove:before { + content: "\f00d"; } + +.fa.fa-close:before { + content: "\f00d"; } + +.fa.fa-gear:before { + content: "\f013"; } + +.fa.fa-trash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-trash-o:before { + content: "\f2ed"; } + +.fa.fa-home:before { + content: "\f015"; } + +.fa.fa-file-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-o:before { + content: "\f15b"; } + +.fa.fa-clock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-clock-o:before { + content: "\f017"; } + +.fa.fa-arrow-circle-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-down:before { + content: "\f358"; } + +.fa.fa-arrow-circle-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-up:before { + content: "\f35b"; } + +.fa.fa-play-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-play-circle-o:before { + content: "\f144"; } + +.fa.fa-repeat:before { + content: "\f01e"; } + +.fa.fa-rotate-right:before { + content: "\f01e"; } + +.fa.fa-refresh:before { + content: "\f021"; } + +.fa.fa-list-alt { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-list-alt:before { + content: "\f022"; } + +.fa.fa-dedent:before { + content: "\f03b"; } + +.fa.fa-video-camera:before { + content: "\f03d"; } + +.fa.fa-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-picture-o:before { + content: "\f03e"; } + +.fa.fa-photo { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-photo:before { + content: "\f03e"; } + +.fa.fa-image { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-image:before { + content: "\f03e"; } + +.fa.fa-map-marker:before { + content: "\f3c5"; } + +.fa.fa-pencil-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-pencil-square-o:before { + content: "\f044"; } + +.fa.fa-edit { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-edit:before { + content: "\f044"; } + +.fa.fa-share-square-o:before { + content: "\f14d"; } + +.fa.fa-check-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-check-square-o:before { + content: "\f14a"; } + +.fa.fa-arrows:before { + content: "\f0b2"; } + +.fa.fa-times-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-circle-o:before { + content: "\f057"; } + +.fa.fa-check-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-check-circle-o:before { + content: "\f058"; } + +.fa.fa-mail-forward:before { + content: "\f064"; } + +.fa.fa-expand:before { + content: "\f424"; } + +.fa.fa-compress:before { + content: "\f422"; } + +.fa.fa-eye { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-eye-slash { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-warning:before { + content: "\f071"; } + +.fa.fa-calendar:before { + content: "\f073"; } + +.fa.fa-arrows-v:before { + content: "\f338"; } + +.fa.fa-arrows-h:before { + content: "\f337"; } + +.fa.fa-bar-chart:before { + content: "\e0e3"; } + +.fa.fa-bar-chart-o:before { + content: "\e0e3"; } + +.fa.fa-twitter-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-twitter-square:before { + content: "\f081"; } + +.fa.fa-facebook-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-square:before { + content: "\f082"; } + +.fa.fa-gears:before { + content: "\f085"; } + +.fa.fa-thumbs-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-up:before { + content: "\f164"; } + +.fa.fa-thumbs-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-down:before { + content: "\f165"; } + +.fa.fa-heart-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-heart-o:before { + content: "\f004"; } + +.fa.fa-sign-out:before { + content: "\f2f5"; } + +.fa.fa-linkedin-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linkedin-square:before { + content: "\f08c"; } + +.fa.fa-thumb-tack:before { + content: "\f08d"; } + +.fa.fa-external-link:before { + content: "\f35d"; } + +.fa.fa-sign-in:before { + content: "\f2f6"; } + +.fa.fa-github-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-github-square:before { + content: "\f092"; } + +.fa.fa-lemon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-lemon-o:before { + content: "\f094"; } + +.fa.fa-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-square-o:before { + content: "\f0c8"; } + +.fa.fa-bookmark-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bookmark-o:before { + content: "\f02e"; } + +.fa.fa-twitter { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook:before { + content: "\f39e"; } + +.fa.fa-facebook-f { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-f:before { + content: "\f39e"; } + +.fa.fa-github { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-credit-card { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-feed:before { + content: "\f09e"; } + +.fa.fa-hdd-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hdd-o:before { + content: "\f0a0"; } + +.fa.fa-hand-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-right:before { + content: "\f0a4"; } + +.fa.fa-hand-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-left:before { + content: "\f0a5"; } + +.fa.fa-hand-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-up:before { + content: "\f0a6"; } + +.fa.fa-hand-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-down:before { + content: "\f0a7"; } + +.fa.fa-globe:before { + content: "\f57d"; } + +.fa.fa-tasks:before { + content: "\f828"; } + +.fa.fa-arrows-alt:before { + content: "\f31e"; } + +.fa.fa-group:before { + content: "\f0c0"; } + +.fa.fa-chain:before { + content: "\f0c1"; } + +.fa.fa-cut:before { + content: "\f0c4"; } + +.fa.fa-files-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-files-o:before { + content: "\f0c5"; } + +.fa.fa-floppy-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-floppy-o:before { + content: "\f0c7"; } + +.fa.fa-save { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-save:before { + content: "\f0c7"; } + +.fa.fa-navicon:before { + content: "\f0c9"; } + +.fa.fa-reorder:before { + content: "\f0c9"; } + +.fa.fa-magic:before { + content: "\e2ca"; } + +.fa.fa-pinterest { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa.fa-google-plus-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa.fa-google-plus { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus:before { + content: "\f0d5"; } + +.fa.fa-money:before { + content: "\f3d1"; } + +.fa.fa-unsorted:before { + content: "\f0dc"; } + +.fa.fa-sort-desc:before { + content: "\f0dd"; } + +.fa.fa-sort-asc:before { + content: "\f0de"; } + +.fa.fa-linkedin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linkedin:before { + content: "\f0e1"; } + +.fa.fa-rotate-left:before { + content: "\f0e2"; } + +.fa.fa-legal:before { + content: "\f0e3"; } + +.fa.fa-tachometer:before { + content: "\f625"; } + +.fa.fa-dashboard:before { + content: "\f625"; } + +.fa.fa-comment-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-comment-o:before { + content: "\f075"; } + +.fa.fa-comments-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-comments-o:before { + content: "\f086"; } + +.fa.fa-flash:before { + content: "\f0e7"; } + +.fa.fa-clipboard:before { + content: "\f0ea"; } + +.fa.fa-lightbulb-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-lightbulb-o:before { + content: "\f0eb"; } + +.fa.fa-exchange:before { + content: "\f362"; } + +.fa.fa-cloud-download:before { + content: "\f0ed"; } + +.fa.fa-cloud-upload:before { + content: "\f0ee"; } + +.fa.fa-bell-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bell-o:before { + content: "\f0f3"; } + +.fa.fa-cutlery:before { + content: "\f2e7"; } + +.fa.fa-file-text-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-text-o:before { + content: "\f15c"; } + +.fa.fa-building-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-building-o:before { + content: "\f1ad"; } + +.fa.fa-hospital-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hospital-o:before { + content: "\f0f8"; } + +.fa.fa-tablet:before { + content: "\f3fa"; } + +.fa.fa-mobile:before { + content: "\f3cd"; } + +.fa.fa-mobile-phone:before { + content: "\f3cd"; } + +.fa.fa-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-circle-o:before { + content: "\f111"; } + +.fa.fa-mail-reply:before { + content: "\f3e5"; } + +.fa.fa-github-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-folder-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-folder-o:before { + content: "\f07b"; } + +.fa.fa-folder-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-folder-open-o:before { + content: "\f07c"; } + +.fa.fa-smile-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-smile-o:before { + content: "\f118"; } + +.fa.fa-frown-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-frown-o:before { + content: "\f119"; } + +.fa.fa-meh-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-meh-o:before { + content: "\f11a"; } + +.fa.fa-keyboard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-keyboard-o:before { + content: "\f11c"; } + +.fa.fa-flag-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-flag-o:before { + content: "\f024"; } + +.fa.fa-mail-reply-all:before { + content: "\f122"; } + +.fa.fa-star-half-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-o:before { + content: "\f5c0"; } + +.fa.fa-star-half-empty { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-empty:before { + content: "\f5c0"; } + +.fa.fa-star-half-full { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-full:before { + content: "\f5c0"; } + +.fa.fa-code-fork:before { + content: "\f126"; } + +.fa.fa-chain-broken:before { + content: "\f127"; } + +.fa.fa-unlink:before { + content: "\f127"; } + +.fa.fa-calendar-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-o:before { + content: "\f133"; } + +.fa.fa-maxcdn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-html5 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-css3 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-unlock-alt:before { + content: "\f09c"; } + +.fa.fa-minus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-minus-square-o:before { + content: "\f146"; } + +.fa.fa-level-up:before { + content: "\f3bf"; } + +.fa.fa-level-down:before { + content: "\f3be"; } + +.fa.fa-pencil-square:before { + content: "\f14b"; } + +.fa.fa-external-link-square:before { + content: "\f360"; } + +.fa.fa-compass { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down:before { + content: "\f150"; } + +.fa.fa-toggle-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-down:before { + content: "\f150"; } + +.fa.fa-caret-square-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-up:before { + content: "\f151"; } + +.fa.fa-toggle-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-up:before { + content: "\f151"; } + +.fa.fa-caret-square-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-right:before { + content: "\f152"; } + +.fa.fa-toggle-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-right:before { + content: "\f152"; } + +.fa.fa-eur:before { + content: "\f153"; } + +.fa.fa-euro:before { + content: "\f153"; } + +.fa.fa-gbp:before { + content: "\f154"; } + +.fa.fa-usd:before { + content: "\24"; } + +.fa.fa-dollar:before { + content: "\24"; } + +.fa.fa-inr:before { + content: "\e1bc"; } + +.fa.fa-rupee:before { + content: "\e1bc"; } + +.fa.fa-jpy:before { + content: "\f157"; } + +.fa.fa-cny:before { + content: "\f157"; } + +.fa.fa-rmb:before { + content: "\f157"; } + +.fa.fa-yen:before { + content: "\f157"; } + +.fa.fa-rub:before { + content: "\f158"; } + +.fa.fa-ruble:before { + content: "\f158"; } + +.fa.fa-rouble:before { + content: "\f158"; } + +.fa.fa-krw:before { + content: "\f159"; } + +.fa.fa-won:before { + content: "\f159"; } + +.fa.fa-btc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin:before { + content: "\f15a"; } + +.fa.fa-file-text:before { + content: "\f15c"; } + +.fa.fa-sort-alpha-asc:before { + content: "\f15d"; } + +.fa.fa-sort-alpha-desc:before { + content: "\f881"; } + +.fa.fa-sort-amount-asc:before { + content: "\f884"; } + +.fa.fa-sort-amount-desc:before { + content: "\f160"; } + +.fa.fa-sort-numeric-asc:before { + content: "\f162"; } + +.fa.fa-sort-numeric-desc:before { + content: "\f886"; } + +.fa.fa-youtube-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-youtube-square:before { + content: "\f431"; } + +.fa.fa-youtube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing-square:before { + content: "\f169"; } + +.fa.fa-youtube-play { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play:before { + content: "\f167"; } + +.fa.fa-dropbox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stack-overflow { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-instagram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-flickr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-adn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square:before { + content: "\f171"; } + +.fa.fa-tumblr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square:before { + content: "\f174"; } + +.fa.fa-long-arrow-down:before { + content: "\f309"; } + +.fa.fa-long-arrow-up:before { + content: "\f30c"; } + +.fa.fa-long-arrow-left:before { + content: "\f30a"; } + +.fa.fa-long-arrow-right:before { + content: "\f30b"; } + +.fa.fa-apple { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-windows { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-android { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linux { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-dribbble { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-skype { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-foursquare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-trello { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gratipay { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gittip { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gittip:before { + content: "\f184"; } + +.fa.fa-sun-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sun-o:before { + content: "\f185"; } + +.fa.fa-moon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-moon-o:before { + content: "\f186"; } + +.fa.fa-vk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-renren { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pagelines { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stack-exchange { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right:before { + content: "\f35a"; } + +.fa.fa-arrow-circle-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-left:before { + content: "\f359"; } + +.fa.fa-caret-square-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-left:before { + content: "\f191"; } + +.fa.fa-toggle-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-left:before { + content: "\f191"; } + +.fa.fa-dot-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-dot-circle-o:before { + content: "\f192"; } + +.fa.fa-vimeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo-square:before { + content: "\f194"; } + +.fa.fa-try:before { + content: "\e2bb"; } + +.fa.fa-turkish-lira:before { + content: "\e2bb"; } + +.fa.fa-plus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-plus-square-o:before { + content: "\f0fe"; } + +.fa.fa-slack { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wordpress { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-openid { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-institution:before { + content: "\f19c"; } + +.fa.fa-bank:before { + content: "\f19c"; } + +.fa.fa-mortar-board:before { + content: "\f19d"; } + +.fa.fa-yahoo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square:before { + content: "\f1a2"; } + +.fa.fa-stumbleupon-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-delicious { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-digg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-pp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-drupal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-joomla { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance-square:before { + content: "\f1b5"; } + +.fa.fa-steam { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-steam-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-steam-square:before { + content: "\f1b7"; } + +.fa.fa-automobile:before { + content: "\f1b9"; } + +.fa.fa-cab:before { + content: "\f1ba"; } + +.fa.fa-spotify { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-deviantart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-soundcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-file-pdf-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-pdf-o:before { + content: "\f1c1"; } + +.fa.fa-file-word-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-word-o:before { + content: "\f1c2"; } + +.fa.fa-file-excel-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-excel-o:before { + content: "\f1c3"; } + +.fa.fa-file-powerpoint-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-powerpoint-o:before { + content: "\f1c4"; } + +.fa.fa-file-image-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-image-o:before { + content: "\f1c5"; } + +.fa.fa-file-photo-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-photo-o:before { + content: "\f1c5"; } + +.fa.fa-file-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-picture-o:before { + content: "\f1c5"; } + +.fa.fa-file-archive-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-archive-o:before { + content: "\f1c6"; } + +.fa.fa-file-zip-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-zip-o:before { + content: "\f1c6"; } + +.fa.fa-file-audio-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-audio-o:before { + content: "\f1c7"; } + +.fa.fa-file-sound-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-sound-o:before { + content: "\f1c7"; } + +.fa.fa-file-video-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-video-o:before { + content: "\f1c8"; } + +.fa.fa-file-movie-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-movie-o:before { + content: "\f1c8"; } + +.fa.fa-file-code-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-code-o:before { + content: "\f1c9"; } + +.fa.fa-vine { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-codepen { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-jsfiddle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-life-bouy:before { + content: "\f1cd"; } + +.fa.fa-life-buoy:before { + content: "\f1cd"; } + +.fa.fa-life-saver:before { + content: "\f1cd"; } + +.fa.fa-support:before { + content: "\f1cd"; } + +.fa.fa-circle-o-notch:before { + content: "\f1ce"; } + +.fa.fa-rebel { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ra { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ra:before { + content: "\f1d0"; } + +.fa.fa-resistance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-resistance:before { + content: "\f1d0"; } + +.fa.fa-empire { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ge:before { + content: "\f1d1"; } + +.fa.fa-git-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-git-square:before { + content: "\f1d2"; } + +.fa.fa-git { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-hacker-news { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square:before { + content: "\f1d4"; } + +.fa.fa-yc-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc-square:before { + content: "\f1d4"; } + +.fa.fa-tencent-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-qq { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-weixin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wechat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wechat:before { + content: "\f1d7"; } + +.fa.fa-send:before { + content: "\f1d8"; } + +.fa.fa-paper-plane-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-paper-plane-o:before { + content: "\f1d8"; } + +.fa.fa-send-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-send-o:before { + content: "\f1d8"; } + +.fa.fa-circle-thin { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-circle-thin:before { + content: "\f111"; } + +.fa.fa-header:before { + content: "\f1dc"; } + +.fa.fa-futbol-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-futbol-o:before { + content: "\f1e3"; } + +.fa.fa-soccer-ball-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-soccer-ball-o:before { + content: "\f1e3"; } + +.fa.fa-slideshare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-twitch { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yelp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-newspaper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-newspaper-o:before { + content: "\f1ea"; } + +.fa.fa-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-wallet { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-visa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-mastercard { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-discover { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-amex { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-stripe { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bell-slash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bell-slash-o:before { + content: "\f1f6"; } + +.fa.fa-trash:before { + content: "\f2ed"; } + +.fa.fa-copyright { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-eyedropper:before { + content: "\f1fb"; } + +.fa.fa-area-chart:before { + content: "\f1fe"; } + +.fa.fa-pie-chart:before { + content: "\f200"; } + +.fa.fa-line-chart:before { + content: "\f201"; } + +.fa.fa-lastfm { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square:before { + content: "\f203"; } + +.fa.fa-ioxhost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-angellist { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-cc:before { + content: "\f20a"; } + +.fa.fa-ils:before { + content: "\f20b"; } + +.fa.fa-shekel:before { + content: "\f20b"; } + +.fa.fa-sheqel:before { + content: "\f20b"; } + +.fa.fa-buysellads { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-connectdevelop { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-dashcube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-forumbee { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-leanpub { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-sellsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-shirtsinbulk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-simplybuilt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-skyatlas { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-diamond { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-diamond:before { + content: "\f3a5"; } + +.fa.fa-transgender:before { + content: "\f224"; } + +.fa.fa-intersex:before { + content: "\f224"; } + +.fa.fa-transgender-alt:before { + content: "\f225"; } + +.fa.fa-facebook-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-official:before { + content: "\f09a"; } + +.fa.fa-pinterest-p { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-whatsapp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-hotel:before { + content: "\f236"; } + +.fa.fa-viacoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-medium { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc:before { + content: "\f23b"; } + +.fa.fa-optin-monster { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-opencart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-expeditedssl { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-battery-4:before { + content: "\f240"; } + +.fa.fa-battery:before { + content: "\f240"; } + +.fa.fa-battery-3:before { + content: "\f241"; } + +.fa.fa-battery-2:before { + content: "\f242"; } + +.fa.fa-battery-1:before { + content: "\f243"; } + +.fa.fa-battery-0:before { + content: "\f244"; } + +.fa.fa-object-group { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-object-ungroup { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o:before { + content: "\f249"; } + +.fa.fa-cc-jcb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-diners-club { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-clone { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o:before { + content: "\f254"; } + +.fa.fa-hourglass-1:before { + content: "\f251"; } + +.fa.fa-hourglass-2:before { + content: "\f252"; } + +.fa.fa-hourglass-3:before { + content: "\f253"; } + +.fa.fa-hand-rock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-rock-o:before { + content: "\f255"; } + +.fa.fa-hand-grab-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-grab-o:before { + content: "\f255"; } + +.fa.fa-hand-paper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-paper-o:before { + content: "\f256"; } + +.fa.fa-hand-stop-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-stop-o:before { + content: "\f256"; } + +.fa.fa-hand-scissors-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-scissors-o:before { + content: "\f257"; } + +.fa.fa-hand-lizard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-lizard-o:before { + content: "\f258"; } + +.fa.fa-hand-spock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-spock-o:before { + content: "\f259"; } + +.fa.fa-hand-pointer-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-pointer-o:before { + content: "\f25a"; } + +.fa.fa-hand-peace-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-peace-o:before { + content: "\f25b"; } + +.fa.fa-registered { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-creative-commons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gg-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa.fa-get-pocket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wikipedia-w { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-safari { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-chrome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-firefox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-opera { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-internet-explorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-television:before { + content: "\f26c"; } + +.fa.fa-contao { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-500px { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-amazon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-calendar-plus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-plus-o:before { + content: "\f271"; } + +.fa.fa-calendar-minus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-minus-o:before { + content: "\f272"; } + +.fa.fa-calendar-times-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-times-o:before { + content: "\f273"; } + +.fa.fa-calendar-check-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-check-o:before { + content: "\f274"; } + +.fa.fa-map-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-map-o:before { + content: "\f279"; } + +.fa.fa-commenting:before { + content: "\f4ad"; } + +.fa.fa-commenting-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-commenting-o:before { + content: "\f4ad"; } + +.fa.fa-houzz { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo:before { + content: "\f27d"; } + +.fa.fa-black-tie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fonticons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-alien { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-edge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-credit-card-alt:before { + content: "\f09d"; } + +.fa.fa-codiepie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-modx { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fort-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-usb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-product-hunt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-mixcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-scribd { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pause-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-pause-circle-o:before { + content: "\f28b"; } + +.fa.fa-stop-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-stop-circle-o:before { + content: "\f28d"; } + +.fa.fa-bluetooth { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bluetooth-b { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gitlab { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpbeginner { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpforms { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-envira { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt:before { + content: "\f368"; } + +.fa.fa-question-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-question-circle-o:before { + content: "\f059"; } + +.fa.fa-volume-control-phone:before { + content: "\f2a0"; } + +.fa.fa-asl-interpreting:before { + content: "\f2a3"; } + +.fa.fa-deafness:before { + content: "\f2a4"; } + +.fa.fa-hard-of-hearing:before { + content: "\f2a4"; } + +.fa.fa-glide { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-glide-g { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-signing:before { + content: "\f2a7"; } + +.fa.fa-viadeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa.fa-snapchat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost:before { + content: "\f2ab"; } + +.fa.fa-snapchat-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa.fa-pied-piper { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-first-order { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yoast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-themeisle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official:before { + content: "\f2b3"; } + +.fa.fa-google-plus-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-circle:before { + content: "\f2b3"; } + +.fa.fa-font-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fa:before { + content: "\f2b4"; } + +.fa.fa-handshake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-handshake-o:before { + content: "\f2b5"; } + +.fa.fa-envelope-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-envelope-open-o:before { + content: "\f2b6"; } + +.fa.fa-linode { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-address-book-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-address-book-o:before { + content: "\f2b9"; } + +.fa.fa-vcard:before { + content: "\f2bb"; } + +.fa.fa-address-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-address-card-o:before { + content: "\f2bb"; } + +.fa.fa-vcard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-vcard-o:before { + content: "\f2bb"; } + +.fa.fa-user-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-user-circle-o:before { + content: "\f2bd"; } + +.fa.fa-user-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-user-o:before { + content: "\f007"; } + +.fa.fa-id-badge { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-drivers-license:before { + content: "\f2c2"; } + +.fa.fa-id-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-id-card-o:before { + content: "\f2c2"; } + +.fa.fa-drivers-license-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-drivers-license-o:before { + content: "\f2c2"; } + +.fa.fa-quora { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-free-code-camp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-telegram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-thermometer-4:before { + content: "\f2c7"; } + +.fa.fa-thermometer:before { + content: "\f2c7"; } + +.fa.fa-thermometer-3:before { + content: "\f2c8"; } + +.fa.fa-thermometer-2:before { + content: "\f2c9"; } + +.fa.fa-thermometer-1:before { + content: "\f2ca"; } + +.fa.fa-thermometer-0:before { + content: "\f2cb"; } + +.fa.fa-bathtub:before { + content: "\f2cd"; } + +.fa.fa-s15:before { + content: "\f2cd"; } + +.fa.fa-window-maximize { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-window-restore { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle:before { + content: "\f410"; } + +.fa.fa-window-close-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-window-close-o:before { + content: "\f410"; } + +.fa.fa-times-rectangle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle-o:before { + content: "\f410"; } + +.fa.fa-bandcamp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-grav { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-etsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-imdb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ravelry { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-eercast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-eercast:before { + content: "\f2da"; } + +.fa.fa-snowflake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-snowflake-o:before { + content: "\f2dc"; } + +.fa.fa-superpowers { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpexplorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-meetup { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } diff --git a/docs/deps/font-awesome-6.5.2/css/v4-shims.min.css b/docs/deps/font-awesome-6.5.2/css/v4-shims.min.css new file mode 100644 index 0000000..09baf5f --- /dev/null +++ b/docs/deps/font-awesome-6.5.2/css/v4-shims.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */ +.fa.fa-glass:before{content:"\f000"}.fa.fa-envelope-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-star-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-home:before{content:"\f015"}.fa.fa-file-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-list-alt:before{content:"\f022"}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-edit{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-edit:before{content:"\f044"}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart-o:before,.fa.fa-bar-chart:before{content:"\e0e3"}.fa.fa-twitter-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-twitter-square:before{content:"\f081"}.fa.fa-facebook-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-square:before{content:"\f082"}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-github-square:before{content:"\f092"}.fa.fa-lemon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-globe:before{content:"\f57d"}.fa.fa-tasks:before{content:"\f828"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-cut:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-save{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-save:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-magic:before{content:"\e2ca"}.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pinterest-square:before{content:"\f0d3"}.fa.fa-google-plus-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-square:before{content:"\f0d4"}.fa.fa-google-plus{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f625"}.fa.fa-comment-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard:before{content:"\f0ea"}.fa.fa-lightbulb-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f0ed"}.fa.fa-cloud-upload:before{content:"\f0ee"}.fa.fa-bell-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f5c0"}.fa.fa-star-half-empty{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f5c0"}.fa.fa-star-half-full{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f5c0"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before,.fa.fa-unlink:before{content:"\f127"}.fa.fa-calendar-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-unlock-alt:before{content:"\f09c"}.fa.fa-minus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\24"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\e1bc"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f884"}.fa.fa-sort-amount-desc:before{content:"\f160"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-square:before{content:"\f431"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-xing-square:before{content:"\f169"}.fa.fa-youtube-play{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-tumblr-square:before{content:"\f174"}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo-square:before{content:"\f194"}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\e2bb"}.fa.fa-plus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-google,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-yahoo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-reddit-square:before{content:"\f1a2"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-behance-square:before{content:"\f1b5"}.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-steam-square:before{content:"\f1b7"}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-life-bouy:before,.fa.fa-life-buoy:before,.fa.fa-life-saver:before,.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-git-square:before{content:"\f1d2"}.fa.fa-git,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-futbol-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-lastfm-square:before{content:"\f203"}.fa.fa-angellist,.fa.fa-ioxhost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before,.fa.fa-transgender:before{content:"\f224"}.fa.fa-transgender-alt:before{content:"\f225"}.fa.fa-facebook-official{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-clone{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-creative-commons,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-odnoklassniki-square:before{content:"\f264"}.fa.fa-chrome,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-internet-explorer,.fa.fa-opera,.fa.fa-safari,.fa.fa-wikipedia-w{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-viadeo,.fa.fa-viadeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-viadeo-square:before{content:"\f2aa"}.fa.fa-snapchat,.fa.fa-snapchat-ghost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-ghost:before{content:"\f2ab"}.fa.fa-snapchat-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-square:before{content:"\f2ad"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-themeisle,.fa.fa-yoast{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-meetup,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 6 Brands";font-weight:400} \ No newline at end of file diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-brands-400.ttf b/docs/deps/font-awesome-6.5.2/webfonts/fa-brands-400.ttf new file mode 100644 index 0000000..1fbb1f7 Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-brands-400.ttf differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-brands-400.woff2 b/docs/deps/font-awesome-6.5.2/webfonts/fa-brands-400.woff2 new file mode 100644 index 0000000..5d28021 Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-brands-400.woff2 differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-regular-400.ttf b/docs/deps/font-awesome-6.5.2/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000..549d68d Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-regular-400.ttf differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-regular-400.woff2 b/docs/deps/font-awesome-6.5.2/webfonts/fa-regular-400.woff2 new file mode 100644 index 0000000..18400d7 Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-regular-400.woff2 differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-solid-900.ttf b/docs/deps/font-awesome-6.5.2/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000..bb2a869 Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-solid-900.ttf differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-solid-900.woff2 b/docs/deps/font-awesome-6.5.2/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000..758dd4f Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-solid-900.woff2 differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.ttf b/docs/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.ttf new file mode 100644 index 0000000..8c5864c Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.ttf differ diff --git a/docs/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.woff2 b/docs/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.woff2 new file mode 100644 index 0000000..f94bec2 Binary files /dev/null and b/docs/deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.woff2 differ diff --git a/docs/deps/headroom-0.11.0/headroom.min.js b/docs/deps/headroom-0.11.0/headroom.min.js new file mode 100644 index 0000000..433069f --- /dev/null +++ b/docs/deps/headroom-0.11.0/headroom.min.js @@ -0,0 +1,7 @@ +/*! + * headroom.js v0.11.0 - Give your page some headroom. Hide your header until you need it + * Copyright (c) 2020 Nick Williams - http://wicky.nillia.ms/headroom.js + * License: MIT + */ + +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t=t||self).Headroom=n()}(this,function(){"use strict";function t(){return"undefined"!=typeof window}function d(t){return function(t){return t&&t.document&&function(t){return 9===t.nodeType}(t.document)}(t)?function(t){var n=t.document,o=n.body,s=n.documentElement;return{scrollHeight:function(){return Math.max(o.scrollHeight,s.scrollHeight,o.offsetHeight,s.offsetHeight,o.clientHeight,s.clientHeight)},height:function(){return t.innerHeight||s.clientHeight||o.clientHeight},scrollY:function(){return void 0!==t.pageYOffset?t.pageYOffset:(s||o.parentNode||o).scrollTop}}}(t):function(t){return{scrollHeight:function(){return Math.max(t.scrollHeight,t.offsetHeight,t.clientHeight)},height:function(){return Math.max(t.offsetHeight,t.clientHeight)},scrollY:function(){return t.scrollTop}}}(t)}function n(t,s,e){var n,o=function(){var n=!1;try{var t={get passive(){n=!0}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){n=!1}return n}(),i=!1,r=d(t),l=r.scrollY(),a={};function c(){var t=Math.round(r.scrollY()),n=r.height(),o=r.scrollHeight();a.scrollY=t,a.lastScrollY=l,a.direction=ls.tolerance[a.direction],e(a),l=t,i=!1}function h(){i||(i=!0,n=requestAnimationFrame(c))}var u=!!o&&{passive:!0,capture:!1};return t.addEventListener("scroll",h,u),c(),{destroy:function(){cancelAnimationFrame(n),t.removeEventListener("scroll",h,u)}}}function o(t,n){n=n||{},Object.assign(this,o.options,n),this.classes=Object.assign({},o.options.classes,n.classes),this.elem=t,this.tolerance=function(t){return t===Object(t)?t:{down:t,up:t}}(this.tolerance),this.initialised=!1,this.frozen=!1}return o.prototype={constructor:o,init:function(){return o.cutsTheMustard&&!this.initialised&&(this.addClass("initial"),this.initialised=!0,setTimeout(function(t){t.scrollTracker=n(t.scroller,{offset:t.offset,tolerance:t.tolerance},t.update.bind(t))},100,this)),this},destroy:function(){this.initialised=!1,Object.keys(this.classes).forEach(this.removeClass,this),this.scrollTracker.destroy()},unpin:function(){!this.hasClass("pinned")&&this.hasClass("unpinned")||(this.addClass("unpinned"),this.removeClass("pinned"),this.onUnpin&&this.onUnpin.call(this))},pin:function(){this.hasClass("unpinned")&&(this.addClass("pinned"),this.removeClass("unpinned"),this.onPin&&this.onPin.call(this))},freeze:function(){this.frozen=!0,this.addClass("frozen")},unfreeze:function(){this.frozen=!1,this.removeClass("frozen")},top:function(){this.hasClass("top")||(this.addClass("top"),this.removeClass("notTop"),this.onTop&&this.onTop.call(this))},notTop:function(){this.hasClass("notTop")||(this.addClass("notTop"),this.removeClass("top"),this.onNotTop&&this.onNotTop.call(this))},bottom:function(){this.hasClass("bottom")||(this.addClass("bottom"),this.removeClass("notBottom"),this.onBottom&&this.onBottom.call(this))},notBottom:function(){this.hasClass("notBottom")||(this.addClass("notBottom"),this.removeClass("bottom"),this.onNotBottom&&this.onNotBottom.call(this))},shouldUnpin:function(t){return"down"===t.direction&&!t.top&&t.toleranceExceeded},shouldPin:function(t){return"up"===t.direction&&t.toleranceExceeded||t.top},addClass:function(t){this.elem.classList.add.apply(this.elem.classList,this.classes[t].split(" "))},removeClass:function(t){this.elem.classList.remove.apply(this.elem.classList,this.classes[t].split(" "))},hasClass:function(t){return this.classes[t].split(" ").every(function(t){return this.classList.contains(t)},this.elem)},update:function(t){t.isOutOfBounds||!0!==this.frozen&&(t.top?this.top():this.notTop(),t.bottom?this.bottom():this.notBottom(),this.shouldUnpin(t)?this.unpin():this.shouldPin(t)&&this.pin())}},o.options={tolerance:{up:0,down:0},offset:0,scroller:t()?window:null,classes:{frozen:"headroom--frozen",pinned:"headroom--pinned",unpinned:"headroom--unpinned",top:"headroom--top",notTop:"headroom--not-top",bottom:"headroom--bottom",notBottom:"headroom--not-bottom",initial:"headroom"}},o.cutsTheMustard=!!(t()&&function(){}.bind&&"classList"in document.documentElement&&Object.assign&&Object.keys&&requestAnimationFrame),o}); \ No newline at end of file diff --git a/docs/deps/headroom-0.11.0/jQuery.headroom.min.js b/docs/deps/headroom-0.11.0/jQuery.headroom.min.js new file mode 100644 index 0000000..17f70c9 --- /dev/null +++ b/docs/deps/headroom-0.11.0/jQuery.headroom.min.js @@ -0,0 +1,7 @@ +/*! + * headroom.js v0.9.4 - Give your page some headroom. Hide your header until you need it + * Copyright (c) 2017 Nick Williams - http://wicky.nillia.ms/headroom.js + * License: MIT + */ + +!function(a){a&&(a.fn.headroom=function(b){return this.each(function(){var c=a(this),d=c.data("headroom"),e="object"==typeof b&&b;e=a.extend(!0,{},Headroom.options,e),d||(d=new Headroom(this,e),d.init(),c.data("headroom",d)),"string"==typeof b&&(d[b](),"destroy"===b&&c.removeData("headroom"))})},a("[data-headroom]").each(function(){var b=a(this);b.headroom(b.data())}))}(window.Zepto||window.jQuery); \ No newline at end of file diff --git a/docs/deps/jquery-3.6.0/jquery-3.6.0.js b/docs/deps/jquery-3.6.0/jquery-3.6.0.js new file mode 100644 index 0000000..fc6c299 --- /dev/null +++ b/docs/deps/jquery-3.6.0/jquery-3.6.0.js @@ -0,0 +1,10881 @@ +/*! + * jQuery JavaScript Library v3.6.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2021-03-02T17:08Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.6.0", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), + function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.6 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2021-02-16 + */ +( function( window ) { +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ( {} ).hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[ i ] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + + // Can't trust NodeList.length + while ( ( target[ j++ ] = els[ i++ ] ) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && + + // Support: IE 8 only + // Exclude object elements + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split( "|" ), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[ i ] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( ( cur = cur.nextSibling ) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return ( name === "input" || name === "button" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert( function( el ) { + el.className = "i"; + return !el.getAttribute( "className" ); + } ); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find[ "TAG" ] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll( "[name=d]" ).length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); + } + + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { + + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + } ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); + } : + function( a, b ) { + if ( b ) { + while ( ( b = b.parentNode ) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( ( cur = cur.parentNode ) ) { + ap.unshift( cur ); + } + cur = b; + while ( ( cur = cur.parentNode ) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[ i ] === bp[ i ] ) { + i++; + } + + return i ? + + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[ i ], bp[ i ] ) : + + // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + /* eslint-disable max-len */ + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + /* eslint-enable max-len */ + + }; + }, + + "CHILD": function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + "not": markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element (issue #299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + "has": markFunction( function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + } ), + + "contains": markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); + }, + + "selected": function( elem ) { + + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos[ "empty" ]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo( function() { + return [ 0 ]; + } ), + + "last": createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + "even": createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "odd": createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rcombinators.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = uniqueCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert( function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + } ); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert( function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + } ); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; + } + } ); +} + +return Sizzle; + +} )( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +} +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the primary Deferred + primary = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + primary.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( primary.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return primary.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); + } + + return primary.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + + // Support: Chrome 86+ + // In Chrome, if an element having a focusout handler is blurred by + // clicking outside of it, it invokes the handler synchronously. If + // that handler calls `.remove()` on the element, the data is cleared, + // leaving `result` undefined. We need to guard against this. + return result && result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + which: true +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + // Suppress native focus or blur as it's already being fired + // in leverageNative. + _default: function() { + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + tr.style.height = "1px"; + trChild.style.height = "9px"; + + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is display: block + // gets around this issue. + trChild.style.display = "block"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, parserErrorElem; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) {} + + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ).filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ).map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + +originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + 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" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..dd3a967 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,224 @@ + + + + + + + +Monitor d'OSM • monitorOSM + + + + + + + + + + + + + + + + + Salta als continguts + + +
    +
    +
    + + + + +

    monitorOSM és un repositori que serveix per monitoritzar canvis a OpenStreetMap comparant els objectes amb bases de dades de referència.

    +

    Podeu veure els informes que s’actualitzen diàriament a https://osm-catalan.github.io/monitorOSM. Els informes de canvis mostren taules amb l’estat de les etiquetes a OSM i a les bases de dades de referència:

    + + + + + + + + + + + + + + + + + + + + + + + + +
    +osm_url + +canvi + +name:ca + +name + +wikipedia +
    +http://osm.org/node/XXXX + ++ + +nom a OSM + +Sense canvis + +
    +http://osm.org/node/XXXX + +- + +nom de referència + +Sense canvis + +ca:Eliminat +
    +

    També es mostra quins conjunts de canvis han trencat les etiquetes amb enllaços per si es vol deixar comentaris.

    +
    +

    Afegir nous objectes a les bases de dades +

    +

    Si voleu afegir objectes amb les seves etiquetes a les bases de dades, podeu obrir un tiquet o podeu provar de fer un PR amb les instruccions que trobareu a aquí. Fora bo que els estats de referència dels objectes siguin consensuats amb la Comunitat d’OpenStreetmap en català.

    +
    +
    +

    Paquet d’R +

    +

    La consulta, comparació amb bases de dades de referència i renderització de la web es fan amb un paquet d’R i accions de github. El paquet també inclou funcions per restaurar els objectes de manera ràpida, però com a projecte comunitari, és important intentar parlar amb els usuaris que discrepen de les bases de dades de referència. Vegeu la documentació del paquet d’R per més detalls.

    +
    +

    Exemples d’ús del paquet +

    +

    Instal·leu el paquet d’R:

    +
    +# install.packages("remotes")
    +remotes::install_github("OSM-Catalan/monitorOSM")
    +
    +
    +

    Generació dels informes locals +

    +

    Per refrescar els informes localment i veure la web, podeu clonar el repositori i des d’R situat a la carpeta del projecte:

    +
    +# install.packages("quarto")
    +library(quarto)
    +quarto_render()
    +
    +

    Exemple de restauració +

    +

    Restauració de les etiquetes name i wikipedia de les comarques del País Valencià:

    +
    +library(monitorOSM)
    +
    +id <- modifica_etiquetes_osm(
    +  comarques[comarques$regio == "PV", ],
    +  claus = c("name", "wikipedia"),
    +  comentari = "Restaura els noms de les comarques dels País Valencià", hashtags = "monitorOSM"
    +)
    +

    Retorna l’identificador del conjunt de canvis.

    +
    +
    +
    +
    +
    +
    + + +
    + + + +
    +
    + + + + + + + diff --git a/docs/katex-auto.js b/docs/katex-auto.js new file mode 100644 index 0000000..20651d9 --- /dev/null +++ b/docs/katex-auto.js @@ -0,0 +1,14 @@ +// https://github.com/jgm/pandoc/blob/29fa97ab96b8e2d62d48326e1b949a71dc41f47a/src/Text/Pandoc/Writers/HTML.hs#L332-L345 +document.addEventListener("DOMContentLoaded", function () { + var mathElements = document.getElementsByClassName("math"); + var macros = []; + for (var i = 0; i < mathElements.length; i++) { + var texText = mathElements[i].firstChild; + if (mathElements[i].tagName == "SPAN") { + katex.render(texText.data, mathElements[i], { + displayMode: mathElements[i].classList.contains("display"), + throwOnError: false, + macros: macros, + fleqn: false + }); + }}}); diff --git a/docs/lightswitch.js b/docs/lightswitch.js new file mode 100644 index 0000000..9467125 --- /dev/null +++ b/docs/lightswitch.js @@ -0,0 +1,85 @@ + +/*! + * Color mode toggler for Bootstrap's docs (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under the Creative Commons Attribution 3.0 Unported License. + * Updates for {pkgdown} by the {bslib} authors, also licensed under CC-BY-3.0. + */ + +const getStoredTheme = () => localStorage.getItem('theme') +const setStoredTheme = theme => localStorage.setItem('theme', theme) + +const getPreferredTheme = () => { + const storedTheme = getStoredTheme() + if (storedTheme) { + return storedTheme + } + + return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' +} + +const setTheme = theme => { + if (theme === 'auto') { + document.documentElement.setAttribute('data-bs-theme', (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')) + } else { + document.documentElement.setAttribute('data-bs-theme', theme) + } +} + +function bsSetupThemeToggle () { + 'use strict' + + const showActiveTheme = (theme, focus = false) => { + var activeLabel, activeIcon; + + document.querySelectorAll('[data-bs-theme-value]').forEach(element => { + const buttonTheme = element.getAttribute('data-bs-theme-value') + const isActive = buttonTheme == theme + + element.classList.toggle('active', isActive) + element.setAttribute('aria-pressed', isActive) + + if (isActive) { + activeLabel = element.textContent; + activeIcon = element.querySelector('span').classList.value; + } + }) + + const themeSwitcher = document.querySelector('#dropdown-lightswitch') + if (!themeSwitcher) { + return + } + + themeSwitcher.setAttribute('aria-label', activeLabel) + themeSwitcher.querySelector('span').classList.value = activeIcon; + + if (focus) { + themeSwitcher.focus() + } + } + + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { + const storedTheme = getStoredTheme() + if (storedTheme !== 'light' && storedTheme !== 'dark') { + setTheme(getPreferredTheme()) + } + }) + + window.addEventListener('DOMContentLoaded', () => { + showActiveTheme(getPreferredTheme()) + + document + .querySelectorAll('[data-bs-theme-value]') + .forEach(toggle => { + toggle.addEventListener('click', () => { + const theme = toggle.getAttribute('data-bs-theme-value') + setTheme(theme) + setStoredTheme(theme) + showActiveTheme(theme, true) + }) + }) + }) +} + +setTheme(getPreferredTheme()); +bsSetupThemeToggle(); diff --git a/docs/link.svg b/docs/link.svg new file mode 100644 index 0000000..88ad827 --- /dev/null +++ b/docs/link.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/docs/logo.svg b/docs/logo.svg new file mode 100644 index 0000000..a236847 --- /dev/null +++ b/docs/logo.svg @@ -0,0 +1,338 @@ + + + OpenStreetMap Catalan Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + OpenStreetMap Catalan Logo + + + + + + + 2022-11 + + + + + + Official logo for OpenStreetMap Foundation by Ken Vermette +Catalan flag : wikimedia + + + OSM openstreetmap catalan logo + + + http://wiki.openstreetmap.org/wiki/File:Public-images-osm_logo.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 010110010011010110010011  + 010110010011010110010011  + + + \ No newline at end of file diff --git a/docs/pkgdown.js b/docs/pkgdown.js new file mode 100644 index 0000000..1a99c65 --- /dev/null +++ b/docs/pkgdown.js @@ -0,0 +1,162 @@ +/* http://gregfranko.com/blog/jquery-best-practices/ */ +(function($) { + $(function() { + + $('nav.navbar').headroom(); + + Toc.init({ + $nav: $("#toc"), + $scope: $("main h2, main h3, main h4, main h5, main h6") + }); + + if ($('#toc').length) { + $('body').scrollspy({ + target: '#toc', + offset: $("nav.navbar").outerHeight() + 1 + }); + } + + // Activate popovers + $('[data-bs-toggle="popover"]').popover({ + container: 'body', + html: true, + trigger: 'focus', + placement: "top", + sanitize: false, + }); + + $('[data-bs-toggle="tooltip"]').tooltip(); + + /* Clipboard --------------------------*/ + + function changeTooltipMessage(element, msg) { + var tooltipOriginalTitle=element.getAttribute('data-bs-original-title'); + element.setAttribute('data-bs-original-title', msg); + $(element).tooltip('show'); + element.setAttribute('data-bs-original-title', tooltipOriginalTitle); + } + + if(ClipboardJS.isSupported()) { + $(document).ready(function() { + var copyButton = ""; + + $("div.sourceCode").addClass("hasCopyButton"); + + // Insert copy buttons: + $(copyButton).prependTo(".hasCopyButton"); + + // Initialize tooltips: + $('.btn-copy-ex').tooltip({container: 'body'}); + + // Initialize clipboard: + var clipboard = new ClipboardJS('[data-clipboard-copy]', { + text: function(trigger) { + return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, ""); + } + }); + + clipboard.on('success', function(e) { + changeTooltipMessage(e.trigger, 'Copied!'); + e.clearSelection(); + }); + + clipboard.on('error', function(e) { + changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy'); + }); + + }); + } + + /* Search marking --------------------------*/ + var url = new URL(window.location.href); + var toMark = url.searchParams.get("q"); + var mark = new Mark("main#main"); + if (toMark) { + mark.mark(toMark, { + accuracy: { + value: "complementary", + limiters: [",", ".", ":", "/"], + } + }); + } + + /* Search --------------------------*/ + /* Adapted from https://github.com/rstudio/bookdown/blob/2d692ba4b61f1e466c92e78fd712b0ab08c11d31/inst/resources/bs4_book/bs4_book.js#L25 */ + // Initialise search index on focus + var fuse; + $("#search-input").focus(async function(e) { + if (fuse) { + return; + } + + $(e.target).addClass("loading"); + var response = await fetch($("#search-input").data("search-index")); + var data = await response.json(); + + var options = { + keys: ["what", "text", "code"], + ignoreLocation: true, + threshold: 0.1, + includeMatches: true, + includeScore: true, + }; + fuse = new Fuse(data, options); + + $(e.target).removeClass("loading"); + }); + + // Use algolia autocomplete + var options = { + autoselect: true, + debug: true, + hint: false, + minLength: 2, + }; + var q; +async function searchFuse(query, callback) { + await fuse; + + var items; + if (!fuse) { + items = []; + } else { + q = query; + var results = fuse.search(query, { limit: 20 }); + items = results + .filter((x) => x.score <= 0.75) + .map((x) => x.item); + if (items.length === 0) { + items = [{dir:"Sorry 😿",previous_headings:"",title:"No results found.",what:"No results found.",path:window.location.href}]; + } + } + callback(items); +} + $("#search-input").autocomplete(options, [ + { + name: "content", + source: searchFuse, + templates: { + suggestion: (s) => { + if (s.title == s.what) { + return `${s.dir} >
    ${s.title}
    `; + } else if (s.previous_headings == "") { + return `${s.dir} >
    ${s.title}
    > ${s.what}`; + } else { + return `${s.dir} >
    ${s.title}
    > ${s.previous_headings} > ${s.what}`; + } + }, + }, + }, + ]).on('autocomplete:selected', function(event, s) { + window.location.href = s.path + "?q=" + q + "#" + s.id; + }); + }); +})(window.jQuery || window.$) + +document.addEventListener('keydown', function(event) { + // Check if the pressed key is '/' + if (event.key === '/') { + event.preventDefault(); // Prevent any default action associated with the '/' key + document.getElementById('search-input').focus(); // Set focus to the search input + } +}); diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml new file mode 100644 index 0000000..418be37 --- /dev/null +++ b/docs/pkgdown.yml @@ -0,0 +1,8 @@ +pandoc: 3.1.11 +pkgdown: 2.1.1 +pkgdown_sha: ~ +articles: {} +last_built: 2024-12-03T10:59Z +urls: + reference: https://osm-catalan.github.io/monitorOSM/docs/reference + article: https://osm-catalan.github.io/monitorOSM/docs/articles diff --git a/docs/reference/PPCC.html b/docs/reference/PPCC.html new file mode 100644 index 0000000..0052bf4 --- /dev/null +++ b/docs/reference/PPCC.html @@ -0,0 +1,98 @@ + +Països Catalans — PPCC • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Dades dels Països Catalans a OSM.

    +
    + +
    +

    Ús

    +
    PPCC
    +
    + +
    +

    Format

    +

    Un data.frame amb les dades de la relació «Països Catalans» per les següents 6 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    name
    +

    Etiqueta name.

    + +
    wikipedia
    +

    Etiqueta wikipedia.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + + +
    +
    +

    Vegeu també

    +

    Altres bases de dades de referència: + municipis, comarques, territoris, + loc_admin_centre_municipis.

    +
    + +
    +

    Exemples

    +
    PPCC[, 1:3]
    +#>           name:ca   osm_id osm_type
    +#> 1 Països Catalans 11747082 relation
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/canvis_html.html b/docs/reference/canvis_html.html new file mode 100644 index 0000000..d639c45 --- /dev/null +++ b/docs/reference/canvis_html.html @@ -0,0 +1,75 @@ + +Canvis en html — canvis_html • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Mostra diferències de taules en html si n'hi ha. Funció pensada per usar en fitxers .qmd o .Rmd.

    +
    + +
    +

    Ús

    +
    canvis_html(x)
    +
    + +
    +

    Paràmetres

    + + +
    x
    +

    un objecte de compareDF::compare_df().

    + +
    +
    +

    Valor

    +

    La taula html amb les diferències o una cadena de text indicant que no hi ha diferències.

    +
    + +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/capitals.html b/docs/reference/capitals.html new file mode 100644 index 0000000..9dcc24a --- /dev/null +++ b/docs/reference/capitals.html @@ -0,0 +1,367 @@ + +Capitals d'estats del mon — capitals • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Dades de les capitals d'estats del mon, objectes amb etiquetes `capital = 2`, `capital = yes` o nodes amb el rol +d'`admin_centre` de de relacions d'estats.

    +
    + +
    +

    Ús

    +
    capitals
    +
    + +
    +

    Format

    +

    Un data.frame amb dades de les 155 capitals per les següents 8 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    name
    +

    Etiqueta name.

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    alt_name
    +

    Etiqueta alt_name.

    + +
    alt_name:ca
    +

    Etiqueta name.

    + +
    place
    +

    Etiqueta place.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + + +
    +
    +

    Vegeu també

    +

    Altres bases de dades d'exotopònims de referència: + estats, mars.

    +
    + +
    +

    Exemples

    +
    capitals[, c("name:ca", "name", "wikidata")]
    +#>                  name:ca                                  name wikidata
    +#> 1                   <NA>                                  کابل    Q5838
    +#> 2                   <NA>                   Episkopi Cantonment     <NA>
    +#> 3                 Tirana                                Tiranë   Q19689
    +#> 4                 Berlín                                Berlin      Q64
    +#> 5                  Alger                  Alger ⴷⵣⴰⵢⴻⵔ الجزائر    Q3561
    +#> 6       Andorra la Vella                      Andorra la Vella    Q1863
    +#> 7                   <NA>                                Luanda    Q3897
    +#> 8                   <NA>                            The Valley   Q30994
    +#> 9                   <NA>                            St. John's   Q36262
    +#> 10              Al-Riyad                                الرياض    Q3692
    +#> 11                  <NA>                          Buenos Aires    Q1486
    +#> 12                Erevan                                 Երևան    Q1953
    +#> 13                  <NA>                              Canberra    Q3114
    +#> 14                 Viena                                  Wien    Q1741
    +#> 15                  Bakú                                  Bakı    Q9248
    +#> 16                  <NA>                                Nassau    Q2467
    +#> 17             Al-Manama                               المنامة    Q3882
    +#> 18                  <NA>                                  ঢাকা    Q1354
    +#> 19                  <NA>                            Bridgetown   Q36168
    +#> 20           Brussel·les                   Bruxelles - Brussel     Q239
    +#> 21                  <NA>                              Belmopan    Q3043
    +#> 22            Porto-Novo                            Porto-Novo    Q3799
    +#> 23              Hamilton                              Hamilton   Q30985
    +#> 24                  <NA>                                  ཐིམ་ཕུ    Q9270
    +#> 25                  <NA>                                 Мінск    Q2280
    +#> 26                  <NA>                                 Sucre    Q2907
    +#> 27                  <NA>                                La Paz    Q1491
    +#> 28                  <NA>                              Sarajevo   Q11194
    +#> 29                  <NA>                              Gaborone    Q3919
    +#> 30                  <NA>                              Brasília    Q2844
    +#> 31                  <NA>                   Bandar Seri Begawan    Q9279
    +#> 32                 Sofia                                 София     Q472
    +#> 33           Ouagadougou                           Ouagadougou    Q3777
    +#> 34                  <NA>                                Gitega  Q167551
    +#> 35                  <NA>                           រាជធានីភ្នំពេញ    Q1850
    +#> 36                  <NA>                               Yaoundé    Q3808
    +#> 37                  <NA>                                Ottawa    Q1930
    +#> 38                  <NA>                                 Praia    Q3751
    +#> 39     Ciutat del Vaticà Civitas Vaticana - Città del Vaticano     Q237
    +#> 40                Bogotà                                Bogotá    Q2841
    +#> 41                  <NA>                         Moroni موروني    Q3901
    +#> 42                  <NA>                           Brazzaville    Q3844
    +#> 43             Pyongyang                                평양시   Q18808
    +#> 44                  Seül                                  서울    Q8684
    +#> 45                  <NA>                          Yamoussoukro    Q3768
    +#> 46                  <NA>                              San José    Q3070
    +#> 47                Zagreb                                Zagreb    Q1435
    +#> 48              l'Havana                             La Habana    Q1563
    +#> 49           Copenhaguen                             København    Q1748
    +#> 50              Djibouti                       Djibouti جيبوتي    Q3604
    +#> 51                Roseau                                Roseau   Q36281
    +#> 52              el Caire                               القاهرة      Q85
    +#> 53                  <NA>                          San Salvador    Q3110
    +#> 54                  <NA>                               أبو ظبي    Q1519
    +#> 55                  <NA>                                 Quito    Q2900
    +#> 56                  <NA>                     ኣስመራ Asmara أسمرة    Q3642
    +#> 57                  <NA>                            Bratislava    Q1780
    +#> 58                  <NA>                             Ljubljana     Q437
    +#> 59                Madrid                                Madrid    Q2807
    +#> 60         Washington DC                            Washington      Q61
    +#> 61                  <NA>                               Tallinn    Q1770
    +#> 62           Addis Abeba                 አዲስ አበባ / Addis Ababa    Q3624
    +#> 63                  <NA>                                  Suva   Q38807
    +#> 64                Manila                                Manila    Q1461
    +#> 65              Hèlsinki                              Helsinki    Q1757
    +#> 66                 París                                 Paris      Q90
    +#> 67                  <NA>                            Libreville    Q3825
    +#> 68                  <NA>                                Banjul    Q3726
    +#> 69              Tbilissi                               თბილისი     Q994
    +#> 70                  <NA>                                 Accra    Q3761
    +#> 71                  <NA>                             Gibraltar    Q1410
    +#> 72                Atenes                                 Αθήνα    Q1524
    +#> 73                  <NA>                          St. George's   Q41547
    +#> 74                  <NA>                                  Nuuk     Q226
    +#> 75   Ciutat de Guatemala                   Ciudad de Guatemala    Q1555
    +#> 76                  <NA>                         St Peter Port  Q174262
    +#> 77                  <NA>                               Conakry    Q3733
    +#> 78                  <NA>                                Bissau    Q3739
    +#> 79                  <NA>                                Malabo    Q3818
    +#> 80                  <NA>                            Georgetown   Q10717
    +#> 81                  <NA>                        Port-au-Prince   Q34261
    +#> 82                  <NA>                           Tegucigalpa    Q3238
    +#> 83              Budapest                              Budapest    Q1781
    +#> 84                  Sanà                                 صنعاء    Q2471
    +#> 85                  <NA>                               Douglas   Q18569
    +#> 86                  <NA>                                Brades   Q31006
    +#> 87                  <NA>                           George Town  Q172996
    +#> 88                Avarua                                Avarua  Q170482
    +#> 89                  <NA>                              Tórshavn   Q10704
    +#> 90                  <NA>                     King Edward Point  Q393878
    +#> 91                  <NA>                               Stanley   Q12245
    +#> 92                  <NA>                             Adamstown   Q48273
    +#> 93                  <NA>                         Cockburn Town   Q34205
    +#> 94                  <NA>                             Road Town  Q179431
    +#> 95            Nova Delhi                             New Delhi     Q987
    +#> 96                  <NA>                               Jakarta    Q3630
    +#> 97               Teheran                                 تهران    Q3616
    +#> 98                Bagdad                                 بغداد    Q1530
    +#> 99                Dublín                                Dublin    Q1761
    +#> 100                 <NA>                             Reykjavík    Q1764
    +#> 101            Jerusalem                               ירושלים    Q1218
    +#> 102                 Roma                                  Roma     Q220
    +#> 103                 <NA>                              Kingston   Q34692
    +#> 104               Tòquio                                東京都    Q1490
    +#> 105                 <NA>                             St Helier  Q147738
    +#> 106                 <NA>                                  عمان    Q3805
    +#> 107               Astana                                Астана    Q1520
    +#> 108                 <NA>                               Nairobi    Q3870
    +#> 109               Bixkek                                Бишкек    Q9361
    +#> 110                 <NA>                             Prishtinë   Q25270
    +#> 111            Al-Kuwait                          مدينة الكويت   Q35178
    +#> 112                 <NA>                                 ວຽງຈັນ    Q9326
    +#> 113                 <NA>                                Maseru    Q3909
    +#> 114                 Riga                                  Rīga    Q1773
    +#> 115                 <NA>                                 بيروت    Q3820
    +#> 116             Monròvia                              Monrovia    Q3748
    +#> 117              Trípoli                                طرابلس    Q3579
    +#> 118                 <NA>                                 Vaduz    Q1844
    +#> 119              Vílnius                               Vilnius     Q216
    +#> 120  Ciutat de Luxemburg                            Luxembourg    Q1842
    +#> 121                 <NA>                                Скопје     Q384
    +#> 122         Antananarivo                          Antananarivo     <NA>
    +#> 123                 <NA>                          Kuala Lumpur    Q1865
    +#> 124                 <NA>                              Lilongwe    Q3876
    +#> 125                 <NA>                                    މާލެ    Q9347
    +#> 126                 <NA>                                Bamako    Q3703
    +#> 127          La Valletta                              Valletta   Q23800
    +#> 128                 <NA>                     Rabat ⵔⴱⴰⵟ الرباط    Q3551
    +#> 129           Port Louis                            Port Louis    Q3929
    +#> 130                 <NA>                               نواكشوط    Q3688
    +#> 131      Ciutat de Mèxic                      Ciudad de México    Q1489
    +#> 132              Palikir                               Palikir   Q42751
    +#> 133               Maputo                                Maputo    Q3889
    +#> 134                 <NA>                              Chișinău   Q21197
    +#> 135               Mònaco                                Monaco     Q235
    +#> 136           Ulan Bator             Улаанбаатар ᠤᠯᠠᠭᠠᠨᠪᠠᠭᠠᠲᠤᠷ   Q23430
    +#> 137                 <NA>                             Podgorica   Q23564
    +#> 138                 <NA>                              နေပြည်တော်   Q37400
    +#> 139             Windhoek                              Windhoek    Q3935
    +#> 140                Yaren                                 Yaren   Q31026
    +#> 141             Katmandú                               काठमाडौं    Q3037
    +#> 142                 <NA>                               Managua    Q3274
    +#> 143                 <NA>                                Niamey    Q3674
    +#> 144                 <NA>                                 Abuja    Q3787
    +#> 145                Alofi                                 Alofi   Q30966
    +#> 146                 Oslo                                  Oslo     Q585
    +#> 147                 <NA>                            Wellington   Q23661
    +#> 148               Masqat                                  مسقط    Q3826
    +#> 149                 <NA>                             Amsterdam     Q727
    +#> 150                 <NA>                            اسلام آباد    Q1362
    +#> 151                 <NA>                             Ngerulmud  Q515229
    +#> 152               Panamà                                Panamá    Q3306
    +#> 153                 <NA>                          Port Moresby   Q36526
    +#> 154                 <NA>                              Asunción    Q2933
    +#> 155                 <NA>                                  Lima    Q2868
    +#> 156             Varsòvia                              Warszawa     Q270
    +#> 157                 <NA>                                Lisboa     Q597
    +#> 158                 Doha                                الدوحة    Q3861
    +#> 159              Londres                                London      Q84
    +#> 160               Bangui                                Bangui    Q3832
    +#> 161                 <NA>                              Kinshasa    Q3838
    +#> 162                 <NA>                         Santo Domingo   Q34820
    +#> 163             Bucarest                             București   Q19660
    +#> 164               Moscou                                Москва     Q649
    +#> 165                 <NA>                                Kigali    Q3859
    +#> 166                 <NA>                            Basseterre   Q41295
    +#> 167                 <NA>                              Castries   Q41699
    +#> 168                 <NA>                             Kingstown   Q41474
    +#> 169                 <NA>                               Honiara   Q40921
    +#> 170                 <NA>                                  Apia   Q36260
    +#> 171 Ciutat de San Marino                   Città di San Marino    Q1848
    +#> 172                 <NA>                              São Tomé    Q3932
    +#> 173                 <NA>                                 Dakar    Q3718
    +#> 174              Belgrad                               Београд    Q3711
    +#> 175             Victòria                              Victoria    Q3940
    +#> 176                 <NA>                              Freetown    Q3780
    +#> 177             Singapur                             Singapore     Q334
    +#> 178               Damasc                                  دمشق    Q3766
    +#> 179             Mogadixo                       Muqdisho مقديشو    Q2449
    +#> 180                 <NA>                               Colombo   Q35381
    +#> 181             Pretòria                              Pretoria    Q3926
    +#> 182              Khartum                               الخرطوم    Q1963
    +#> 183                 Juba                                  Juba    Q1947
    +#> 184             Estocolm                             Stockholm    Q1754
    +#> 185                Berna                                  Bern      Q70
    +#> 186                 <NA>                            Paramaribo    Q3001
    +#> 187              Mbabane                               Mbabane    Q3904
    +#> 188             Duixanbe                               Душанбе    Q9365
    +#> 189                 <NA>                          กรุงเทพมหานคร    Q1861
    +#> 190               Taipei                                臺北市    Q1867
    +#> 191                 <NA>                                Dodoma    Q3866
    +#> 192                 <NA>                     Camp Thunder Cove Q5027293
    +#> 193                 <NA>                                  Dili    Q9310
    +#> 194                 <NA>                                  Lomé    Q3792
    +#> 195                 <NA>                               Fakaofo Q2140263
    +#> 196           Nuku'alofa                            Nukuʻalofa   Q38834
    +#> 197                 <NA>                         Port of Spain   Q39178
    +#> 198              Tunísia                                  تونس    Q3572
    +#> 199                 <NA>                               Aşgabat   Q23438
    +#> 200                 <NA>                                Ankara    Q3640
    +#> 201                 <NA>                              Funafuti   Q34126
    +#> 202            N'Djamena                     N'Djaména انجمينا    Q3659
    +#> 203                Praga                                 Praha    Q1085
    +#> 204                 Kíiv                                  Київ    Q1899
    +#> 205                 <NA>                               Kampala    Q3894
    +#> 206                 <NA>                            Montevideo    Q1335
    +#> 207             Taixkent                              Toshkent     Q269
    +#> 208            Port Vila                             Port Vila   Q37806
    +#> 209                 <NA>                               Caracas    Q1533
    +#> 210                Hanoi                                Hà Nội    Q1858
    +#> 211                 <NA>                              Santiago    Q2887
    +#> 212               Pequín                                北京市     Q956
    +#> 213              Nicòsia                    Λευκωσία - Lefkoşa    Q3856
    +#> 214                 <NA>                                Lusaka    Q3881
    +#> 215                 <NA>                                Harare    Q3921
    +#> 216                Alger                                 Alger  Q141026
    +#> 217               Astana                                Астана    Q1520
    +#> 218       Ciutat del Cap                             Cape Town    Q5465
    +#> 219               Erevan                                 Երևան    Q1953
    +#> 220             Hèlsinki                              Helsinki    Q1757
    +#> 221             l'Havana                             La Habana   Q12588
    +#> 222                 Lomé                                  Lomé    Q3792
    +#> 223               Majuro                                 Mājro   Q12919
    +#> 224                París                                 Paris      Q90
    +#> 225               Taipei                                臺北市    Q1867
    +#> 226             Taixkent                              Toshkent     Q269
    +#> 227              Tallinn                               Tallinn    Q1770
    +#> 228           Tarawa Sud                          South Tarawa  Q131233
    +#> 229              Teheran                             شهر تهران    Q3616
    +#> 230             Varsòvia                              Warszawa     Q270
    +#> 231                Viena                                  Wien    Q1741
    +#> 232                 <NA>                             Jamestown   Q30970
    +#> 233                 <NA>                               تفاريتي Q2360337
    +#> 234                 <NA>                          Bloemfontein   Q37701
    +#> 235                 <NA>                              رام الله  Q158119
    +#> 236                 <NA>             Sri Jayawardenepura Kotte   Q41963
    +#> 237                 <NA>                      Ciudad de la Paz Q1140136
    +#> 238                 <NA>                       Hargeysa هرجيسا  Q168652
    +#> 239                 <NA>                                 Мінск    Q2280
    +#> 240                 <NA>                           Saint-Denis   Q47045
    +#> 241                 <NA>                             Pago Pago   Q51678
    +#> 242                 <NA>                               Hagåtña   Q30988
    +#> 243                 <NA>                      Charlotte Amalie   Q51681
    +#> 244                 <NA>                           Basse-Terre  Q167024
    +#> 245                 <NA>                        Fort-de-France   Q81621
    +#> 246                 <NA>                          Saint-Pierre  Q249884
    +#> 247                 <NA>                                Nouméa    Q9733
    +#> 248                 <NA>                               Douglas   Q18569
    +#> 249                 <NA>                               Cayenne   Q44401
    +#> 250                 <NA>                              Chișinău   Q21197
    +#> 251                 <NA>                             Mariehamn   Q48329
    +#> 252                 <NA>                                  Bakı     <NA>
    +#> 253                 <NA>                       Reykjavíkurborg    Q1764
    +#> 254                 <NA>                                Zagreb    Q1435
    +#> 255                 <NA>                             Mamoudzou  Q132676
    +#> 256                 <NA>                            Bratislava    Q1780
    +#> 257                 <NA>                    Cantón de San José Q2536213
    +#> 258                 <NA>                                 София     Q472
    +#> 259                 <NA>                             Prishtinë   Q25270
    +#> 260                 <NA>                             شهر بوکان     <NA>
    +#> 261                 <NA>                     Port-aux-Français  Q839559
    +#> 262                 <NA>                              Belmopan    Q3043
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/cerca_versio_canvis.html b/docs/reference/cerca_versio_canvis.html new file mode 100644 index 0000000..18db2ca --- /dev/null +++ b/docs/reference/cerca_versio_canvis.html @@ -0,0 +1,86 @@ + +Cerca les versions que introdueixen canvis — cerca_versio_canvis • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Cerca les versions que introdueixen canvis

    +
    + +
    +

    Ús

    +
    cerca_versio_canvis(x)
    +
    + +
    +

    Paràmetres

    + + +
    x
    +

    El resultat de comprova_canvis_osm() o similar.

    + +
    +
    +

    Valor

    +

    Retorna una llista de les versions que introdueixen canvis per cada etiqueta.

    +
    + +
    +

    Exemples

    +
    if (FALSE) { # \dontrun{
    +comarques_canviades <- comarques[, setdiff(names(comarques), "regio")]
    +comarques_canviades$name[1] <- "Malnom"
    +canvis <- comprova_canvis_osm(comarques_canviades)
    +versions_canvi <- cerca_versio_canvis(canvis)
    +versions_canvi
    +} # }
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/comarques.html b/docs/reference/comarques.html new file mode 100644 index 0000000..9f5f620 --- /dev/null +++ b/docs/reference/comarques.html @@ -0,0 +1,206 @@ + +Comarques dels Països Catalans — comarques • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Dades de les Comarques dels Països Catalans.

    +
    + +
    +

    Ús

    +
    comarques
    +
    + +
    +

    Format

    +

    Un data.frame amb dades de les 95 comarques per les següents 9 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    regio
    +

    Subdivisió ["Andorra", "CatNord", "Franja", "Illes", "Múrcia", "Principat", "PV"].

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    name
    +

    Etiqueta name.

    + +
    wikipedia
    +

    Etiqueta wikipedia.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + +
    admin_level
    +

    Etiqueta admin_level.

    + +
    historic:admin_level
    +

    Etiqueta historic:admin_level.

    + + +
    +
    +

    Nota

    +

    Les parròquies d'Andorra corresponen a comarques (admin_level = "7") i s'inclouen a comarques.

    +
    +
    +

    Vegeu també

    +

    Altres bases de dades de referència: + PPCC, municipis, territoris, + loc_admin_centre_municipis.

    +
    + +
    +

    Exemples

    +
    comarques[, c("name:ca", "regio", "name")]
    +#>                name:ca     regio                                     name
    +#> 1     Andorra la Vella   Andorra                         Andorra la Vella
    +#> 2              Canillo   Andorra                                  Canillo
    +#> 3               Encamp   Andorra                                   Encamp
    +#> 4   Escaldes-Engordany   Andorra                       Escaldes-Engordany
    +#> 5           La Massana   Andorra                               La Massana
    +#> 6               Ordino   Andorra                                   Ordino
    +#> 7  Sant Julià de Lòria   Andorra                      Sant Julià de Lòria
    +#> 8        Alta Cerdanya   CatNord                            Alta Cerdanya
    +#> 9               Capcir   CatNord                                   Capcir
    +#> 10            Conflent   CatNord                                 Conflent
    +#> 11          Fenolledès   CatNord                               Fenolhedés
    +#> 12            Rosselló   CatNord                                 Rosselló
    +#> 13           Vallespir   CatNord                                Vallespir
    +#> 14          Baix Aragó    Franja                              Bajo Aragón
    +#> 15     Baix Aragó-Casp    Franja      Bajo Aragón-Caspe / Baix Aragó-Casp
    +#> 16          Baix Cinca    Franja                  Bajo Cinca / Baix Cinca
    +#> 17          La Llitera    Franja                   La Litera / La Llitera
    +#> 18          Matarranya    Franja                   Matarraña / Matarranya
    +#> 19           Ribagorça    Franja                                Ribagorza
    +#> 20             Eivissa     Illes                                  Eivissa
    +#> 21          Formentera     Illes                               Formentera
    +#> 22             Llevant     Illes                                  Llevant
    +#> 23             Menorca     Illes                                  Menorca
    +#> 24             Migjorn     Illes                                  Migjorn
    +#> 25               Palma     Illes                                    Palma
    +#> 26     Pla de Mallorca     Illes                          Pla de Mallorca
    +#> 27             Raiguer     Illes                                  Raiguer
    +#> 28 Serra de Tramuntana     Illes                      Serra de Tramuntana
    +#> 29            el Carxe    Múrcia                                El Carche
    +#> 30            Alt Camp Principat                                 Alt Camp
    +#> 31         Alt Empordà Principat                              Alt Empordà
    +#> 32         Alt Penedès Principat                              Alt Penedès
    +#> 33          Alt Urgell Principat                               Alt Urgell
    +#> 34      Alta Ribagorça Principat                           Alta Ribagorça
    +#> 35               Anoia Principat                                    Anoia
    +#> 36               Bages Principat                                    Bages
    +#> 37           Baix Camp Principat                                Baix Camp
    +#> 38           Baix Ebre Principat                                Baix Ebre
    +#> 39        Baix Empordà Principat                             Baix Empordà
    +#> 40      Baix Llobregat Principat                           Baix Llobregat
    +#> 41        Baix Penedès Principat                             Baix Penedès
    +#> 42          Barcelonès Principat                               Barcelonès
    +#> 43            Berguedà Principat                                 Berguedà
    +#> 44            Cerdanya Principat                                 Cerdanya
    +#> 45    Conca de Barberà Principat                         Conca de Barberà
    +#> 46              Garraf Principat                                   Garraf
    +#> 47           Garrigues Principat                                Garrigues
    +#> 48            Garrotxa Principat                                 Garrotxa
    +#> 49             Gironès Principat                                  Gironès
    +#> 50            la Selva Principat                                 la Selva
    +#> 51            Lluçanès Principat                                 Lluçanès
    +#> 52             Maresme Principat                                  Maresme
    +#> 53             Moianès Principat                                  Moianès
    +#> 54             Montsià Principat                                  Montsià
    +#> 55             Noguera Principat                                  Noguera
    +#> 56               Osona Principat                                    Osona
    +#> 57       Pallars Jussà Principat                            Pallars Jussà
    +#> 58      Pallars Sobirà Principat                           Pallars Sobirà
    +#> 59        Pla d'Urgell Principat                             Pla d'Urgell
    +#> 60     Pla de l'Estany Principat                          Pla de l'Estany
    +#> 61             Priorat Principat                                  Priorat
    +#> 62       Ribera d'Ebre Principat                            Ribera d'Ebre
    +#> 63            Ripollès Principat                                 Ripollès
    +#> 64             Segarra Principat                                  Segarra
    +#> 65              Segrià Principat                                   Segrià
    +#> 66            Solsonès Principat                                 Solsonès
    +#> 67          Tarragonès Principat                               Tarragonès
    +#> 68          Terra Alta Principat                               Terra Alta
    +#> 69              Urgell Principat                                   Urgell
    +#> 70   Vallès Occidental Principat                        Vallès Occidental
    +#> 71     Vallès Oriental Principat                          Vallès Oriental
    +#> 72 Comarca de València        PV                      Comarca de València
    +#> 73    el Baix Maestrat        PV                         el Baix Maestrat
    +#> 74      el Baix Segura        PV el Baix Segura / La Vega Baja del Segura
    +#> 75    el Baix Vinalopó        PV                         el Baix Vinalopó
    +#> 76 el Camp de Morvedre        PV                      el Camp de Morvedre
    +#> 77    el Camp de Túria        PV                         el Camp de Túria
    +#> 78           el Comtat        PV                                el Comtat
    +#> 79   el Vinalopó Mitjà        PV    el Vinalopó Mitjà / El Vinalopó Medio
    +#> 80           els Ports        PV                                els Ports
    +#> 81          l'Alacantí        PV                               l'Alacantí
    +#> 82         l'Alcalatén        PV                              l'Alcalatén
    +#> 83            l'Alcoià        PV                                 l'Alcoià
    +#> 84      l'Alt Maestrat        PV                           l'Alt Maestrat
    +#> 85      l'Alt Vinalopó        PV        l'Alt Vinalopó / El Alto Vinalopó
    +#> 86        l'Horta Nord        PV                             l'Horta Nord
    +#> 87         l'Horta Sud        PV                              l'Horta Sud
    +#> 88          la Costera        PV                               la Costera
    +#> 89      la Marina Alta        PV                           la Marina Alta
    +#> 90     la Marina Baixa        PV                          la Marina Baixa
    +#> 91       la Plana Alta        PV                            la Plana Alta
    +#> 92      la Plana Baixa        PV                           la Plana Baixa
    +#> 93      la Ribera Alta        PV                           la Ribera Alta
    +#> 94     la Ribera Baixa        PV                          la Ribera Baixa
    +#> 95            la Safor        PV                                 la Safor
    +#> 96   la Vall d'Albaida        PV                        la Vall d'Albaida
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/comprova_canvis_osm.html b/docs/reference/comprova_canvis_osm.html new file mode 100644 index 0000000..785cd58 --- /dev/null +++ b/docs/reference/comprova_canvis_osm.html @@ -0,0 +1,95 @@ + +Comprova canvis a OSM — comprova_canvis_osm • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Compara l'estat actual d'objectes d'OSM respecte a una taula de referència.

    +
    + +
    +

    Ús

    +
    comprova_canvis_osm(x, centre = FALSE)
    +
    + +
    +

    Paràmetres

    + + +
    x
    +

    un data.frame amb les columnes osm_type, osm_id i etiquetes que vulguem comprovar.

    + + +
    centre
    +

    si és TRUE, afegeix les coordenades del centre de l'objecte a les columnes osm_center_lon i +osm_center_lat.

    + +
    +
    +

    Valor

    +

    Retorna una comparació amb compareDF::compare_df() de les diferències d'etiquetes dels objectes d'OSM d'x +respecte a les etiquetes actuals a OSM.

    +
    +
    +

    Detalls

    +

    Només es comparen les etiquetes presents com a columnes d'x i la resta s'ometen.

    +
    + +
    +

    Exemples

    +
    if (FALSE) { # \dontrun{
    +comarques_canviades <- comarques[, setdiff(names(comarques), "regio")]
    +comarques_canviades$name[1] <- "Malnom"
    +canvis <- comprova_canvis_osm(comarques_canviades)
    +canvis_html(canvis)
    +} # }
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/consulta_etiquetes_osm.html b/docs/reference/consulta_etiquetes_osm.html new file mode 100644 index 0000000..0f7ad37 --- /dev/null +++ b/docs/reference/consulta_etiquetes_osm.html @@ -0,0 +1,93 @@ + +Consulta etiquetes d'OSM — consulta_etiquetes_osm • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Consulta etiquetes d'OSM

    +
    + +
    +

    Ús

    +
    consulta_etiquetes_osm(x, etiquetes, centre = FALSE)
    +
    + +
    +

    Paràmetres

    + + +
    x
    +

    un data.frame o matrix amb les columnes osm_type i osm_id.

    + + +
    etiquetes
    +

    noms de les claus de les etiquetes a consultar. Si no s'especifica, s'afegeixen totes les etiquetes +dels objectes.

    + + +
    centre
    +

    si és TRUE, afegeix les coordenades del centre de l'objecte a les columnes osm_center_lon i +osm_center_lat.

    + +
    +
    +

    Valor

    +

    Retorna x amb les etiquetes dels objectes com a columnes. Si les columnes ja existien, actualitza els +valors de les etiquetes i conserva l'ordre de les columnes originals afegint les noves al final.

    +
    + +
    +

    Exemples

    +
    if (FALSE) { # \dontrun{
    +territoris_etiquetes_completes <- consulta_etiquetes_osm(territoris)
    +} # }
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/estats.html b/docs/reference/estats.html new file mode 100644 index 0000000..aa4ceae --- /dev/null +++ b/docs/reference/estats.html @@ -0,0 +1,860 @@ + +Estats del mon — estats • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Dades dels estats del mon, relacions amb etiquetes `admin_centre = 2` i `boundary = administrative`.

    +
    + +
    +

    Ús

    +
    estats
    +
    + +
    +

    Format

    +

    Un data.frame amb dades dels 243 estats per les següents 9 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    name
    +

    Etiqueta name.

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    alt_name
    +

    Etiqueta alt_name.

    + +
    alt_name:ca
    +

    Etiqueta name.

    + +
    long_name
    +

    Etiqueta alt_name:ca.

    + +
    native_name
    +

    Etiqueta native_name.

    + +
    official_name
    +

    Etiqueta official_name.

    + +
    official_name:ca
    +

    Etiqueta official_name:ca.

    + +
    old_name
    +

    Etiqueta old_name.

    + +
    old_name:ca
    +

    Etiqueta old_name:ca.

    + +
    old_official_name
    +

    Etiqueta old_official_name.

    + +
    old_official_name:ca
    +

    Etiqueta old_official_name:ca.

    + +
    short_name
    +

    Etiqueta short_name.

    + +
    short_name:ca
    +

    Etiqueta short_name:ca.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + + +
    +
    +

    Vegeu també

    +

    Altres bases de dades d'exotopònims de referència: + capitals, mars.

    +
    + +
    +

    Exemples

    +
    estats[, c("name:ca", "name", "wikidata")]
    +#>                                       name:ca
    +#> 1                                  Afganistan
    +#> 2                          Akrotiri i Dekélia
    +#> 3                                     Albània
    +#> 4                                    Alemanya
    +#> 5                                     Algèria
    +#> 6                                     Andorra
    +#> 7                                      Angola
    +#> 8                                    Anguilla
    +#> 9                           Antigua i Barbuda
    +#> 10                             Aràbia Saudita
    +#> 11                                  Argentina
    +#> 12                                    Armènia
    +#> 13                                  Austràlia
    +#> 14                                    Àustria
    +#> 15                                Azerbaidjan
    +#> 16                                    Bahames
    +#> 17                                    Bahrain
    +#> 18                                Bangla Desh
    +#> 19                                   Barbados
    +#> 20                                    Bèlgica
    +#> 21                                     Belize
    +#> 22                                      Benín
    +#> 23                                   Bermudes
    +#> 24                                     Bhutan
    +#> 25                                Bielorússia
    +#> 26                                    Bolívia
    +#> 27                       Bòsnia i Hercegovina
    +#> 28                                   Botswana
    +#> 29                                     Brasil
    +#> 30                                     Brunei
    +#> 31                                   Bulgària
    +#> 32                               Burkina Faso
    +#> 33                                    Burundi
    +#> 34                                   Cambodja
    +#> 35                                    Camerun
    +#> 36                                     Canadà
    +#> 37                                   Cap Verd
    +#> 38                          Ciutat del Vaticà
    +#> 39                                   Colòmbia
    +#> 40                                    Comores
    +#> 41                                      Congo
    +#> 42                             Corea del Nord
    +#> 43                              Corea del Sud
    +#> 44                              Costa d'Ivori
    +#> 45                                 Costa Rica
    +#> 46                                    Croàcia
    +#> 47                                       Cuba
    +#> 48                                  Dinamarca
    +#> 49                                   Djibouti
    +#> 50                                   Dominica
    +#> 51                                     Egipte
    +#> 52                                El Salvador
    +#> 53                        Emirats Àrabs Units
    +#> 54                                    Equador
    +#> 55                                    Eritrea
    +#> 56                                 Eslovàquia
    +#> 57                                  Eslovènia
    +#> 58                                    Espanya
    +#> 59                     Estats Units d'Amèrica
    +#> 60                                    Estònia
    +#> 61                                   Eswatini
    +#> 62                                    Etiòpia
    +#> 63                                       Fiji
    +#> 64                                  Filipines
    +#> 65                                  Finlàndia
    +#> 66                                     França
    +#> 67                           França - Andorra
    +#> 68                           França - Espanya
    +#> 69                                      Gabon
    +#> 70                                     Gàmbia
    +#> 71                                    Geòrgia
    +#> 72                                      Ghana
    +#> 73                                  Gibraltar
    +#> 74                                     Grècia
    +#> 75                                    Grenada
    +#> 76                                Groenlàndia
    +#> 77                                  Guatemala
    +#> 78                                   Guernsey
    +#> 79                                     Guinea
    +#> 80                              Guinea Bissau
    +#> 81                          Guinea Equatorial
    +#> 82                                     Guyana
    +#> 83                                      Haití
    +#> 84                                   Hondures
    +#> 85                                    Hongria
    +#> 86                                      Iemen
    +#> 87                                Illa de Man
    +#> 88                         Illa de Montserrat
    +#> 89                               Illes Caiman
    +#> 90                                 Illes Cook
    +#> 91                                Illes Fèroe
    +#> 92   Illes Geòrgia del Sud i Sandwich del Sud
    +#> 93                             Illes Malvines
    +#> 94                             Illes Marshall
    +#> 95                             Illes Pitcairn
    +#> 96                       Illes Turks i Caicos
    +#> 97                   Illes Verges Britàniques
    +#> 98                                      Índia
    +#> 99                                  Indonèsia
    +#> 100                                      Iran
    +#> 101                                      Iraq
    +#> 102                                   Irlanda
    +#> 103                                  Islàndia
    +#> 104                                    Israel
    +#> 105                                    Itàlia
    +#> 106                                   Jamaica
    +#> 107                                      Japó
    +#> 108                                    Jersey
    +#> 109                                  Jordània
    +#> 110                                Kazakhstan
    +#> 111                                     Kenya
    +#> 112                              Kirguizistan
    +#> 113                                  Kiribati
    +#> 114                                    Kosovo
    +#> 115                                    Kuwait
    +#> 116                                      Laos
    +#> 117                                   Lesotho
    +#> 118                                   Letònia
    +#> 119                                     Líban
    +#> 120                                   Libèria
    +#> 121                                     Líbia
    +#> 122                             Liechtenstein
    +#> 123                                  Lituània
    +#> 124                                 Luxemburg
    +#> 125                        Macedònia del Nord
    +#> 126                                Madagascar
    +#> 127                                  Malàisia
    +#> 128                                    Malawi
    +#> 129                                  Maldives
    +#> 130                                      Mali
    +#> 131                                     Malta
    +#> 132                                    Marroc
    +#> 133                                   Maurici
    +#> 134                                Mauritània
    +#> 135                                     Mèxic
    +#> 136                                Micronèsia
    +#> 137                                  Moçambic
    +#> 138                                  Moldàvia
    +#> 139                                    Mònaco
    +#> 140                                  Mongòlia
    +#> 141                                Montenegro
    +#> 142                                   Myanmar
    +#> 143                                   Namíbia
    +#> 144                                     Nauru
    +#> 145                                     Nepal
    +#> 146                                 Nicaragua
    +#> 147                                     Níger
    +#> 148                                   Nigèria
    +#> 149                                      Niue
    +#> 150                                   Noruega
    +#> 151                              Nova Zelanda
    +#> 152                                      Oman
    +#> 153                             Països Baixos
    +#> 154                                  Pakistan
    +#> 155                                     Palau
    +#> 156                                    Panamà
    +#> 157                         Papua Nova Guinea
    +#> 158                                  Paraguai
    +#> 159                                      Perú
    +#> 160                                   Polònia
    +#> 161                                  Portugal
    +#> 162                                     Qatar
    +#> 163                                Regne Unit
    +#> 164        República Àrab Sahrauí Democràtica
    +#> 165                  República Centreafricana
    +#> 166           República Democràtica del Congo
    +#> 167                      República Dominicana
    +#> 168                                   Romania
    +#> 169                                    Rússia
    +#> 170                                    Rwanda
    +#> 171                       Saint Kitts i Nevis
    +#> 172                               Saint Lucia
    +#> 173            Saint Vincent i les Grenadines
    +#> 174                                    Salomó
    +#> 175                                     Samoa
    +#> 176                                San Marino
    +#> 177 Santa Helena, Ascensió i Tristan da Cunha
    +#> 178                       São Tomé i Príncipe
    +#> 179                                   Senegal
    +#> 180                                    Sèrbia
    +#> 181                                Seychelles
    +#> 182                              Sierra Leone
    +#> 183                                  Singapur
    +#> 184                                     Síria
    +#> 185                                   Somàlia
    +#> 186                                 Sri Lanka
    +#> 187                                Sud-àfrica
    +#> 188                                     Sudan
    +#> 189                             Sudan del Sud
    +#> 190                                    Suècia
    +#> 191                                    Suïssa
    +#> 192                                   Surinam
    +#> 193                               Tadjikistan
    +#> 194                                 Tailàndia
    +#> 195                                    Taiwan
    +#> 196                                  Tanzània
    +#> 197        Territori Britànic de l'Oceà Índic
    +#> 198                            Timor Oriental
    +#> 199                                      Togo
    +#> 200                                   Tokelau
    +#> 201                                     Tonga
    +#> 202                         Trinitat i Tobago
    +#> 203                                   Tunísia
    +#> 204                              Turkmenistan
    +#> 205                                   Turquia
    +#> 206                                    Tuvalu
    +#> 207                                      Txad
    +#> 208                                   Txèquia
    +#> 209                                   Ucraïna
    +#> 210                                    Uganda
    +#> 211                                   Uruguai
    +#> 212                                Uzbekistan
    +#> 213                                   Vanuatu
    +#> 214                                 Veneçuela
    +#> 215                                   Vietnam
    +#> 216                                      Xile
    +#> 217                                      Xina
    +#> 218                                     Xipre
    +#> 219                                    Zàmbia
    +#> 220                                  Zimbabwe
    +#> 221                                      <NA>
    +#> 222                                      <NA>
    +#> 223                                      <NA>
    +#> 224                                      <NA>
    +#> 225                                      <NA>
    +#> 226                                      <NA>
    +#> 227                                      <NA>
    +#> 228                                      <NA>
    +#> 229                                      <NA>
    +#> 230                                      <NA>
    +#> 231                                      <NA>
    +#> 232                                      <NA>
    +#> 233                                      <NA>
    +#> 234                                      <NA>
    +#> 235                                      <NA>
    +#> 236                                      <NA>
    +#> 237                                      <NA>
    +#> 238                                      <NA>
    +#> 239                                      <NA>
    +#> 240                                      <NA>
    +#> 241                                      <NA>
    +#> 242                                      <NA>
    +#> 243                                      <NA>
    +#>                                                                             name
    +#> 1                                                                      افغانستان
    +#> 2                                                          Akrotiri and Dhekelia
    +#> 3                                                                      Shqipëria
    +#> 4                                                                    Deutschland
    +#> 5                                                        Algérie ⵍⵣⵣⴰⵢⴻⵔ الجزائر
    +#> 6                                                                        Andorra
    +#> 7                                                                         Angola
    +#> 8                                                                       Anguilla
    +#> 9                                                            Antigua and Barbuda
    +#> 10                                                                      السعودية
    +#> 11                                                                     Argentina
    +#> 12                                                                      Հայաստան
    +#> 13                                                                     Australia
    +#> 14                                                                    Österreich
    +#> 15                                                                    Azərbaycan
    +#> 16                                                                   The Bahamas
    +#> 17                                                                       البحرين
    +#> 18                                                                      বাংলাদেশ
    +#> 19                                                                      Barbados
    +#> 20                                                   België / Belgique / Belgien
    +#> 21                                                                        Belize
    +#> 22                                                                         Bénin
    +#> 23                                                                       Bermuda
    +#> 24                                                                        འབྲུགཡུལ་
    +#> 25                                                                      Беларусь
    +#> 26                                                                       Bolivia
    +#> 27                                     Bosna i Hercegovina / Босна и Херцеговина
    +#> 28                                                                      Botswana
    +#> 29                                                                        Brasil
    +#> 30                                                                        Brunei
    +#> 31                                                                      България
    +#> 32                                                                  Burkina Faso
    +#> 33                                                                       Burundi
    +#> 34                                                             ព្រះរាជាណាចក្រ​កម្ពុជា
    +#> 35                                                                      Cameroun
    +#> 36                                                                        Canada
    +#> 37                                                                    Cabo Verde
    +#> 38                                         Civitas Vaticana - Città del Vaticano
    +#> 39                                                                      Colombia
    +#> 40                                                      Comores Komori جزر القمر
    +#> 41                                                                         Congo
    +#> 42                                                        조선민주주의인민공화국
    +#> 43                                                                      대한민국
    +#> 44                                                                 Côte d’Ivoire
    +#> 45                                                                    Costa Rica
    +#> 46                                                                      Hrvatska
    +#> 47                                                                          Cuba
    +#> 48                                                                       Danmark
    +#> 49                                                               Djibouti جيبوتي
    +#> 50                                                                      Dominica
    +#> 51                                                                           مصر
    +#> 52                                                                   El Salvador
    +#> 53                                                      الإمارات العربية المتحدة
    +#> 54                                                                       Ecuador
    +#> 55                                                           ኤርትራ Eritrea إرتريا
    +#> 56                                                                     Slovensko
    +#> 57                                                                     Slovenija
    +#> 58                                                                        España
    +#> 59                                                                 United States
    +#> 60                                                                         Eesti
    +#> 61                                                                      eSwatini
    +#> 62                                                                         ኢትዮጵያ
    +#> 63                                                                          Viti
    +#> 64                                                                     Pilipinas
    +#> 65                                                               Suomi / Finland
    +#> 66                                                                        France
    +#> 67                                                              France - Andorra
    +#> 68                                                               France - España
    +#> 69                                                                         Gabon
    +#> 70                                                                        Gambia
    +#> 71                                                                    საქართველო
    +#> 72                                                                         Ghana
    +#> 73                                                                     Gibraltar
    +#> 74                                                                         Ελλάς
    +#> 75                                                                       Grenada
    +#> 76                                                              Kalaallit Nunaat
    +#> 77                                                                     Guatemala
    +#> 78                                                                      Guernsey
    +#> 79                                                                        Guinée
    +#> 80                                                                  Guiné-Bissau
    +#> 81                                                             Guinea Ecuatorial
    +#> 82                                                                        Guyana
    +#> 83                                                                         Ayiti
    +#> 84                                                                      Honduras
    +#> 85                                                                  Magyarország
    +#> 86                                                                         اليمن
    +#> 87                                                                   Isle of Man
    +#> 88                                                                    Montserrat
    +#> 89                                                                Cayman Islands
    +#> 90                                                                  Kūki ʻĀirani
    +#> 91                                                                       Føroyar
    +#> 92                                  South Georgia and the South Sandwich Islands
    +#> 93                                                              Falkland Islands
    +#> 94                                                                         Ṃajeḷ
    +#> 95                                                              Pitcairn Islands
    +#> 96                                                      Turks and Caicos Islands
    +#> 97                                                        British Virgin Islands
    +#> 98                                                                         India
    +#> 99                                                                     Indonesia
    +#> 100                                                                        ایران
    +#> 101                                                                       العراق
    +#> 102                                                               Éire / Ireland
    +#> 103                                                                       Ísland
    +#> 104                                                                        ישראל
    +#> 105                                                                       Italia
    +#> 106                                                                      Jamaica
    +#> 107                                                                         日本
    +#> 108                                                                       Jersey
    +#> 109                                                                       الأردن
    +#> 110                                                                    Қазақстан
    +#> 111                                                                        Kenya
    +#> 112                                                                   Кыргызстан
    +#> 113                                                                     Kiribati
    +#> 114                                                              Kosova / Kosovo
    +#> 115                                                                       الكويت
    +#> 116                                                                     ປະເທດລາວ
    +#> 117                                                                      Lesotho
    +#> 118                                                                      Latvija
    +#> 119                                                                        لبنان
    +#> 120                                                                      Liberia
    +#> 121                                                                        ليبيا
    +#> 122                                                                Liechtenstein
    +#> 123                                                                      Lietuva
    +#> 124                                                                   Lëtzebuerg
    +#> 125                                                           Северна Македонија
    +#> 126                                                    Madagasikara / Madagascar
    +#> 127                                                                     Malaysia
    +#> 128                                                                       Malawi
    +#> 129                                                                       ދިވެހިރާއްޖެ
    +#> 130                                                                         Mali
    +#> 131                                                                        Malta
    +#> 132                                                          Maroc ⵍⵎⵖⵔⵉⴱ المغرب
    +#> 133                                                          Mauritius / Maurice
    +#> 134                                                                    موريتانيا
    +#> 135                                                                       México
    +#> 136                                                                   Micronesia
    +#> 137                                                                   Moçambique
    +#> 138                                                                      Moldova
    +#> 139                                                                       Monaco
    +#> 140                                                       Монгол улс ᠮᠤᠩᠭᠤᠯ ᠤᠯᠤᠰ
    +#> 141                                                        Crna Gora / Црна Гора
    +#> 142                                                                        မြန်မာ
    +#> 143                                                                      Namibia
    +#> 144                                                                       Naoero
    +#> 145                                                                         नेपाल
    +#> 146                                                                    Nicaragua
    +#> 147                                                                        Niger
    +#> 148                                                                      Nigeria
    +#> 149                                                                         Niuē
    +#> 150                                                                        Norge
    +#> 151                                                       New Zealand / Aotearoa
    +#> 152                                                                         عمان
    +#> 153                                                                    Nederland
    +#> 154                                                                      پاکستان
    +#> 155                                                                        Belau
    +#> 156                                                                       Panamá
    +#> 157                                                                Papua Niugini
    +#> 158                                                          Paraguay / Paraguái
    +#> 159                                                                         Perú
    +#> 160                                                                       Polska
    +#> 161                                                                     Portugal
    +#> 162                                                                          قطر
    +#> 163                                                               United Kingdom
    +#> 164 República Árabe Saharaui Democrática الجمهورية العربية الصحراوية الديمقراطية
    +#> 165                           Ködörösêse tî Bêafrîka / République centrafricaine
    +#> 166                                             République démocratique du Congo
    +#> 167                                                         República Dominicana
    +#> 168                                                                      România
    +#> 169                                                                       Россия
    +#> 170                                                                       Rwanda
    +#> 171                                                        Saint Kitts and Nevis
    +#> 172                                                                  Saint Lucia
    +#> 173                                             Saint Vincent and the Grenadines
    +#> 174                                                              Solomon Islands
    +#> 175                                                                        Sāmoa
    +#> 176                                                                   San Marino
    +#> 177                                 Saint Helena, Ascension and Tristan da Cunha
    +#> 178                                                          São Tomé e Príncipe
    +#> 179                                                                      Sénégal
    +#> 180                                                                       Србија
    +#> 181                                                                        Sesel
    +#> 182                                                                 Sierra Leone
    +#> 183                                                                    Singapore
    +#> 184                                                                        سوريا
    +#> 185                                                           Soomaaliya الصومال
    +#> 186                                                                    Sri Lanka
    +#> 187                                                                 South Africa
    +#> 188                                                                      السودان
    +#> 189                                                     South Sudan جنوب السودان
    +#> 190                                                                      Sverige
    +#> 191                                               Schweiz/Suisse/Svizzera/Svizra
    +#> 192                                                                     Suriname
    +#> 193                                                                   Тоҷикистон
    +#> 194                                                                    ประเทศไทย
    +#> 195                                                                         臺灣
    +#> 196                                                                     Tanzania
    +#> 197                                               British Indian Ocean Territory
    +#> 198                                                                  Timor-Leste
    +#> 199                                                                         Togo
    +#> 200                                                                      Tokelau
    +#> 201                                                                        Tonga
    +#> 202                                                          Trinidad and Tobago
    +#> 203                                                                         تونس
    +#> 204                                                                 Türkmenistan
    +#> 205                                                                      Türkiye
    +#> 206                                                                       Tuvalu
    +#> 207                                                                   Tchad تشاد
    +#> 208                                                                        Česko
    +#> 209                                                                      Україна
    +#> 210                                                                       Uganda
    +#> 211                                                                      Uruguay
    +#> 212                                                                  Oʻzbekiston
    +#> 213                                                                      Vanuatu
    +#> 214                                                                    Venezuela
    +#> 215                                                                     Việt Nam
    +#> 216                                                                        Chile
    +#> 217                                                                         中国
    +#> 218                                                              Κύπρος - Kıbrıs
    +#> 219                                                                       Zambia
    +#> 220                                                                     Zimbabwe
    +#> 221                                                     Deutschland - Österreich
    +#> 222                                    Deutschland — Schweiz / Suisse / Svizerra
    +#> 223                                                 France - Italy (section sud)
    +#> 224                                      France - Schweiz/Suisse/Svizzera/Svizra
    +#> 225                                                         France - Deutschland
    +#> 226                                 France - Luxembourg / Luxemburg / Lëtzebuerg
    +#> 227                                         France - Belgique / België / Belgien
    +#> 228                                                              France - Monaco
    +#> 229                                                         Österreich - Schweiz
    +#> 230                                                   Österreich — Liechtenstein
    +#> 231                                     Österreich — Schweiz / Suisse / Svizzera
    +#> 232                            Deutschland - Luxembourg / Luxemburg / Lëtzebuerg
    +#> 233                                                           Italia - Slovenija
    +#> 234                                                     Magyarország - Slovenija
    +#> 235                                                         Hrvatska - Slovenija
    +#> 236                                      Nederland — Belgique / België / Belgien
    +#> 237                                                France - Italy (section nord)
    +#> 238                                                     France / Suriname border
    +#> 239                                                                         <NA>
    +#> 240                                                             Isla Tres Cruces
    +#> 241                                                                   Isla Bassi
    +#> 242                                                         Isla Filomena Grande
    +#> 243                                                                   Isla Verde
    +#>      wikidata
    +#> 1        Q889
    +#> 2      Q37362
    +#> 3        Q222
    +#> 4        Q183
    +#> 5        Q262
    +#> 6        Q228
    +#> 7        Q916
    +#> 8      Q25228
    +#> 9        Q781
    +#> 10       Q851
    +#> 11       Q414
    +#> 12       Q399
    +#> 13       Q408
    +#> 14        Q40
    +#> 15       Q227
    +#> 16       Q778
    +#> 17       Q398
    +#> 18       Q902
    +#> 19       Q244
    +#> 20        Q31
    +#> 21       Q242
    +#> 22       Q962
    +#> 23     Q23635
    +#> 24       Q917
    +#> 25       Q184
    +#> 26       Q750
    +#> 27       Q225
    +#> 28       Q963
    +#> 29       Q155
    +#> 30       Q921
    +#> 31       Q219
    +#> 32       Q965
    +#> 33       Q967
    +#> 34       Q424
    +#> 35      Q1009
    +#> 36        Q16
    +#> 37      Q1011
    +#> 38       Q237
    +#> 39       Q739
    +#> 40       Q970
    +#> 41       Q971
    +#> 42       Q423
    +#> 43       Q884
    +#> 44      Q1008
    +#> 45       Q800
    +#> 46       Q224
    +#> 47       Q241
    +#> 48        Q35
    +#> 49       Q977
    +#> 50       Q784
    +#> 51        Q79
    +#> 52       Q792
    +#> 53       Q878
    +#> 54       Q736
    +#> 55       Q986
    +#> 56       Q214
    +#> 57       Q215
    +#> 58        Q29
    +#> 59        Q30
    +#> 60       Q191
    +#> 61      Q1050
    +#> 62       Q115
    +#> 63       Q712
    +#> 64       Q928
    +#> 65        Q33
    +#> 66       Q142
    +#> 67   Q2009420
    +#> 68   Q2637319
    +#> 69      Q1000
    +#> 70      Q1005
    +#> 71       Q230
    +#> 72       Q117
    +#> 73      Q1410
    +#> 74        Q41
    +#> 75       Q769
    +#> 76       Q223
    +#> 77       Q774
    +#> 78     Q25230
    +#> 79      Q1006
    +#> 80      Q1007
    +#> 81       Q983
    +#> 82       Q734
    +#> 83       Q790
    +#> 84       Q783
    +#> 85        Q28
    +#> 86       Q805
    +#> 87      Q9676
    +#> 88     Q13353
    +#> 89      Q5785
    +#> 90     Q26988
    +#> 91      Q4628
    +#> 92     Q35086
    +#> 93      Q9648
    +#> 94       Q709
    +#> 95     Q35672
    +#> 96     Q18221
    +#> 97     Q25305
    +#> 98       Q668
    +#> 99       Q252
    +#> 100      Q794
    +#> 101      Q796
    +#> 102       Q27
    +#> 103      Q189
    +#> 104      Q801
    +#> 105       Q38
    +#> 106      Q766
    +#> 107       Q17
    +#> 108      Q785
    +#> 109      Q810
    +#> 110      Q232
    +#> 111      Q114
    +#> 112      Q813
    +#> 113      Q710
    +#> 114     Q1246
    +#> 115      Q817
    +#> 116      Q819
    +#> 117     Q1013
    +#> 118      Q211
    +#> 119      Q822
    +#> 120     Q1014
    +#> 121     Q1016
    +#> 122      Q347
    +#> 123       Q37
    +#> 124       Q32
    +#> 125      Q221
    +#> 126     Q1019
    +#> 127      Q833
    +#> 128     Q1020
    +#> 129      Q826
    +#> 130      Q912
    +#> 131      Q233
    +#> 132     Q1028
    +#> 133     Q1027
    +#> 134     Q1025
    +#> 135       Q96
    +#> 136      Q702
    +#> 137     Q1029
    +#> 138      Q217
    +#> 139      Q235
    +#> 140      Q711
    +#> 141      Q236
    +#> 142      Q836
    +#> 143     Q1030
    +#> 144      Q697
    +#> 145      Q837
    +#> 146      Q811
    +#> 147     Q1032
    +#> 148     Q1033
    +#> 149    Q34020
    +#> 150       Q20
    +#> 151      Q664
    +#> 152      Q842
    +#> 153    Q29999
    +#> 154      Q843
    +#> 155      Q695
    +#> 156      Q804
    +#> 157      Q691
    +#> 158      Q733
    +#> 159      Q419
    +#> 160       Q36
    +#> 161       Q45
    +#> 162      Q846
    +#> 163      Q145
    +#> 164    Q40362
    +#> 165      Q929
    +#> 166      Q974
    +#> 167      Q786
    +#> 168      Q218
    +#> 169      Q159
    +#> 170     Q1037
    +#> 171      Q763
    +#> 172      Q760
    +#> 173      Q757
    +#> 174      Q685
    +#> 175      Q683
    +#> 176      Q238
    +#> 177   Q192184
    +#> 178     Q1039
    +#> 179     Q1041
    +#> 180      Q403
    +#> 181     Q1042
    +#> 182     Q1044
    +#> 183      Q334
    +#> 184      Q858
    +#> 185     Q1045
    +#> 186      Q854
    +#> 187      Q258
    +#> 188     Q1049
    +#> 189      Q958
    +#> 190       Q34
    +#> 191       Q39
    +#> 192      Q730
    +#> 193      Q863
    +#> 194      Q869
    +#> 195      Q865
    +#> 196      Q924
    +#> 197    Q43448
    +#> 198      Q574
    +#> 199      Q945
    +#> 200    Q36823
    +#> 201      Q678
    +#> 202      Q754
    +#> 203      Q948
    +#> 204      Q874
    +#> 205       Q43
    +#> 206      Q672
    +#> 207      Q657
    +#> 208      Q213
    +#> 209      Q212
    +#> 210     Q1036
    +#> 211       Q77
    +#> 212      Q265
    +#> 213      Q686
    +#> 214      Q717
    +#> 215      Q881
    +#> 216      Q298
    +#> 217      Q148
    +#> 218      Q229
    +#> 219      Q953
    +#> 220      Q954
    +#> 221  Q1991986
    +#> 222  Q1991810
    +#> 223  Q1991288
    +#> 224  Q1991697
    +#> 225  Q1991225
    +#> 226  Q3088912
    +#> 227  Q2052849
    +#> 228  Q1996372
    +#> 229  Q1991486
    +#> 230  Q1991324
    +#> 231  Q1991486
    +#> 232  Q3088708
    +#> 233   Q572463
    +#> 234  Q3088945
    +#> 235  Q1991311
    +#> 236  Q3088843
    +#> 237  Q1991288
    +#> 238  Q3088913
    +#> 239      <NA>
    +#> 240      <NA>
    +#> 241 Q31923393
    +#> 242  Q5921615
    +#> 243 Q18285634
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/figures/logo.svg b/docs/reference/figures/logo.svg new file mode 100644 index 0000000..a236847 --- /dev/null +++ b/docs/reference/figures/logo.svg @@ -0,0 +1,338 @@ + + + OpenStreetMap Catalan Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + OpenStreetMap Catalan Logo + + + + + + + 2022-11 + + + + + + Official logo for OpenStreetMap Foundation by Ken Vermette +Catalan flag : wikimedia + + + OSM openstreetmap catalan logo + + + http://wiki.openstreetmap.org/wiki/File:Public-images-osm_logo.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 010110010011010110010011  + 010110010011010110010011  + + + \ No newline at end of file diff --git a/docs/reference/index.html b/docs/reference/index.html new file mode 100644 index 0000000..e6663ce --- /dev/null +++ b/docs/reference/index.html @@ -0,0 +1,164 @@ + +Índex del paquet • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Funcions

    + + + + +
    + + + + +
    + + canvis_html() + +
    +
    Canvis en html
    +
    + + cerca_versio_canvis() + +
    +
    Cerca les versions que introdueixen canvis
    +
    + + comprova_canvis_osm() + +
    +
    Comprova canvis a OSM
    +
    + + consulta_etiquetes_osm() + +
    +
    Consulta etiquetes d'OSM
    +
    + + missatge_telegram() + +
    +
    Envia un missatge a al grup de Telegram de la Comunitat en catal\u00E0 d'OpenStreetMap
    +
    + + modifica_etiquetes_osm() + +
    +
    Modifica etiquetes a OSM
    +
    + + versio_canvis_html() + +
    +
    Mostra les versions que introdueixen canvis en html
    +
    +

    Bases de dades de referència

    + + + + +
    + + + + +
    + + PPCC + +
    +
    Països Catalans
    +
    + + capitals + +
    +
    Capitals d'estats del mon
    +
    + + comarques + +
    +
    Comarques dels Països Catalans
    +
    + + estats + +
    +
    Estats del mon
    +
    + + loc_admin_centre_municipis + +
    +
    Centres administratius de les relacions dels municipis dels Països Catalans
    +
    + + mars + +
    +
    Mars i oceans del mon
    +
    + + municipis + +
    +
    Municipis dels Països Catalans
    +
    + + territoris + +
    +
    Territoris dels Països Catalans
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/loc_admin_centre_municipis.html b/docs/reference/loc_admin_centre_municipis.html new file mode 100644 index 0000000..1a1c601 --- /dev/null +++ b/docs/reference/loc_admin_centre_municipis.html @@ -0,0 +1,5133 @@ + +Centres administratius de les relacions dels municipis dels Països Catalans — loc_admin_centre_municipis • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Dades de les localitats que fan d'admin_centre dels municipis dels Països Catalans.

    +
    + +
    +

    Ús

    +
    loc_admin_centre_municipis
    +
    + +
    +

    Format

    +

    Un data.frame amb dades de les 1673 localitats establertes com a admin_centre de les relacions dels + municipis per les següents 10 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    regio
    +

    Subdivisió ["Aran", "CatNord", "Franja", "Illes", "Principat", "PV", "Sardenya"].

    + +
    comarca
    +

    Etiqueta name:ca de la comarca on es troba el municipi.

    + +
    municipi
    +

    Etiqueta name:ca del municipi en què l'element fa d'admin_centre.

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    name
    +

    Etiqueta name.

    + +
    wikipedia
    +

    Etiqueta wikipedia.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + +
    place
    +

    Etiqueta place.

    + + +
    +
    +

    Vegeu també

    +

    Altres bases de dades de referència: + PPCC, municipis, comarques, territoris.

    +
    + +
    +

    Exemples

    +
    loc_admin_centre_municipis[, c("name:ca", "regio", "municipi", "name")]
    +#>                                    name:ca     regio
    +#> 1                                  Salardú      Aran
    +#> 2                             Arres de Jos      Aran
    +#> 3                                   Bausén      Aran
    +#> 4                                  Bossòst      Aran
    +#> 5                                  Canejan      Aran
    +#> 6                                es Bordes      Aran
    +#> 7                                      Lés      Aran
    +#> 8                                   Viella      Aran
    +#> 9                                  Vilamòs      Aran
    +#> 10   Angostrina i Vilanova de les Escaldes   CatNord
    +#> 11                                Bolquera   CatNord
    +#> 12                                  Dorres   CatNord
    +#> 13                                   Èguet   CatNord
    +#> 14                                    Eina   CatNord
    +#> 15                                  Enveig   CatNord
    +#> 16                                      Er   CatNord
    +#> 17                                 Estavar   CatNord
    +#> 18                Font-romeu, Odelló i Vià   CatNord
    +#> 19                            la Cabanassa   CatNord
    +#> 20                       la Guingueta d'Ix   CatNord
    +#> 21                        la Tor de Querol   CatNord
    +#> 22                                     Llo   CatNord
    +#> 23                               Montlluís   CatNord
    +#> 24                                   Naüja   CatNord
    +#> 25                                   Oceja   CatNord
    +#> 26                       Palau de Cerdanya   CatNord
    +#> 27                                   Porta   CatNord
    +#> 28                                   Portè   CatNord
    +#> 29                               Sallagosa   CatNord
    +#> 30                           Santa Llocaia   CatNord
    +#> 31                               Targasona   CatNord
    +#> 32                                      Ur   CatNord
    +#> 33                           Vallcebollera   CatNord
    +#> 34                              els Angles   CatNord
    +#> 35                            Font-rabiosa   CatNord
    +#> 36                              Formiguera   CatNord
    +#> 37                                Matamala   CatNord
    +#> 38                             Puigbalador   CatNord
    +#> 39                                    Real   CatNord
    +#> 40                              Aiguatèbia   CatNord
    +#> 41                                Arboçols   CatNord
    +#> 42                                 Campome   CatNord
    +#> 43                              Canavelles   CatNord
    +#> 44                       Castell de Vernet   CatNord
    +#> 45                                  Catllà   CatNord
    +#> 46                    Caudiers de Conflent   CatNord
    +#> 47                                   Sançà   CatNord
    +#> 48                                   Clarà   CatNord
    +#> 49                                 Codalet   CatNord
    +#> 50                                   Conat   CatNord
    +#> 51                    Cornellà de Conflent   CatNord
    +#> 52                                  Escaró   CatNord
    +#> 53                      Espirà de Conflent   CatNord
    +#> 54                                  Estoer   CatNord
    +#> 55                                     Eus   CatNord
    +#> 56                                 Fillols   CatNord
    +#> 57                               Finestret   CatNord
    +#> 58                             Fontpedrosa   CatNord
    +#> 59                                   Fullà   CatNord
    +#> 60                               Glorianes   CatNord
    +#> 61                                     Jóc   CatNord
    +#> 62                                  Jújols   CatNord
    +#> 63                              la Bastida   CatNord
    +#> 64                              la Llaguna   CatNord
    +#> 65                                  Llonat   CatNord
    +#> 66                            Marqueixanes   CatNord
    +#> 67                                  Mentet   CatNord
    +#> 68                                   Molig   CatNord
    +#> 69                                  Mosset   CatNord
    +#> 70                                  Noedes   CatNord
    +#> 71                                    Nyer   CatNord
    +#> 72                                   Oleta   CatNord
    +#> 73                                 Orbanyà   CatNord
    +#> 74                                  Orellà   CatNord
    +#> 75                                      Pi   CatNord
    +#> 76                                  Planès   CatNord
    +#> 77                                   Prada   CatNord
    +#> 78                                  Ralleu   CatNord
    +#> 79                                     Rià   CatNord
    +#> 80                                 Rigardà   CatNord
    +#> 81                                   Rodés   CatNord
    +#> 82                             Sant Marçal   CatNord
    +#> 83                  Sant Pere dels Forcats   CatNord
    +#> 84                                  Saorra   CatNord
    +#> 85                                   Sautó   CatNord
    +#> 86                                Serdinyà   CatNord
    +#> 87                                 Soanyes   CatNord
    +#> 88                                 Tarerac   CatNord
    +#> 89                                Taurinyà   CatNord
    +#> 90                                    Toès   CatNord
    +#> 91                             Vallestàvia   CatNord
    +#> 92                               Vallmanya   CatNord
    +#> 93                                  Vernet   CatNord
    +#> 94                  Vilafranca de Conflent   CatNord
    +#> 95                                   Vinçà   CatNord
    +#> 96                                  Alenyà   CatNord
    +#> 97                                Argelers   CatNord
    +#> 98                                   Bages   CatNord
    +#> 99                                  Baixàs   CatNord
    +#> 100                  Banyuls de la Marenda   CatNord
    +#> 101                    Banyuls dels Aspres   CatNord
    +#> 102                                    Bao   CatNord
    +#> 103                                 Bompàs   CatNord
    +#> 104                                 Brullà   CatNord
    +#> 105                           Bula d'Amunt   CatNord
    +#> 106                            Bulaternera   CatNord
    +#> 107                              Cabestany   CatNord
    +#> 108                                  Calce   CatNord
    +#> 109                               Calmella   CatNord
    +#> 110                                Cameles   CatNord
    +#> 111                      Canet de Rosselló   CatNord
    +#> 112                                 Cànoes   CatNord
    +#> 113                              Casafabre   CatNord
    +#> 114                          Cases de Pena   CatNord
    +#> 115                 Castellnou dels Aspres   CatNord
    +#> 116                  Cervera de la Marenda   CatNord
    +#> 117                                 Clairà   CatNord
    +#> 118                    Corbera de Rosselló   CatNord
    +#> 119                  Cornellà de la Ribera   CatNord
    +#> 120                    Cornellà del Bèrcol   CatNord
    +#> 121                              Cotlliure   CatNord
    +#> 122                            el Barcarès   CatNord
    +#> 123                               el Soler   CatNord
    +#> 124                                el Voló   CatNord
    +#> 125                                   Elna   CatNord
    +#> 126                       Espirà de l'Aglí   CatNord
    +#> 127                               Estagell   CatNord
    +#> 128                                Forques   CatNord
    +#> 129                                   Illa   CatNord
    +#> 130                   la Cabana de Corbera   CatNord
    +#> 131                       la Roca d'Albera   CatNord
    +#> 132                        la Torre d'Elna   CatNord
    +#> 133                                 Llauró   CatNord
    +#> 134                                 Llupià   CatNord
    +#> 135                                Millars   CatNord
    +#> 136                              Montescot   CatNord
    +#> 137                    Montesquiu d'Albera   CatNord
    +#> 138                                Montner   CatNord
    +#> 139                              Montoriol   CatNord
    +#> 140                                 Nefiac   CatNord
    +#> 141                                    Oms   CatNord
    +#> 142                                   Òpol   CatNord
    +#> 143                                 Ortafà   CatNord
    +#> 144                                   Paçà   CatNord
    +#> 145                        Palau del Vidre   CatNord
    +#> 146                           Paretstortes   CatNord
    +#> 147                               Perpinyà   CatNord
    +#> 148                   Pesillà de la Ribera   CatNord
    +#> 149                                    Pià   CatNord
    +#> 150                             Pollestres   CatNord
    +#> 151                               Pontellà   CatNord
    +#> 152                            Portvendres   CatNord
    +#> 153                            la Trinitat   CatNord
    +#> 154                                Queixàs   CatNord
    +#> 155                             Ribesaltes   CatNord
    +#> 156                               Salelles   CatNord
    +#> 157                                 Salses   CatNord
    +#> 158                  Sant Andreu de Sureda   CatNord
    +#> 159                Sant Cebrià de Rosselló   CatNord
    +#> 160               Sant Esteve del Monestir   CatNord
    +#> 161                     Sant Feliu d'Amunt   CatNord
    +#> 162                     Sant Feliu d'Avall   CatNord
    +#> 163                 Sant Genís de Fontanes   CatNord
    +#> 164                           Sant Hipòlit   CatNord
    +#> 165                     Sant Joan la Cella   CatNord
    +#> 166             Sant Llorenç de la Salanca   CatNord
    +#> 167                  Sant Miquel de Llotes   CatNord
    +#> 168                            Sant Nazari   CatNord
    +#> 169             Santa Coloma de la Comanda   CatNord
    +#> 170                     Santa Maria la Mar   CatNord
    +#> 171                                 Sureda   CatNord
    +#> 172                               Talteüll   CatNord
    +#> 173                                Terrats   CatNord
    +#> 174                                   Tesà   CatNord
    +#> 175                                Toluges   CatNord
    +#> 176                               Torderes   CatNord
    +#> 177                Torrelles de la Salanca   CatNord
    +#> 178                              Trasserra   CatNord
    +#> 179                               Trullars   CatNord
    +#> 180                                   Tuïr   CatNord
    +#> 181               Vilallonga de la Salanca   CatNord
    +#> 182                  Vilallonga dels Monts   CatNord
    +#> 183                             Vilamulaca   CatNord
    +#> 184                  Vilanova de la Ribera   CatNord
    +#> 185                        Vilanova de Raò   CatNord
    +#> 186                                Vingrau   CatNord
    +#> 187                                  Arles   CatNord
    +#> 188                                  Ceret   CatNord
    +#> 189                               Cortsaví   CatNord
    +#> 190                                Costoja   CatNord
    +#> 191                              el Pertús   CatNord
    +#> 192                                 el Tec   CatNord
    +#> 193                      els Banys d'Arles   CatNord
    +#> 194                               L'Albera   CatNord
    +#> 195                              la Menera   CatNord
    +#> 196                             les Cluses   CatNord
    +#> 197                               Montboló   CatNord
    +#> 198                             Montferrer   CatNord
    +#> 199                   Morellàs i les Illes   CatNord
    +#> 200             Prats de Molló i la Presta   CatNord
    +#> 201                                Reiners   CatNord
    +#> 202                Sant Joan de Pladecorts   CatNord
    +#> 203                Sant Llorenç de Cerdans   CatNord
    +#> 204                            Serrallonga   CatNord
    +#> 205                                 Tellet   CatNord
    +#> 206                                 Teulís   CatNord
    +#> 207                                 Vivers   CatNord
    +#> 208                 Aiguaviva de Bergantes    Franja
    +#> 209                     Bellmunt de Mesquí    Franja
    +#> 210                    la Canyada de Beric    Franja
    +#> 211                           la Codonyera    Franja
    +#> 212                           la Ginebrosa    Franja
    +#> 213                           la Sorollera    Franja
    +#> 214                    la Torre de Vilella    Franja
    +#> 215                                   Faió    Franja
    +#> 216                   Favara de Matarranya    Franja
    +#> 217                                 Maella    Franja
    +#> 218                                 Nonasp    Franja
    +#> 219                                  Fraga    Franja
    +#> 220                             Mequinensa    Franja
    +#> 221                                  Saidí    Franja
    +#> 222                       Torrent de Cinca    Franja
    +#> 223                       Vilella de Cinca    Franja
    +#> 224                                Albelda    Franja
    +#> 225                                 Baells    Franja
    +#> 226                            Camporrells    Franja
    +#> 227                           Castillonroi    Franja
    +#> 228                             el Campell    Franja
    +#> 229                             el Torricó    Franja
    +#> 230                      Peralta de la Sal    Franja
    +#> 231                 Sant Esteve de Llitera    Franja
    +#> 232                                  Sanui    Franja
    +#> 233                     Tamarit de Llitera    Franja
    +#> 234                             Valldellou    Franja
    +#> 235                               Vensilló    Franja
    +#> 236                        Arenys de Lledó    Franja
    +#> 237                                 Beseit    Franja
    +#> 238                               Calaceit    Franja
    +#> 239                           Fontdespatla    Franja
    +#> 240                                Fórnols    Franja
    +#> 241                           la Freixneda    Franja
    +#> 242                          la Portellada    Franja
    +#> 243                     la Torre del Comte    Franja
    +#> 244                      la Vall del Tormo    Franja
    +#> 245                         Lledó d'Algars    Franja
    +#> 246                               Massalió    Franja
    +#> 247                               Montroig    Franja
    +#> 248                 Pena-roja de Tastavins    Franja
    +#> 249                               Queretes    Franja
    +#> 250                                 Ràfels    Franja
    +#> 251                           Torredarques    Franja
    +#> 252                         Vall-de-roures    Franja
    +#> 253                           Valljunquera    Franja
    +#> 254                       Areny de Noguera    Franja
    +#> 255                              Benavarri    Franja
    +#> 256                                Beranui    Franja
    +#> 257                                Bonansa    Franja
    +#> 258                             Castigaleu    Franja
    +#> 259                              Estopanyà    Franja
    +#> 260                       la Pobla de Roda    Franja
    +#> 261                              Lasquarri    Franja
    +#> 262                              Les Paüls    Franja
    +#> 263                              Queixigar    Franja
    +#> 264                               Montanui    Franja
    +#> 265                     Pont de Montanyana    Franja
    +#> 266                                Sopeira    Franja
    +#> 267                                  Tolba    Franja
    +#> 268                          Tor-la-ribera    Franja
    +#> 269                                Viacamp    Franja
    +#> 270                                Eivissa     Illes
    +#> 271                Sant Antoni de Portmany     Illes
    +#> 272                  Sant Joan de Labritja     Illes
    +#> 273                Sant Josep de sa Talaia     Illes
    +#> 274                  Santa Eulària des Riu     Illes
    +#> 275            Sant Francesc de Formentera     Illes
    +#> 276                                   Artà     Illes
    +#> 277                              Capdepera     Illes
    +#> 278                                Manacor     Illes
    +#> 279             Sant Llorenç des Cardassar     Illes
    +#> 280                            Son Servera     Illes
    +#> 281                                 Alaior     Illes
    +#> 282                             Ciutadella     Illes
    +#> 283                             es Castell     Illes
    +#> 284                            es Mercadal     Illes
    +#> 285                        es Migjorn Gran     Illes
    +#> 286                              Ferreries     Illes
    +#> 287                                    Maó     Illes
    +#> 288                             Sant Lluís     Illes
    +#> 289                                 Campos     Illes
    +#> 290                               Felanitx     Illes
    +#> 291                              Llucmajor     Illes
    +#> 292                               Santanyí     Illes
    +#> 293                            ses Salines     Illes
    +#> 294                                  Palma     Illes
    +#> 295                                Algaida     Illes
    +#> 296                                 Ariany     Illes
    +#> 297                                Costitx     Illes
    +#> 298                   Lloret de Vistalegre     Illes
    +#> 299                                  Llubí     Illes
    +#> 300                      Maria de la Salut     Illes
    +#> 301                               Montuïri     Illes
    +#> 302                                   Muro     Illes
    +#> 303                                  Petra     Illes
    +#> 304                               Porreres     Illes
    +#> 305                              Sant Joan     Illes
    +#> 306                          Santa Eugènia     Illes
    +#> 307                        Santa Margalida     Illes
    +#> 308                              Sencelles     Illes
    +#> 309                                  Sineu     Illes
    +#> 310                   Vilafranca de Bonany     Illes
    +#> 311                                  Alaró     Illes
    +#> 312                                Alcúdia     Illes
    +#> 313                             Binissalem     Illes
    +#> 314                                  Búger     Illes
    +#> 315                               Campanet     Illes
    +#> 316                                Consell     Illes
    +#> 317                                   Inca     Illes
    +#> 318                                Lloseta     Illes
    +#> 319                      Mancor de la Vall     Illes
    +#> 320                            sa Cabaneta     Illes
    +#> 321                               sa Pobla     Illes
    +#> 322                   Santa Maria del Camí     Illes
    +#> 323                                  Selva     Illes
    +#> 324                                Andratx     Illes
    +#> 325                            Banyalbufar     Illes
    +#> 326                                Bunyola     Illes
    +#> 327                                 Calvià     Illes
    +#> 328                                   Deià     Illes
    +#> 329                                   Lluc     Illes
    +#> 330                               Esporles     Illes
    +#> 331                             Estellencs     Illes
    +#> 332                              Fornalutx     Illes
    +#> 333                               Pollença     Illes
    +#> 334                            Puigpunyent     Illes
    +#> 335                                 Sóller     Illes
    +#> 336                            Valldemossa     Illes
    +#> 337                            Aiguamúrcia Principat
    +#> 338                                Alcover Principat
    +#> 339                                   Alió Principat
    +#> 340                                 Bràfim Principat
    +#> 341                         Cabra del Camp Principat
    +#> 342                                el Milà Principat
    +#> 343                  el Pla de Santa Maria Principat
    +#> 344                    el Pont d'Armentera Principat
    +#> 345                             el Rourell Principat
    +#> 346                          els Garidells Principat
    +#> 347                     Figuerola del Camp Principat
    +#> 348                                la Masó Principat
    +#> 349                                la Riba Principat
    +#> 350                               Mont-ral Principat
    +#> 351                              Montferri Principat
    +#> 352                                 Nulles Principat
    +#> 353                              Puigpelat Principat
    +#> 354                                 Querol Principat
    +#> 355                                Rodonyà Principat
    +#> 356                               Vallmoll Principat
    +#> 357                                  Valls Principat
    +#> 358                            Vila-rodona Principat
    +#> 359                              Vilabella Principat
    +#> 360                               Agullana Principat
    +#> 361                                Albanyà Principat
    +#> 362                Avinyonet de Puigventós Principat
    +#> 363                                Bàscara Principat
    +#> 364                                  Biure Principat
    +#> 365                     Boadella d'Empordà Principat
    +#> 366                               Borrassà Principat
    +#> 367                             Cabanelles Principat
    +#> 368                                Cabanes Principat
    +#> 369                               Cadaqués Principat
    +#> 370                               Campmany Principat
    +#> 371                             Cantallops Principat
    +#> 372                    Castelló d'Empúries Principat
    +#> 373                    Castelló d'Empúries Principat
    +#> 374                               Cistella Principat
    +#> 375                                 Colera Principat
    +#> 376                                Darnius Principat
    +#> 377                       el Far d'Empordà Principat
    +#> 378                    el Port de la Selva Principat
    +#> 379                                Espolla Principat
    +#> 380                               Figueres Principat
    +#> 381                                 Fortià Principat
    +#> 382                               Garrigàs Principat
    +#> 383                            Garriguella Principat
    +#> 384                            l'Armentera Principat
    +#> 385                               l'Escala Principat
    +#> 386                            la Jonquera Principat
    +#> 387                        la Selva de Mar Principat
    +#> 388                               la Vajol Principat
    +#> 389                                 Llançà Principat
    +#> 390                        Lledó d'Empordà Principat
    +#> 391                                  Llers Principat
    +#> 392                    Maçanet de Cabrenys Principat
    +#> 393                                Masarac Principat
    +#> 394                     Mollet de Peralada Principat
    +#> 395                                 Navata Principat
    +#> 396                                  Ordis Principat
    +#> 397                          Santa Eulàlia Principat
    +#> 398                        Palau-saverdera Principat
    +#> 399                                    Pau Principat
    +#> 400                                  Marzà Principat
    +#> 401                               Peralada Principat
    +#> 402                         Pont de Molins Principat
    +#> 403                                 Pontós Principat
    +#> 404                                Portbou Principat
    +#> 405                                  Rabós Principat
    +#> 406                                Riumors Principat
    +#> 407                                  Roses Principat
    +#> 408                  Sant Climent Sescebes Principat
    +#> 409                Sant Llorenç de la Muga Principat
    +#> 410                  Sant Miquel de Fluvià Principat
    +#> 411                              Sant Mori Principat
    +#> 412                     Sant Pere Pescador Principat
    +#> 413                Santa Llogaia d'Àlguema Principat
    +#> 414                              Camallera Principat
    +#> 415                                Siurana Principat
    +#> 416                               Terrades Principat
    +#> 417                    Torroella de Fluvià Principat
    +#> 418                               Ventalló Principat
    +#> 419                             Vila-sacra Principat
    +#> 420                            Vilabertran Principat
    +#> 421                              Viladamat Principat
    +#> 422                               Vilafant Principat
    +#> 423                              Vilajuïga Principat
    +#> 424                            Vilamacolum Principat
    +#> 425                              Vilamalla Principat
    +#> 426                           Vilamaniscle Principat
    +#> 427                               Vilanant Principat
    +#> 428                                 Vilaür Principat
    +#> 429                             Avinyó Nou Principat
    +#> 430                              la Gornal Principat
    +#> 431                               la Múnia Principat
    +#> 432                     el Pla del Penedès Principat
    +#> 433                              Font-rubí Principat
    +#> 434                                 Gelida Principat
    +#> 435                             la Granada Principat
    +#> 436                           les Cabanyes Principat
    +#> 437                   Sant Joan de Mediona Principat
    +#> 438                 Sant Miquel d'Olèrdola Principat
    +#> 439                    Olesa de Bonesvalls Principat
    +#> 440                       Pacs del Penedès Principat
    +#> 441                                Pontons Principat
    +#> 442                             Puigdàlber Principat
    +#> 443                Sant Cugat Sesgarrigues Principat
    +#> 444                 Sant Llorenç d'Hortons Principat
    +#> 445                     Sant Martí Sarroca Principat
    +#> 446              Sant Pere de Riudebitlles Principat
    +#> 447                 Sant Quintí de Mediona Principat
    +#> 448                   Sant Sadurní d'Anoia Principat
    +#> 449                   Santa Fe del Penedès Principat
    +#> 450           Santa Margarida i els Monjos Principat
    +#> 451                       Sant Pau d'Ordal Principat
    +#> 452                     Terrassola i Lavit Principat
    +#> 453                      Torrelles de Foix Principat
    +#> 454                 Vilafranca del Penedès Principat
    +#> 455                     Vilobí del Penedès Principat
    +#> 456                                   Alàs Principat
    +#> 457                               Arsèguel Principat
    +#> 458                               Bassella Principat
    +#> 459                                   Cabó Principat
    +#> 460                               Ansovell Principat
    +#> 461                          Coll de Nargó Principat
    +#> 462                                    Bar Principat
    +#> 463                              Estamariu Principat
    +#> 464                                 Fígols Principat
    +#> 465                                Tuixent Principat
    +#> 466                        la Seu d'Urgell Principat
    +#> 467                                Fórnols Principat
    +#> 468                   Sorribes de la Vansa Principat
    +#> 469                         Noves de Segre Principat
    +#> 470                               Anserall Principat
    +#> 471                             Montferrer Principat
    +#> 472                                 Oliana Principat
    +#> 473                                Organyà Principat
    +#> 474                               Peramola Principat
    +#> 475                    el Pla de Sant Tirs Principat
    +#> 476                       el Pont de Suert Principat
    +#> 477                               Barruera Principat
    +#> 478                               Vilaller Principat
    +#> 479                              Argençola Principat
    +#> 480                               Bellprat Principat
    +#> 481                              Canaletes Principat
    +#> 482                                  Calaf Principat
    +#> 483                                Dusfort Principat
    +#> 484                             Capellades Principat
    +#> 485                                  Carme Principat
    +#> 486             Castellfollit de Riubregós Principat
    +#> 487                             Castellolí Principat
    +#> 488                                 Copons Principat
    +#> 489                                el Bruc Principat
    +#> 490               els Hostalets de Pierola Principat
    +#> 491                       els Prats de Rei Principat
    +#> 492                               Igualada Principat
    +#> 493                                  Jorba Principat
    +#> 494                             la Llacuna Principat
    +#> 495                  la Pobla de Claramunt Principat
    +#> 496                  la Torre de Claramunt Principat
    +#> 497                               Masquefa Principat
    +#> 498                              Montmaneu Principat
    +#> 499                                  Òdena Principat
    +#> 500                                   Orpí Principat
    +#> 501                                  Piera Principat
    +#> 502                                 Pujalt Principat
    +#> 503                                  Rubió Principat
    +#> 504                     Sant Martí de Tous Principat
    +#> 505                 Sant Martí Sesgueioles Principat
    +#> 506                  Sant Pere Sallavinera Principat
    +#> 507             Santa Margarida de Montbui Principat
    +#> 508                Santa Maria de Miralles Principat
    +#> 509                       Vallbona d'Anoia Principat
    +#> 510                                Veciana Principat
    +#> 511                      Vilanova del Camí Principat
    +#> 512                     Aguilar de Segarra Principat
    +#> 513                                  Artés Principat
    +#> 514                                 Avinyó Principat
    +#> 515                              Balsareny Principat
    +#> 516                                 Callús Principat
    +#> 517                                Cardona Principat
    +#> 518                              el Borràs Principat
    +#> 519                 Castellfollit del Boix Principat
    +#> 520                            Castellgalí Principat
    +#> 521                    Castellnou de Bages Principat
    +#> 522                    el Pont de Vilomara Principat
    +#> 523                              Fonollosa Principat
    +#> 524                                   Gaià Principat
    +#> 525                                Manresa Principat
    +#> 526                              Marganell Principat
    +#> 527                Monistrol de Montserrat Principat
    +#> 528                                   Mura Principat
    +#> 529                              Navarcles Principat
    +#> 530                                 Navars Principat
    +#> 531                               Rajadell Principat
    +#> 532                                Sallent Principat
    +#> 533                    Sant Feliu Sasserra Principat
    +#> 534                  Sant Fruitós de Bages Principat
    +#> 535               Sant Joan de Vilatorrada Principat
    +#> 536                    Sant Mateu de Bages Principat
    +#> 537             Sant Salvador de Guardiola Principat
    +#> 538               Sant Vicenç de Castellet Principat
    +#> 539                              Santpedor Principat
    +#> 540                                  Súria Principat
    +#> 541                              Talamanca Principat
    +#> 542                                Alforja Principat
    +#> 543                               Almoster Principat
    +#> 544                                 Arbolí Principat
    +#> 545                               Botarell Principat
    +#> 546                               Cambrils Principat
    +#> 547                              Capafonts Principat
    +#> 548                   Castellvell del Camp Principat
    +#> 549                              Colldejou Principat
    +#> 550                             Duesaigües Principat
    +#> 551                               l'Albiol Principat
    +#> 552                              l'Aleixar Principat
    +#> 553                            l'Argentera Principat
    +#> 554                               la Febró Principat
    +#> 555                      la Selva del Camp Principat
    +#> 556                    les Borges del Camp Principat
    +#> 557                              Maspujols Principat
    +#> 558                     Mont-roig del Camp Principat
    +#> 559                      Montbrió del Camp Principat
    +#> 560                                 Prades Principat
    +#> 561                                Pratdip Principat
    +#> 562                                   Reus Principat
    +#> 563                            Riudecanyes Principat
    +#> 564                              Riudecols Principat
    +#> 565                                Riudoms Principat
    +#> 566                              Vandellòs Principat
    +#> 567                 Vilanova d'Escornalbou Principat
    +#> 568                              Vilaplana Principat
    +#> 569                     Vinyols i els Arcs Principat
    +#> 570                                Aldover Principat
    +#> 571                       Alfara de Carles Principat
    +#> 572                             Benifallet Principat
    +#> 573                               Camarles Principat
    +#> 574                               Deltebre Principat
    +#> 575                             el Perelló Principat
    +#> 576                                l'Aldea Principat
    +#> 577                       l'Ametlla de Mar Principat
    +#> 578                              l'Ampolla Principat
    +#> 579                                  Paüls Principat
    +#> 580                               Roquetes Principat
    +#> 581                                Tivenys Principat
    +#> 582                                Tortosa Principat
    +#> 583                                  Xerta Principat
    +#> 584                                 Albons Principat
    +#> 585                                  Begur Principat
    +#> 586                    Bellcaire d'Empordà Principat
    +#> 587                                Calonge Principat
    +#> 588                           Platja d'Aro Principat
    +#> 589                               Colomers Principat
    +#> 590                                  Corçà Principat
    +#> 591                Sant Sadurní de l'Heura Principat
    +#> 592                                  Foixà Principat
    +#> 593                            Fontanilles Principat
    +#> 594                             Garrigoles Principat
    +#> 595                                 Gualta Principat
    +#> 596                                  Jafre Principat
    +#> 597                    la Bisbal d'Empordà Principat
    +#> 598                                la Pera Principat
    +#> 599                   la Tallada d'Empordà Principat
    +#> 600                               Mont-ras Principat
    +#> 601                            Palafrugell Principat
    +#> 602                                Palamós Principat
    +#> 603                            Palau-sator Principat
    +#> 604                                   Pals Principat
    +#> 605                                Parlavà Principat
    +#> 606                               Regencós Principat
    +#> 607                                  Rupià Principat
    +#> 608                  Sant Feliu de Guíxols Principat
    +#> 609                   Santa Cristina d'Aro Principat
    +#> 610                          Serra de Daró Principat
    +#> 611                                Torrent Principat
    +#> 612                   Torroella de Montgrí Principat
    +#> 613                                   Ullà Principat
    +#> 614                              Ullastret Principat
    +#> 615                              Ultramort Principat
    +#> 616                          Vall-llobrega Principat
    +#> 617                                 Verges Principat
    +#> 618                               Vilopriu Principat
    +#> 619                              Vulpellac Principat
    +#> 620                                 Abrera Principat
    +#> 621                                 Begues Principat
    +#> 622                          Castelldefels Principat
    +#> 623                   Castellví de Rosanes Principat
    +#> 624                               Cervelló Principat
    +#> 625                               Collbató Principat
    +#> 626                   Corbera de Llobregat Principat
    +#> 627                  Cornellà de Llobregat Principat
    +#> 628                              el Papiol Principat
    +#> 629                   el Prat de Llobregat Principat
    +#> 630                           Esparreguera Principat
    +#> 631                 Esplugues de Llobregat Principat
    +#> 632                                   Gavà Principat
    +#> 633                   la Palma de Cervelló Principat
    +#> 634                              Martorell Principat
    +#> 635                          Molins de Rei Principat
    +#> 636                    Olesa de Montserrat Principat
    +#> 637                                Pallejà Principat
    +#> 638                Sant Andreu de la Barca Principat
    +#> 639                  Sant Boi de Llobregat Principat
    +#> 640              Sant Climent de Llobregat Principat
    +#> 641                 Sant Esteve Sesrovires Principat
    +#> 642                Sant Feliu de Llobregat Principat
    +#> 643                        Sant Joan Despí Principat
    +#> 644                      Sant Just Desvern Principat
    +#> 645                 Sant Vicenç dels Horts Principat
    +#> 646               Santa Coloma de Cervelló Principat
    +#> 647                 Torrelles de Llobregat Principat
    +#> 648                              Vallirana Principat
    +#> 649                             Viladecans Principat
    +#> 650                              Albinyana Principat
    +#> 651                   Banyeres del Penedès Principat
    +#> 652                                Bellvei Principat
    +#> 653                               Bonastre Principat
    +#> 654                               Calafell Principat
    +#> 655                                  Cunit Principat
    +#> 656                la Joncosa del Montmell Principat
    +#> 657                            el Vendrell Principat
    +#> 658                                l'Arboç Principat
    +#> 659                  La Bisbal del Penedès Principat
    +#> 660                    Llorenç del Penedès Principat
    +#> 661                             Masllorenç Principat
    +#> 662                Sant Jaume dels Domenys Principat
    +#> 663                            Santa Oliva Principat
    +#> 664                               Badalona Principat
    +#> 665                              Barcelona Principat
    +#> 666              l'Hospitalet de Llobregat Principat
    +#> 667                    Sant Adrià de Besòs Principat
    +#> 668               Santa Coloma de Gramenet Principat
    +#> 669                                   Avià Principat
    +#> 670                                   Bagà Principat
    +#> 671                                  Berga Principat
    +#> 672                                Borredà Principat
    +#> 673                                Capolat Principat
    +#> 674                              Casserres Principat
    +#> 675                     Castell de l'Areny Principat
    +#> 676                     Castellar de n'Hug Principat
    +#> 677                                Llinars Principat
    +#> 678                                  Cercs Principat
    +#> 679                                 Fígols Principat
    +#> 680                              Gironella Principat
    +#> 681                             Gisclareny Principat
    +#> 682                                  Gósol Principat
    +#> 683                  Guardiola de Berguedà Principat
    +#> 684                            l'Espunyola Principat
    +#> 685                     la Nou de Berguedà Principat
    +#> 686                     la Pobla de Lillet Principat
    +#> 687                                la Quar Principat
    +#> 688                               Montclar Principat
    +#> 689                              Montmajor Principat
    +#> 690                                  Olvan Principat
    +#> 691                              Puig-reig Principat
    +#> 692                                  Sagàs Principat
    +#> 693                                 Saldes Principat
    +#> 694                Sant Jaume de Frontanyà Principat
    +#> 695               Sant Julià de Cerdanyola Principat
    +#> 696                  Santa Maria de Merlès Principat
    +#> 697                              Vallcebre Principat
    +#> 698                                 Vilada Principat
    +#> 699                              Serrateix Principat
    +#> 700                                    Alp Principat
    +#> 701                    Bellver de Cerdanya Principat
    +#> 702                                 Bolvir Principat
    +#> 703                                    Das Principat
    +#> 704                        el Vilar d'Urtx Principat
    +#> 705                                    Ger Principat
    +#> 706                      Guils de Cerdanya Principat
    +#> 707                                    All Principat
    +#> 708                       Lles de Cerdanya Principat
    +#> 709                                 Llívia Principat
    +#> 710                               Meranges Principat
    +#> 711                               Martinet Principat
    +#> 712                                  Prats Principat
    +#> 713                               Prullans Principat
    +#> 714                              Puigcerdà Principat
    +#> 715                        Riu de Cerdanya Principat
    +#> 716                                   Urús Principat
    +#> 717                    Barberà de la Conca Principat
    +#> 718                             Blancafort Principat
    +#> 719                                 Conesa Principat
    +#> 720                                  Forès Principat
    +#> 721                  l'Espluga de Francolí Principat
    +#> 722                              les Piles Principat
    +#> 723                                 Llorac Principat
    +#> 724                              Montblanc Principat
    +#> 725                              Passanant Principat
    +#> 726                                   Pira Principat
    +#> 727                                Pontils Principat
    +#> 728                    Rocafort de Queralt Principat
    +#> 729                Santa Coloma de Queralt Principat
    +#> 730                                 Sarral Principat
    +#> 731                     Savallà del Comtat Principat
    +#> 732                                  Senan Principat
    +#> 733                              Solivella Principat
    +#> 734                              Vallclara Principat
    +#> 735                  Vallfogona de Riucorb Principat
    +#> 736                     Vilanova de Prades Principat
    +#> 737                               Vilaverd Principat
    +#> 738                                Vimbodí Principat
    +#> 739                              Canyelles Principat
    +#> 740                               Cubelles Principat
    +#> 741                               Olivella Principat
    +#> 742                     Sant Pere de Ribes Principat
    +#> 743                                 Sitges Principat
    +#> 744                   Vilanova i la Geltrú Principat
    +#> 745                                 Arbeca Principat
    +#> 746                            Bellaguarda Principat
    +#> 747                                 Bovera Principat
    +#> 748                            Castelldans Principat
    +#> 749                Cervià de les Garrigues Principat
    +#> 750                               el Cogul Principat
    +#> 751                             el Soleràs Principat
    +#> 752                            el Vilosell Principat
    +#> 753                           els Omellons Principat
    +#> 754                              els Torms Principat
    +#> 755                                Fulleda Principat
    +#> 756              Granyena de les Garrigues Principat
    +#> 757                                Juncosa Principat
    +#> 758                                 Juneda Principat
    +#> 759                              l'Albagés Principat
    +#> 760                                 l'Albi Principat
    +#> 761                        l'Espluga Calba Principat
    +#> 762                            la Floresta Principat
    +#> 763                          la Granadella Principat
    +#> 764                   la Pobla de Cérvoles Principat
    +#> 765                    les Borges Blanques Principat
    +#> 766                               Puiggròs Principat
    +#> 767                                 Tarrés Principat
    +#> 768                                Vinaixa Principat
    +#> 769                             Argelaguer Principat
    +#> 770                                 Besalú Principat
    +#> 771                                  Beuda Principat
    +#> 772               Castellfollit de la Roca Principat
    +#> 773                   Sant Esteve d'en Bas Principat
    +#> 774                  l'Hostalnou de Bianya Principat
    +#> 775                  les Planes d'Hostoles Principat
    +#> 776                             les Preses Principat
    +#> 777                        Maià de Montcal Principat
    +#> 778                                 Mieres Principat
    +#> 779                               Montagut Principat
    +#> 780                                   Olot Principat
    +#> 781                               Riudaura Principat
    +#> 782                       Sales de Llierca Principat
    +#> 783                 Sant Esteve de Llémena Principat
    +#> 784                Sant Feliu de Pallerols Principat
    +#> 785                                 Juïnyà Principat
    +#> 786                  Sant Jaume de Llierca Principat
    +#> 787                    Sant Joan les Fonts Principat
    +#> 788                              Santa Pau Principat
    +#> 789                               Tortellà Principat
    +#> 790                              Aiguaviva Principat
    +#> 791                                Bescanó Principat
    +#> 792                                Bordils Principat
    +#> 793                              Campllong Principat
    +#> 794                           Canet d'Adri Principat
    +#> 795                      Cassà de la Selva Principat
    +#> 796                                  Celrà Principat
    +#> 797                          Cervià de Ter Principat
    +#> 798                                  Flaçà Principat
    +#> 799                   Fornells de la Selva Principat
    +#> 800                                 Girona Principat
    +#> 801                                   Juià Principat
    +#> 802                             Llagostera Principat
    +#> 803                             Llambilles Principat
    +#> 804                             Madremanya Principat
    +#> 805                                Medinyà Principat
    +#> 806                                  Quart Principat
    +#> 807                                   Salt Principat
    +#> 808                      Sant Andreu Salou Principat
    +#> 809                           Sant Gregori Principat
    +#> 810                    Sant Joan de Mollet Principat
    +#> 811                    Sant Jordi Desvalls Principat
    +#> 812                    Sant Julià de Ramis Principat
    +#> 813                  Sant Martí de Llémena Principat
    +#> 814                        Sant Martí Vell Principat
    +#> 815                          Sarrià de Ter Principat
    +#> 816                            Vilablareix Principat
    +#> 817                             Viladasens Principat
    +#> 818                                 Alpens Principat
    +#> 819            Santa Eulàlia de Puig-oriol Principat
    +#> 820                                  Olost Principat
    +#> 821                                 Oristà Principat
    +#> 822                               Perafita Principat
    +#> 823                      Prats de Lluçanès Principat
    +#> 824                    Sant Martí d'Albars Principat
    +#> 825                              Sobremunt Principat
    +#> 826                                 Alella Principat
    +#> 827                          Arenys de Mar Principat
    +#> 828                         Arenys de Munt Principat
    +#> 829                              Argentona Principat
    +#> 830                         Cabrera de Mar Principat
    +#> 831                                Cabrils Principat
    +#> 832                        Caldes d'Estrac Principat
    +#> 833                                Calella Principat
    +#> 834                           Canet de Mar Principat
    +#> 835                                Dosrius Principat
    +#> 836                              el Masnou Principat
    +#> 837                         Malgrat de Mar Principat
    +#> 838                                 Mataró Principat
    +#> 839                                Montgat Principat
    +#> 840                                 Òrrius Principat
    +#> 841                              Palafolls Principat
    +#> 842                          Pineda de Mar Principat
    +#> 843                         Premià de Dalt Principat
    +#> 844                          Premià de Mar Principat
    +#> 845              Sant Andreu de Llavaneres Principat
    +#> 846                Sant Cebrià de Vallalta Principat
    +#> 847                 Sant Iscle de Vallalta Principat
    +#> 848                        Sant Pol de Mar Principat
    +#> 849                 Sant Vicenç de Montalt Principat
    +#> 850                          Santa Susanna Principat
    +#> 851                                   Teià Principat
    +#> 852                                  Tiana Principat
    +#> 853                                Tordera Principat
    +#> 854                       Vilassar de Dalt Principat
    +#> 855                        Vilassar de Mar Principat
    +#> 856                                Calders Principat
    +#> 857                             Castellcir Principat
    +#> 858                          Castellterçol Principat
    +#> 859                            Collsuspina Principat
    +#> 860                                Granera Principat
    +#> 861                               l'Estany Principat
    +#> 862                                   Moià Principat
    +#> 863                   Monistrol de Calders Principat
    +#> 864                     Sant Quirze Safaja Principat
    +#> 865                      Santa Maria d'Oló Principat
    +#> 866                                Alcanar Principat
    +#> 867                                Amposta Principat
    +#> 868                              Freginals Principat
    +#> 869                                 Godall Principat
    +#> 870                              la Galera Principat
    +#> 871                              la Ràpita Principat
    +#> 872                               la Sénia Principat
    +#> 873                       Mas de Barberans Principat
    +#> 874                            Masdenverge Principat
    +#> 875                    Sant Jaume d'Enveja Principat
    +#> 876                          Santa Bàrbara Principat
    +#> 877                              Ulldecona Principat
    +#> 878                                   Àger Principat
    +#> 879                                 Albesa Principat
    +#> 880                                Algerri Principat
    +#> 881                       Alòs de Balaguer Principat
    +#> 882                        Artesa de Segre Principat
    +#> 883                               Balaguer Principat
    +#> 884                     Bellcaire d'Urgell Principat
    +#> 885                      Bellmunt d'Urgell Principat
    +#> 886                             Cabanabona Principat
    +#> 887                               Camarasa Principat
    +#> 888                   Castelló de Farfanya Principat
    +#> 889                                Cubells Principat
    +#> 890                               Foradada Principat
    +#> 891                       Ivars de Noguera Principat
    +#> 892                                Gualter Principat
    +#> 893                       la Sentiu de Sió Principat
    +#> 894                          les Avellanes Principat
    +#> 895                             Menàrguens Principat
    +#> 896                                Montgai Principat
    +#> 897                                 Oliola Principat
    +#> 898                         Os de Balaguer Principat
    +#> 899                               Penelles Principat
    +#> 900                                  Ponts Principat
    +#> 901                               Preixens Principat
    +#> 902                                Térmens Principat
    +#> 903                                Tiurana Principat
    +#> 904                             Torrelameu Principat
    +#> 905                 Vallfogona de Balaguer Principat
    +#> 906                    Vilanova de l'Aguda Principat
    +#> 907                       Vilanova de Meià Principat
    +#> 908               els Hostalets de Balenyà Principat
    +#> 909                            Calldetenes Principat
    +#> 910                              Centelles Principat
    +#> 911                               el Brull Principat
    +#> 912                             Espinelves Principat
    +#> 913                            Folgueroles Principat
    +#> 914                                   Gurb Principat
    +#> 915                             l'Esquirol Principat
    +#> 916                     les Masies de Roda Principat
    +#> 917                 les Masies de Voltregà Principat
    +#> 918                                  Malla Principat
    +#> 919                                Manlleu Principat
    +#> 920                             Montesquiu Principat
    +#> 921                             Muntanyola Principat
    +#> 922                           Can Branques Principat
    +#> 923                            Roda de Ter Principat
    +#> 924                                  Rupit Principat
    +#> 925                                 l'Alou Principat
    +#> 926                 Sant Bartomeu del Grau Principat
    +#> 927                   Sant Boi de Lluçanès Principat
    +#> 928               Sant Hipòlit de Voltregà Principat
    +#> 929                Sant Julià de Vilatorta Principat
    +#> 930                               l'Abella Principat
    +#> 931                   Sant Pere de Torelló Principat
    +#> 932                  Sant Quirze de Besora Principat
    +#> 933                Sant Sadurní d'Osormort Principat
    +#> 934                 Sant Vicenç de Torelló Principat
    +#> 935              Santa Cecília de Voltregà Principat
    +#> 936                 Santa Eugènia de Berga Principat
    +#> 937             Santa Eulàlia de Riuprimer Principat
    +#> 938                  Santa Maria de Besora Principat
    +#> 939                                   Seva Principat
    +#> 940                                   Sora Principat
    +#> 941                               Taradell Principat
    +#> 942                             Tavèrnoles Principat
    +#> 943                               Tavertet Principat
    +#> 944                                   Tona Principat
    +#> 945                                Torelló Principat
    +#> 946                                    Vic Principat
    +#> 947                                  Vidrà Principat
    +#> 948                               Viladrau Principat
    +#> 949                        Vilanova de Sau Principat
    +#> 950                     Abella de la Conca Principat
    +#> 951                     Guàrdia de Noguera Principat
    +#> 952                    el Pont de Claverol Principat
    +#> 953                      Gavet de la Conca Principat
    +#> 954                                  Isona Principat
    +#> 955                      la Pobla de Segur Principat
    +#> 956                   la Torre de Cabdella Principat
    +#> 957                               Llimiana Principat
    +#> 958                       Salàs de Pallars Principat
    +#> 959                Sant Esteve de la Sarga Principat
    +#> 960                     Sarroca de Bellera Principat
    +#> 961                              Senterada Principat
    +#> 962                                 Talarn Principat
    +#> 963                                  Tremp Principat
    +#> 964                                  Alins Principat
    +#> 965                        València d'Àneu Principat
    +#> 966                        Gerri de la Sal Principat
    +#> 967                                  Espot Principat
    +#> 968                         Esterri d'Àneu Principat
    +#> 969                      Esterri de Cardós Principat
    +#> 970                                   Burg Principat
    +#> 971                    la Guingueta d'Àneu Principat
    +#> 972                               Lladorre Principat
    +#> 973                               Llavorsí Principat
    +#> 974                                  Rialb Principat
    +#> 975                                Vilamur Principat
    +#> 976                                   Sort Principat
    +#> 977                                 Tírvia Principat
    +#> 978                       Ribera de Cardós Principat
    +#> 979                                Barbens Principat
    +#> 980                     Bell-lloc d'Urgell Principat
    +#> 981                                Bellvís Principat
    +#> 982                    Castellnou de Seana Principat
    +#> 983                   el Palau d'Anglesola Principat
    +#> 984                                el Poal Principat
    +#> 985                             Fondarella Principat
    +#> 986                                 Golmés Principat
    +#> 987                         Ivars d'Urgell Principat
    +#> 988                                Linyola Principat
    +#> 989                              Miralcamp Principat
    +#> 990                             Mollerussa Principat
    +#> 991                                Sidamon Principat
    +#> 992                            Torregrossa Principat
    +#> 993                              Vila-sana Principat
    +#> 994                   Vilanova de Bellpuig Principat
    +#> 995                               Banyoles Principat
    +#> 996                                  Camós Principat
    +#> 997                     Cornellà del Terri Principat
    +#> 998                                Crespià Principat
    +#> 999                              Esponellà Principat
    +#> 1000                           Fontcoberta Principat
    +#> 1001                     Palol de Revardit Principat
    +#> 1002                                  Mata Principat
    +#> 1003              Sant Miquel de Campmajor Principat
    +#> 1004                               Serinyà Principat
    +#> 1005                            Vilademuls Principat
    +#> 1006                  Bellmunt del Priorat Principat
    +#> 1007                             Cabassers Principat
    +#> 1008                              Capçanes Principat
    +#> 1009                Cornudella de Montsant Principat
    +#> 1010                              el Lloar Principat
    +#> 1011                            el Masroig Principat
    +#> 1012                              el Molar Principat
    +#> 1013                          els Guiamets Principat
    +#> 1014                                Falset Principat
    +#> 1015                            Gratallops Principat
    +#> 1016                   la Bisbal de Falset Principat
    +#> 1017                            la Figuera Principat
    +#> 1018                 la Morera de Montsant Principat
    +#> 1019               la Torre de Fontaubella Principat
    +#> 1020                       la Vilella Alta Principat
    +#> 1021                      la Vilella Baixa Principat
    +#> 1022                                 Marçà Principat
    +#> 1023                              Margalef Principat
    +#> 1024                              Poboleda Principat
    +#> 1025                               Porrera Principat
    +#> 1026                 Pradell de la Teixeta Principat
    +#> 1027                   Torroja del Priorat Principat
    +#> 1028                           Ulldemolins Principat
    +#> 1029                                  Ascó Principat
    +#> 1030                            Benissanet Principat
    +#> 1031                                  Flix Principat
    +#> 1032                                Garcia Principat
    +#> 1033                              Ginestar Principat
    +#> 1034                       la Palma d'Ebre Principat
    +#> 1035                la Torre de l'Espanyol Principat
    +#> 1036                               Miravet Principat
    +#> 1037                           Móra d'Ebre Principat
    +#> 1038                          Móra la Nova Principat
    +#> 1039                              Rasquera Principat
    +#> 1040                      Riba-roja d'Ebre Principat
    +#> 1041                               Tivissa Principat
    +#> 1042                               Vinebre Principat
    +#> 1043                           Campdevànol Principat
    +#> 1044                             Campelles Principat
    +#> 1045                             Camprodon Principat
    +#> 1046                               Gombrèn Principat
    +#> 1047                           les Llosses Principat
    +#> 1048                               Llanars Principat
    +#> 1049                                 Molló Principat
    +#> 1050                                Ogassa Principat
    +#> 1051                              Pardines Principat
    +#> 1052                              Planoles Principat
    +#> 1053                              Queralbs Principat
    +#> 1054                       Ribes de Freser Principat
    +#> 1055                                Ripoll Principat
    +#> 1056            Sant Joan de les Abadesses Principat
    +#> 1057                  Sant Pau de Segúries Principat
    +#> 1058                              Setcases Principat
    +#> 1059                                 Toses Principat
    +#> 1060                Vallfogona de Ripollès Principat
    +#> 1061                     Vilallonga de Ter Principat
    +#> 1062                                Biosca Principat
    +#> 1063                               Cervera Principat
    +#> 1064                        les Pallargues Principat
    +#> 1065                               Estaràs Principat
    +#> 1066                           Granyanella Principat
    +#> 1067                   Granyena de Segarra Principat
    +#> 1068                              Guissona Principat
    +#> 1069                                Ivorra Principat
    +#> 1070                            les Oluges Principat
    +#> 1071                            Massoteres Principat
    +#> 1072                   Montoliu de Segarra Principat
    +#> 1073                  Montornès de Segarra Principat
    +#> 1074                Sant Antolí i Vilanova Principat
    +#> 1075                               Sanaüja Principat
    +#> 1076                Sant Guim de Freixenet Principat
    +#> 1077                 Sant Guim de la Plana Principat
    +#> 1078                            Sant Ramon Principat
    +#> 1079                              Talavera Principat
    +#> 1080                    Tarroja de Segarra Principat
    +#> 1081                                  Torà Principat
    +#> 1082                             Torrefeta Principat
    +#> 1083                                Aitona Principat
    +#> 1084                            Albatàrrec Principat
    +#> 1085                                Alcanó Principat
    +#> 1086                              Alcarràs Principat
    +#> 1087                             Alcoletge Principat
    +#> 1088                              Alfarràs Principat
    +#> 1089                                 Alfés Principat
    +#> 1090                              Alguaire Principat
    +#> 1091                            Almacelles Principat
    +#> 1092                              Almatret Principat
    +#> 1093                               Almenar Principat
    +#> 1094                               Alpicat Principat
    +#> 1095                      Artesa de Lleida Principat
    +#> 1096                                  Aspa Principat
    +#> 1097                    Benavent de Segrià Principat
    +#> 1098                               Corbins Principat
    +#> 1099                            els Alamús Principat
    +#> 1100                             Gimenells Principat
    +#> 1101                    la Granja d'Escarp Principat
    +#> 1102                           la Portella Principat
    +#> 1103                            Llardecans Principat
    +#> 1104                                Lleida Principat
    +#> 1105                                Maials Principat
    +#> 1106                          Massalcoreig Principat
    +#> 1107                    Montoliu de Lleida Principat
    +#> 1108                    Puigverd de Lleida Principat
    +#> 1109                              Rosselló Principat
    +#> 1110                     Sarroca de Lleida Principat
    +#> 1111                                 Seròs Principat
    +#> 1112                                 Soses Principat
    +#> 1113                              Sudanell Principat
    +#> 1114                                Sunyer Principat
    +#> 1115                          Torre-serona Principat
    +#> 1116                           Torrebesses Principat
    +#> 1117                          Torrefarrera Principat
    +#> 1118                       Torres de Segre Principat
    +#> 1119                  Vilanova de la Barca Principat
    +#> 1120                    Vilanova de Segrià Principat
    +#> 1121                                  Amer Principat
    +#> 1122                                Anglès Principat
    +#> 1123                              Arbúcies Principat
    +#> 1124                                Blanes Principat
    +#> 1125                                 Breda Principat
    +#> 1126                              Brunyola Principat
    +#> 1127                   Caldes de Malavella Principat
    +#> 1128                    Fogars de la Selva Principat
    +#> 1129                             Hostalric Principat
    +#> 1130                     la Cellera de Ter Principat
    +#> 1131                         Lloret de Mar Principat
    +#> 1132                               Maçanes Principat
    +#> 1133                   Maçanet de la Selva Principat
    +#> 1134                                  Osor Principat
    +#> 1135                                Riells Principat
    +#> 1136                            Riudarenes Principat
    +#> 1137                Riudellots de la Selva Principat
    +#> 1138               Sant Feliu de Buixalleu Principat
    +#> 1139                    Sant Hilari Sacalm Principat
    +#> 1140                               Bonmatí Principat
    +#> 1141               Santa Coloma de Farners Principat
    +#> 1142                                  Sils Principat
    +#> 1143                     Sant Martí Sacalm Principat
    +#> 1144                          Tossa de Mar Principat
    +#> 1145                              Vidreres Principat
    +#> 1146                        Vilobí d'Onyar Principat
    +#> 1147                Castellar de la Ribera Principat
    +#> 1148                  Clariana de Cardener Principat
    +#> 1149                 la Casa Nova de Valls Principat
    +#> 1150                               la Coma Principat
    +#> 1151                            la Molsosa Principat
    +#> 1152                               Lladurs Principat
    +#> 1153                               Llobera Principat
    +#> 1154                                 Navès Principat
    +#> 1155                              Cambrils Principat
    +#> 1156                    el Pi de Sant Just Principat
    +#> 1157                          Sant Climenç Principat
    +#> 1158                                 Pinós Principat
    +#> 1159                            el Miracle Principat
    +#> 1160               Sant Llorenç de Morunys Principat
    +#> 1161                               Solsona Principat
    +#> 1162                             Altafulla Principat
    +#> 1163                             Constantí Principat
    +#> 1164                              Creixell Principat
    +#> 1165                            el Catllar Principat
    +#> 1166                             el Morell Principat
    +#> 1167                        els Pallaresos Principat
    +#> 1168                            la Canonja Principat
    +#> 1169                        la Nou de Gaià Principat
    +#> 1170                   la Pobla de Mafumet Principat
    +#> 1171                 la Pobla de Montornès Principat
    +#> 1172                      la Riera de Gaià Principat
    +#> 1173                            la Secuita Principat
    +#> 1174                              Perafort Principat
    +#> 1175                                 Renau Principat
    +#> 1176                          Roda de Berà Principat
    +#> 1177                                Salomó Principat
    +#> 1178                                 Salou Principat
    +#> 1179                             Tarragona Principat
    +#> 1180                         Torredembarra Principat
    +#> 1181                      Vespella de Gaià Principat
    +#> 1182                             Vila-seca Principat
    +#> 1183                   Vilallonga del Camp Principat
    +#> 1184                                 Arnes Principat
    +#> 1185                                 Batea Principat
    +#> 1186                                   Bot Principat
    +#> 1187                               Caseres Principat
    +#> 1188                        Corbera d'Ebre Principat
    +#> 1189                     el Pinell de Brai Principat
    +#> 1190                               Gandesa Principat
    +#> 1191                    Horta de Sant Joan Principat
    +#> 1192                          la Fatarella Principat
    +#> 1193                 la Pobla de Massaluca Principat
    +#> 1194                         Prat de Comte Principat
    +#> 1195                     Vilalba dels Arcs Principat
    +#> 1196                              Agramunt Principat
    +#> 1197                             Anglesola Principat
    +#> 1198                              Belianes Principat
    +#> 1199                              Bellpuig Principat
    +#> 1200                           Castellserà Principat
    +#> 1201                            Ciutadilla Principat
    +#> 1202                 els Omells de na Gaia Principat
    +#> 1203                               Guimerà Principat
    +#> 1204                            la Fuliola Principat
    +#> 1205                                 Maldà Principat
    +#> 1206                                 Nalec Principat
    +#> 1207                           Ossó de Sió Principat
    +#> 1208                              Preixana Principat
    +#> 1209                   Puigverd d'Agramunt Principat
    +#> 1210                   Sant Martí de Maldà Principat
    +#> 1211                               Tàrrega Principat
    +#> 1212                             Tornabous Principat
    +#> 1213                Vallbona de les Monges Principat
    +#> 1214                                 Verdú Principat
    +#> 1215                            Vilagrassa Principat
    +#> 1216                      Badia del Vallès Principat
    +#> 1217                    Barberà del Vallès Principat
    +#> 1218                  Castellar del Vallès Principat
    +#> 1219                         Castellbisbal Principat
    +#> 1220                 Cerdanyola del Vallès Principat
    +#> 1221                               Gallifa Principat
    +#> 1222                            Matadepera Principat
    +#> 1223                     Montcada i Reixac Principat
    +#> 1224              Palau-solità i Plegamans Principat
    +#> 1225                               Polinyà Principat
    +#> 1226                             Rellinars Principat
    +#> 1227                              Ripollet Principat
    +#> 1228                                  Rubí Principat
    +#> 1229                              Sabadell Principat
    +#> 1230                 Sant Cugat del Vallès Principat
    +#> 1231                   Sant Llorenç Savall Principat
    +#> 1232                Sant Quirze del Vallès Principat
    +#> 1233              Santa Perpètua de Mogoda Principat
    +#> 1234                             Sentmenat Principat
    +#> 1235                              Terrassa Principat
    +#> 1236                            Ullastrell Principat
    +#> 1237                            Vacarisses Principat
    +#> 1238                         Viladecavalls Principat
    +#> 1239                            Aiguafreda Principat
    +#> 1240                                Bigues Principat
    +#> 1241                     Caldes de Montbui Principat
    +#> 1242                               Campins Principat
    +#> 1243                            Canovelles Principat
    +#> 1244                               Cànoves Principat
    +#> 1245                              Cardedeu Principat
    +#> 1246                            el Figueró Principat
    +#> 1247                           Mosqueroles Principat
    +#> 1248                            Granollers Principat
    +#> 1249                                Gualba Principat
    +#> 1250                  l'Ametlla del Vallès Principat
    +#> 1251                            la Garriga Principat
    +#> 1252                           la Llagosta Principat
    +#> 1253                    la Roca del Vallès Principat
    +#> 1254                         Corró d'Avall Principat
    +#> 1255                         Lliçà d'Amunt Principat
    +#> 1256                         Lliçà de Vall Principat
    +#> 1257                    Llinars del Vallès Principat
    +#> 1258                           Martorelles Principat
    +#> 1259                     Mollet del Vallès Principat
    +#> 1260                              Montmeló Principat
    +#> 1261                  Montornès del Vallès Principat
    +#> 1262                              Montseny Principat
    +#> 1263                     Parets del Vallès Principat
    +#> 1264              Sant Antoni de Vilamajor Principat
    +#> 1265                           Sant Celoni Principat
    +#> 1266           Sant Esteve de Palautordera Principat
    +#> 1267                 Sant Feliu de Codines Principat
    +#> 1268            Sant Fost de Campsentelles Principat
    +#> 1269                Sant Pere de Vilamajor Principat
    +#> 1270              Santa Eulàlia de Ronçana Principat
    +#> 1271            Santa Maria de Martorelles Principat
    +#> 1272           Santa Maria de Palautordera Principat
    +#> 1273                            Tagamanent Principat
    +#> 1274                          Vallgorguina Principat
    +#> 1275                           Vallromanes Principat
    +#> 1276                      Vilalba Sasserra Principat
    +#> 1277                   Vilanova del Vallès Principat
    +#> 1278                              València        PV
    +#> 1279                      Alcalà de Xivert        PV
    +#> 1280                             Benicarló        PV
    +#> 1281                                 Càlig        PV
    +#> 1282                         Canet lo Roig        PV
    +#> 1283                     Castell de Cabres        PV
    +#> 1284                  Cervera del Maestrat        PV
    +#> 1285                               la Jana        PV
    +#> 1286                 la Pobla de Benifassà        PV
    +#> 1287                         la Salzadella        PV
    +#> 1288                             Peníscola        PV
    +#> 1289                               Rossell        PV
    +#> 1290                            Sant Jordi        PV
    +#> 1291                            Sant Mateu        PV
    +#> 1292                    Sant Rafel del Riu        PV
    +#> 1293             Santa Magdalena de Polpís        PV
    +#> 1294                             Traiguera        PV
    +#> 1295                               Vinaròs        PV
    +#> 1296                                  Xert        PV
    +#> 1297                  Guardamar del Segura        PV
    +#> 1298                            Crevillent        PV
    +#> 1299                                   Elx        PV
    +#> 1300                            Santa Pola        PV
    +#> 1301                Albalat dels Tarongers        PV
    +#> 1302                  Alfara de la Baronia        PV
    +#> 1303                     Algar de Palància        PV
    +#> 1304                      Algímia d'Alfara        PV
    +#> 1305                             Benavites        PV
    +#> 1306                Benifairó de les Valls        PV
    +#> 1307                  Canet d'en Berenguer        PV
    +#> 1308                             Estivella        PV
    +#> 1309                                 Faura        PV
    +#> 1310                                 Gilet        PV
    +#> 1311                                Petrés        PV
    +#> 1312                    Quart de les Valls        PV
    +#> 1313                              Quartell        PV
    +#> 1314                                Sagunt        PV
    +#> 1315                                Segart        PV
    +#> 1316                         Torres Torres        PV
    +#> 1317                            Benaguasil        PV
    +#> 1318                             Benissanó        PV
    +#> 1319                                Bétera        PV
    +#> 1320                               Casinos        PV
    +#> 1321                              l'Eliana        PV
    +#> 1322                  la Pobla de Vallbona        PV
    +#> 1323                                Llíria        PV
    +#> 1324                               Nàquera        PV
    +#> 1325                                Olocau        PV
    +#> 1326                    Riba-roja de Túria        PV
    +#> 1327                                 Serra        PV
    +#> 1328                           Vilamarxant        PV
    +#> 1329                                 Agres        PV
    +#> 1330                              Alcoleja        PV
    +#> 1331                              Alcosser        PV
    +#> 1332                              Alfafara        PV
    +#> 1333                             Almudaina        PV
    +#> 1334                               Balones        PV
    +#> 1335                               Benasau        PV
    +#> 1336                             Beniarrés        PV
    +#> 1337                             Benilloba        PV
    +#> 1338                              Benillup        PV
    +#> 1339                           Benimarfull        PV
    +#> 1340                            Benimassot        PV
    +#> 1341                            Cocentaina        PV
    +#> 1342                                Fageca        PV
    +#> 1343                               Famorca        PV
    +#> 1344                               Gaianes        PV
    +#> 1345                                 Gorga        PV
    +#> 1346                    l'Alqueria d'Asnar        PV
    +#> 1347                                l'Orxa        PV
    +#> 1348                               Millena        PV
    +#> 1349                          Muro d'Alcoi        PV
    +#> 1350                                Planes        PV
    +#> 1351                         Quatretondeta        PV
    +#> 1352                                Tollos        PV
    +#> 1353                  el Fondó de les Neus        PV
    +#> 1354                  el Fondó dels Frares        PV
    +#> 1355                              el Pinós        PV
    +#> 1356                            l'Alguenya        PV
    +#> 1357                             la Romana        PV
    +#> 1358                               Monòver        PV
    +#> 1359                               Novelda        PV
    +#> 1360                                Petrer        PV
    +#> 1361                           Castellfort        PV
    +#> 1362                            Cinctorres        PV
    +#> 1363                            el Forcall        PV
    +#> 1364                               Herbers        PV
    +#> 1365                    la Mata de Morella        PV
    +#> 1366                          la Todolella        PV
    +#> 1367                               Morella        PV
    +#> 1368                             Palanques        PV
    +#> 1369                    Portell de Morella        PV
    +#> 1370                                Sorita        PV
    +#> 1371                             Vallibona        PV
    +#> 1372                            Vilafranca        PV
    +#> 1373                              Villores        PV
    +#> 1374                                 Agost        PV
    +#> 1375                                Aigües        PV
    +#> 1376                               Alacant        PV
    +#> 1377                                 Busot        PV
    +#> 1378                           el Campello        PV
    +#> 1379               la Torre de les Maçanes        PV
    +#> 1380                              Mutxamel        PV
    +#> 1381                   Sant Joan d'Alacant        PV
    +#> 1382               Sant Vicent del Raspeig        PV
    +#> 1383                                Xixona        PV
    +#> 1384                                Costur        PV
    +#> 1385                            Figueroles        PV
    +#> 1386                              l'Alcora        PV
    +#> 1387                            les Useres        PV
    +#> 1388                               Llucena        PV
    +#> 1389               Vistabella del Maestrat        PV
    +#> 1390                                 Xodos        PV
    +#> 1391                                 Alcoi        PV
    +#> 1392                   Banyeres de Mariola        PV
    +#> 1393                            Benifallim        PV
    +#> 1394                              Castalla        PV
    +#> 1395                                   Ibi        PV
    +#> 1396                                  Onil        PV
    +#> 1397                             Penàguila        PV
    +#> 1398                                  Tibi        PV
    +#> 1399                            Albocàsser        PV
    +#> 1400                     Ares del Maestrat        PV
    +#> 1401                 Atzeneta del Maestrat        PV
    +#> 1402                             Benafigos        PV
    +#> 1403                              Benassal        PV
    +#> 1404                                  Catí        PV
    +#> 1405                                 Culla        PV
    +#> 1406                         la Serratella        PV
    +#> 1407                  la Torre d'en Besora        PV
    +#> 1408                                 Tírig        PV
    +#> 1409                        Vilar de Canes        PV
    +#> 1410                             Beneixama        PV
    +#> 1411                                  Biar        PV
    +#> 1412                      el Camp de Mirra        PV
    +#> 1413                            la Canyada        PV
    +#> 1414                  Albalat dels Sorells        PV
    +#> 1415                              Alboraia        PV
    +#> 1416                              Albuixec        PV
    +#> 1417                  Alfara del Patriarca        PV
    +#> 1418                             Almàssera        PV
    +#> 1419                  Bonrepòs i Mirambell        PV
    +#> 1420                             Burjassot        PV
    +#> 1421                el Puig de Santa Maria        PV
    +#> 1422                             Emperador        PV
    +#> 1423                                 Foios        PV
    +#> 1424                               Godella        PV
    +#> 1425                   la Pobla de Farnals        PV
    +#> 1426                          Massalfassar        PV
    +#> 1427                          Massamagrell        PV
    +#> 1428                               Meliana        PV
    +#> 1429                              Montcada        PV
    +#> 1430                               Museros        PV
    +#> 1431                               Paterna        PV
    +#> 1432                                 Puçol        PV
    +#> 1433                           Rafelbunyol        PV
    +#> 1434                              Rocafort        PV
    +#> 1435                     Tavernes Blanques        PV
    +#> 1436                              Vinalesa        PV
    +#> 1437                               Alaquàs        PV
    +#> 1438                                 Albal        PV
    +#> 1439                              Alcàsser        PV
    +#> 1440                                Aldaia        PV
    +#> 1441                               Alfafar        PV
    +#> 1442                            Benetússer        PV
    +#> 1443                           Beniparrell        PV
    +#> 1444                             Catarroja        PV
    +#> 1445                  Llocnou de la Corona        PV
    +#> 1446                               Manises        PV
    +#> 1447                            Massanassa        PV
    +#> 1448                               Mislata        PV
    +#> 1449                              Paiporta        PV
    +#> 1450                               Picanya        PV
    +#> 1451                             Picassent        PV
    +#> 1452                       Quart de Poblet        PV
    +#> 1453                                Sedaví        PV
    +#> 1454                                 Silla        PV
    +#> 1455                               Torrent        PV
    +#> 1456                             Xirivella        PV
    +#> 1457                               Barxeta        PV
    +#> 1458                                Canals        PV
    +#> 1459                                 Cerdà        PV
    +#> 1460                            el Genovés        PV
    +#> 1461                              Estubeny        PV
    +#> 1462                 l'Alcúdia de Crespins        PV
    +#> 1463                 la Font de la Figuera        PV
    +#> 1464               la Granja de la Costera        PV
    +#> 1465                     la Llosa de Ranes        PV
    +#> 1466                      Llanera de Ranes        PV
    +#> 1467                 Llocnou d'en Fenollet        PV
    +#> 1468                               Moixent        PV
    +#> 1469                               Montesa        PV
    +#> 1470                               Novetlè        PV
    +#> 1471                      Rotglà i Corberà        PV
    +#> 1472                              Torrella        PV
    +#> 1473                               Vallada        PV
    +#> 1474                                Vallés        PV
    +#> 1475                                Xàtiva        PV
    +#> 1476                              Alcalalí        PV
    +#> 1477                            Beniarbeig        PV
    +#> 1478                            Benidoleig        PV
    +#> 1479                            Benigembla        PV
    +#> 1480                              Benimeli        PV
    +#> 1481                               Benissa        PV
    +#> 1482                                  Calp        PV
    +#> 1483                   Castell de Castells        PV
    +#> 1484                                 Dénia        PV
    +#> 1485           el Poble Nou de Benitatxell        PV
    +#> 1486                    el Ràfol d'Almúnia        PV
    +#> 1487                             el Verger        PV
    +#> 1488                           els Poblets        PV
    +#> 1489                        Gata de Gorgos        PV
    +#> 1490                             l'Atzúbia        PV
    +#> 1491                   Alcalà de la Jovada        PV
    +#> 1492                         la Vall d'Ebo        PV
    +#> 1493                               Benialí        PV
    +#> 1494                                 Fleix        PV
    +#> 1495                                Llíber        PV
    +#> 1496                                 Murla        PV
    +#> 1497                                Ondara        PV
    +#> 1498                                  Orba        PV
    +#> 1499                               Parcent        PV
    +#> 1500                             Pedreguer        PV
    +#> 1501                                  Pego        PV
    +#> 1502                                 Sagra        PV
    +#> 1503                   Sanet i els Negrals        PV
    +#> 1504                                Senija        PV
    +#> 1505                               Teulada        PV
    +#> 1506                                Tormos        PV
    +#> 1507                                 Xàbia        PV
    +#> 1508                                  Xaló        PV
    +#> 1509                                 Altea        PV
    +#> 1510                              Beniardà        PV
    +#> 1511                              Benidorm        PV
    +#> 1512                              Benifato        PV
    +#> 1513                           Benimantell        PV
    +#> 1514                               Bolulla        PV
    +#> 1515                   Callosa d'en Sarrià        PV
    +#> 1516                             Confrides        PV
    +#> 1517               el Castell de Guadalest        PV
    +#> 1518                             Finestrat        PV
    +#> 1519                        l'Alfàs del Pi        PV
    +#> 1520                              la Nucia        PV
    +#> 1521                        la Vila Joiosa        PV
    +#> 1522                                Orxeta        PV
    +#> 1523                                 Polop        PV
    +#> 1524                                Relleu        PV
    +#> 1525                                 Sella        PV
    +#> 1526                               Tàrbena        PV
    +#> 1527                             Almassora        PV
    +#> 1528                            Benicàssim        PV
    +#> 1529                               Benlloc        PV
    +#> 1530                               Borriol        PV
    +#> 1531                               Cabanes        PV
    +#> 1532                  Castelló de la Plana        PV
    +#> 1533                      la Pobla Tornesa        PV
    +#> 1534                la Serra d'en Galceran        PV
    +#> 1535                 la Torre d'en Doménec        PV
    +#> 1536                        la Vall d'Alba        PV
    +#> 1537                  les Coves de Vinromà        PV
    +#> 1538                                Orpesa        PV
    +#> 1539                     Sant Joan de Moró        PV
    +#> 1540                           Torreblanca        PV
    +#> 1541                             Vilafamés        PV
    +#> 1542                    Vilanova d'Alcolea        PV
    +#> 1543                                   Aín        PV
    +#> 1544                         Alfondeguilla        PV
    +#> 1545                              Almenara        PV
    +#> 1546                                Artana        PV
    +#> 1547                                 Betxí        PV
    +#> 1548                              Borriana        PV
    +#> 1549                                Eslida        PV
    +#> 1550                      l'Alcúdia de Veo        PV
    +#> 1551                              la Llosa        PV
    +#> 1552                        la Vall d'Uixó        PV
    +#> 1553                          la Vilavella        PV
    +#> 1554                         les Alqueries        PV
    +#> 1555                               Moncofa        PV
    +#> 1556                                 Nules        PV
    +#> 1557                                  Onda        PV
    +#> 1558                            Ribesalbes        PV
    +#> 1559                                 Suera        PV
    +#> 1560                                 Tales        PV
    +#> 1561                             Vila-real        PV
    +#> 1562                                Xilxes        PV
    +#> 1563                               Alberic        PV
    +#> 1564                   Alcàntera de Xúquer        PV
    +#> 1565                                Alfarb        PV
    +#> 1566                              Algemesí        PV
    +#> 1567                               Alginet        PV
    +#> 1568                                Alzira        PV
    +#> 1569                               Antella        PV
    +#> 1570                             Beneixida        PV
    +#> 1571                              Benifaió        PV
    +#> 1572                              Benimodo        PV
    +#> 1573                            Benimuslem        PV
    +#> 1574                            Carcaixent        PV
    +#> 1575                                Càrcer        PV
    +#> 1576                                Carlet        PV
    +#> 1577                              Castelló        PV
    +#> 1578                               Catadau        PV
    +#> 1579                                 Cotes        PV
    +#> 1580                               Gavarda        PV
    +#> 1581                            Guadassuar        PV
    +#> 1582                             l'Alcúdia        PV
    +#> 1583                               l'Énova        PV
    +#> 1584                       la Pobla Llarga        PV
    +#> 1585                               Llombai        PV
    +#> 1586                                Manuel        PV
    +#> 1587                            Massalavés        PV
    +#> 1588                               Montroi        PV
    +#> 1589                            Montserrat        PV
    +#> 1590                           Rafelguaraf        PV
    +#> 1591                                  Real        PV
    +#> 1592                           Sant Joanet        PV
    +#> 1593                               Sellent        PV
    +#> 1594                               Senyera        PV
    +#> 1595                            Sumacàrcer        PV
    +#> 1596                                 Torís        PV
    +#> 1597                  Albalat de la Ribera        PV
    +#> 1598                            Almussafes        PV
    +#> 1599                    Benicull de Xúquer        PV
    +#> 1600                               Corbera        PV
    +#> 1601                               Cullera        PV
    +#> 1602                                Favara        PV
    +#> 1603                             Fortaleny        PV
    +#> 1604                                Llaurí        PV
    +#> 1605                     Polinyà de Xúquer        PV
    +#> 1606                                 Riola        PV
    +#> 1607                               Sollana        PV
    +#> 1608                                 Sueca        PV
    +#> 1609                                  Ador        PV
    +#> 1610                               Alfauir        PV
    +#> 1611                              Almiserà        PV
    +#> 1612                              Almoines        PV
    +#> 1613                                  Barx        PV
    +#> 1614                           Bellreguard        PV
    +#> 1615                              Beniarjó        PV
    +#> 1616             Benifairó de la Valldigna        PV
    +#> 1617                               Beniflà        PV
    +#> 1618                            Benirredrà        PV
    +#> 1619           Castellonet de la Conquesta        PV
    +#> 1620                                Daimús        PV
    +#> 1621                     el Real de Gandia        PV
    +#> 1622                                Gandia        PV
    +#> 1623                 Guardamar de la Safor        PV
    +#> 1624             l'Alqueria de la Comtessa        PV
    +#> 1625                   la Font d'en Carròs        PV
    +#> 1626                Llocnou de Sant Jeroni        PV
    +#> 1627                               Miramar        PV
    +#> 1628                                 Oliva        PV
    +#> 1629                       Palma de Gandia        PV
    +#> 1630                               Palmera        PV
    +#> 1631                                 Piles        PV
    +#> 1632                               Potries        PV
    +#> 1633                            Rafelcofer        PV
    +#> 1634                                Ròtova        PV
    +#> 1635                 Simat de la Valldigna        PV
    +#> 1636              Tavernes de la Valldigna        PV
    +#> 1637                            Vilallonga        PV
    +#> 1638                                Xeraco        PV
    +#> 1639                                Xeresa        PV
    +#> 1640                              Agullent        PV
    +#> 1641                     Aielo de Malferit        PV
    +#> 1642                        Aielo de Rugat        PV
    +#> 1643                               Albaida        PV
    +#> 1644                             Alfarrasí        PV
    +#> 1645                    Atzeneta d'Albaida        PV
    +#> 1646                               Bèlgida        PV
    +#> 1647                                Bellús        PV
    +#> 1648                             Beniatjar        PV
    +#> 1649                             Benicolet        PV
    +#> 1650                             Benigànim        PV
    +#> 1651                             Benissoda        PV
    +#> 1652                            Benissuera        PV
    +#> 1653                             Bocairent        PV
    +#> 1654                                Bufali        PV
    +#> 1655                             Carrícola        PV
    +#> 1656                     Castelló de Rugat        PV
    +#> 1657                            el Palomar        PV
    +#> 1658                     el Ràfol de Salem        PV
    +#> 1659               Fontanars dels Alforins        PV
    +#> 1660                         Guadasséquies        PV
    +#> 1661                             l'Olleria        PV
    +#> 1662                      la Pobla del Duc        PV
    +#> 1663                              Llutxent        PV
    +#> 1664                           Montaverner        PV
    +#> 1665                           Montitxelvo        PV
    +#> 1666                             Ontinyent        PV
    +#> 1667                                  Otos        PV
    +#> 1668                                 Pinet        PV
    +#> 1669                           Quatretonda        PV
    +#> 1670                                 Rugat        PV
    +#> 1671                                 Salem        PV
    +#> 1672                               Sempere        PV
    +#> 1673                             Terrateig        PV
    +#> 1674                              l'Alguer  Sardenya
    +#>                                         municipi
    +#> 1                                       Alt Aran
    +#> 2                                          Arres
    +#> 3                                         Bausén
    +#> 4                                        Bossòst
    +#> 5                                        Canejan
    +#> 6                                      es Bordes
    +#> 7                                            Lés
    +#> 8                              Viella i Mitjaran
    +#> 9                                        Vilamòs
    +#> 10         Angostrina i Vilanova de les Escaldes
    +#> 11                                      Bolquera
    +#> 12                                        Dorres
    +#> 13                                         Èguet
    +#> 14                                          Eina
    +#> 15                                        Enveig
    +#> 16                                            Er
    +#> 17                                       Estavar
    +#> 18                      Font-romeu, Odelló i Vià
    +#> 19                                  la Cabanassa
    +#> 20                             la Guingueta d'Ix
    +#> 21                              la Tor de Querol
    +#> 22                                           Llo
    +#> 23                                     Montlluís
    +#> 24                                         Naüja
    +#> 25                                         Oceja
    +#> 26                             Palau de Cerdanya
    +#> 27                                         Porta
    +#> 28                                         Portè
    +#> 29                                     Sallagosa
    +#> 30                                 Santa Llocaia
    +#> 31                                     Targasona
    +#> 32                                            Ur
    +#> 33                                 Vallcebollera
    +#> 34                                    els Angles
    +#> 35                                  Font-rabiosa
    +#> 36                                    Formiguera
    +#> 37                                      Matamala
    +#> 38                                   Puigbalador
    +#> 39                                          Real
    +#> 40                            Aiguatèbia i Talau
    +#> 41                                      Arboçols
    +#> 42                                       Campome
    +#> 43                                    Canavelles
    +#> 44                             Castell de Vernet
    +#> 45                                        Catllà
    +#> 46                          Caudiers de Conflent
    +#> 47                                         Censà
    +#> 48                              Clarà i Villerac
    +#> 49                                       Codalet
    +#> 50                                         Conat
    +#> 51                          Cornellà de Conflent
    +#> 52                                        Escaró
    +#> 53                            Espirà de Conflent
    +#> 54                                        Estoer
    +#> 55                                           Eus
    +#> 56                                       Fillols
    +#> 57                                     Finestret
    +#> 58                                   Fontpedrosa
    +#> 59                                         Fullà
    +#> 60                                     Glorianes
    +#> 61                                           Jóc
    +#> 62                                        Jújols
    +#> 63                                    la Bastida
    +#> 64                                    la Llaguna
    +#> 65                                     Los Masos
    +#> 66                                  Marqueixanes
    +#> 67                                        Mentet
    +#> 68                                         Molig
    +#> 69                                        Mosset
    +#> 70                                        Noedes
    +#> 71                                          Nyer
    +#> 72                                  Oleta i Èvol
    +#> 73                                       Orbanyà
    +#> 74                                        Orellà
    +#> 75                                Pi de Conflent
    +#> 76                                        Planès
    +#> 77                                         Prada
    +#> 78                                        Ralleu
    +#> 79                                   Rià i Cirac
    +#> 80                                       Rigardà
    +#> 81                                         Rodés
    +#> 82                                   Sant Marçal
    +#> 83                        Sant Pere dels Forcats
    +#> 84                                        Saorra
    +#> 85                                         Sautó
    +#> 86                                      Serdinyà
    +#> 87                                       Soanyes
    +#> 88                                       Tarerac
    +#> 89                                      Taurinyà
    +#> 90                             Toès i Entrevalls
    +#> 91                                   Vallestàvia
    +#> 92                                     Vallmanya
    +#> 93                                        Vernet
    +#> 94                        Vilafranca de Conflent
    +#> 95                                         Vinçà
    +#> 96                                        Alenyà
    +#> 97                                      Argelers
    +#> 98                             Bages de Rosselló
    +#> 99                                        Baixàs
    +#> 100                        Banyuls de la Marenda
    +#> 101                          Banyuls dels Aspres
    +#> 102                                          Bao
    +#> 103                                       Bompàs
    +#> 104                                       Brullà
    +#> 105                                 Bula d'Amunt
    +#> 106                                  Bulaternera
    +#> 107                                    Cabestany
    +#> 108                                        Calce
    +#> 109                                     Calmella
    +#> 110                                      Cameles
    +#> 111                            Canet de Rosselló
    +#> 112                                       Cànoes
    +#> 113                                    Casafabre
    +#> 114                                Cases de Pena
    +#> 115                                   Castellnou
    +#> 116                        Cervera de la Marenda
    +#> 117                                       Clairà
    +#> 118                          Corbera de Rosselló
    +#> 119                        Cornellà de la Ribera
    +#> 120                          Cornellà del Bercol
    +#> 121                                    Cotlliure
    +#> 122                                  el Barcarès
    +#> 123                                     el Soler
    +#> 124                                      el Voló
    +#> 125                                         Elna
    +#> 126                             Espirà de l'Aglí
    +#> 127                                     Estagell
    +#> 128                                      Forques
    +#> 129                                         Illa
    +#> 130                         la Cabana de Corbera
    +#> 131                             la Roca d'Albera
    +#> 132                              la Torre d'Elna
    +#> 133                                       Llauró
    +#> 134                                       Llupià
    +#> 135                                      Millars
    +#> 136                                    Montescot
    +#> 137                          Montesquiu d'Albera
    +#> 138                                      Montner
    +#> 139                                    Montoriol
    +#> 140                                       Nefiac
    +#> 141                                          Oms
    +#> 142                              Òpol i Perellós
    +#> 143                                       Ortafà
    +#> 144                                         Paçà
    +#> 145                              Palau del Vidre
    +#> 146                                 Paretstortes
    +#> 147                                     Perpinyà
    +#> 148                         Pesillà de la Ribera
    +#> 149                                          Pià
    +#> 150                                   Pollestres
    +#> 151                                     Pontellà
    +#> 152                                  Portvendres
    +#> 153                             Prunet i Belpuig
    +#> 154                                      Queixàs
    +#> 155                                   Ribesaltes
    +#> 156                                     Salelles
    +#> 157                                       Salses
    +#> 158                        Sant Andreu de Sureda
    +#> 159                      Sant Cebrià de Rosselló
    +#> 160                     Sant Esteve del Monestir
    +#> 161                           Sant Feliu d'Amunt
    +#> 162                           Sant Feliu d'Avall
    +#> 163                       Sant Genís de Fontanes
    +#> 164                   Sant Hipòlit de la Salanca
    +#> 165                           Sant Joan la Cella
    +#> 166                   Sant Llorenç de la Salanca
    +#> 167                        Sant Miquel de Llotes
    +#> 168                      Sant Nazari de Rosselló
    +#> 169                         Santa Coloma de Tuïr
    +#> 170                           Santa Maria la Mar
    +#> 171                                       Sureda
    +#> 172                                     Talteüll
    +#> 173                                      Terrats
    +#> 174                                         Tesà
    +#> 175                                      Toluges
    +#> 176                                     Torderes
    +#> 177                      Torrelles de la Salanca
    +#> 178                                    Trasserra
    +#> 179                                     Trullars
    +#> 180                                         Tuïr
    +#> 181                     Vilallonga de la Salanca
    +#> 182                        Vilallonga dels Monts
    +#> 183                                   Vilamulaca
    +#> 184                        Vilanova de la Ribera
    +#> 185                              Vilanova de Raò
    +#> 186                                      Vingrau
    +#> 187                                        Arles
    +#> 188                                        Ceret
    +#> 189                                     Cortsaví
    +#> 190                                      Costoja
    +#> 191                                    el Pertús
    +#> 192                                       el Tec
    +#> 193                  els Banys d'Arles i Palaldà
    +#> 194                                     L'Albera
    +#> 195                                    la Menera
    +#> 196                                   les Cluses
    +#> 197                                     Montboló
    +#> 198                                   Montferrer
    +#> 199                         Morellàs i les Illes
    +#> 200                   Prats de Molló i la Presta
    +#> 201                                      Reiners
    +#> 202                      Sant Joan de Pladecorts
    +#> 203                      Sant Llorenç de Cerdans
    +#> 204                                  Serrallonga
    +#> 205                                       Tellet
    +#> 206                                       Teulís
    +#> 207                                       Vivers
    +#> 208                       Aiguaviva de Bergantes
    +#> 209                           Bellmunt de Mesquí
    +#> 210                          la Canyada de Beric
    +#> 211                                 la Codonyera
    +#> 212                                 la Ginebrosa
    +#> 213                                 la Sorollera
    +#> 214                          la Torre de Vilella
    +#> 215                                         Faió
    +#> 216                                       Favara
    +#> 217                                       Maella
    +#> 218                                       Nonasp
    +#> 219                                        Fraga
    +#> 220                                   Mequinensa
    +#> 221                                        Saidí
    +#> 222                             Torrent de Cinca
    +#> 223                             Vilella de Cinca
    +#> 224                                      Albelda
    +#> 225                                       Baells
    +#> 226                                  Camporrells
    +#> 227                                 Castellonroi
    +#> 228                                   el Campell
    +#> 229                                   el Torricó
    +#> 230                          Peralta i Calassanç
    +#> 231                       Sant Esteve de Llitera
    +#> 232                                Sanui i Alins
    +#> 233                           Tamarit de Llitera
    +#> 234                                   Valldellou
    +#> 235                                     Vensilló
    +#> 236                              Arenys de Lledó
    +#> 237                                       Beseit
    +#> 238                                     Calaceit
    +#> 239                                 Fontdespatla
    +#> 240                                      Fórnols
    +#> 241                                 la Freixneda
    +#> 242                                la Portellada
    +#> 243                           la Torre del Comte
    +#> 244                            la Vall del Tormo
    +#> 245                               Lledó d'Algars
    +#> 246                                     Massalió
    +#> 247                                     Montroig
    +#> 248                       Pena-roja de Tastavins
    +#> 249                                     Queretes
    +#> 250                                       Ràfels
    +#> 251                                 Torredarques
    +#> 252                               Vall-de-Roures
    +#> 253                                 Valljunquera
    +#> 254                             Areny de Noguera
    +#> 255                                    Benavarri
    +#> 256                                      Beranui
    +#> 257                                      Bonansa
    +#> 258                                   Castigaleu
    +#> 259                                    Estopanyà
    +#> 260                                      Isàvena
    +#> 261                                    Lasquarri
    +#> 262                                    Les Paüls
    +#> 263                          Monesma i Queixigar
    +#> 264                                     Montanui
    +#> 265                           Pont de Montanyana
    +#> 266                                      Sopeira
    +#> 267                                        Tolba
    +#> 268                                Tor-la-ribera
    +#> 269                            Viacamp i Lliterà
    +#> 270                                      Eivissa
    +#> 271                      Sant Antoni de Portmany
    +#> 272                        Sant Joan de Labritja
    +#> 273                      Sant Josep de sa Talaia
    +#> 274                        Santa Eulària des Riu
    +#> 275                                   Formentera
    +#> 276                                         Artà
    +#> 277                                    Capdepera
    +#> 278                                      Manacor
    +#> 279                   Sant Llorenç des Cardassar
    +#> 280                                  Son Servera
    +#> 281                                       Alaior
    +#> 282                                   Ciutadella
    +#> 283                                   es Castell
    +#> 284                                  es Mercadal
    +#> 285                              es Migjorn Gran
    +#> 286                                    Ferreries
    +#> 287                                          Maó
    +#> 288                                   Sant Lluís
    +#> 289                                       Campos
    +#> 290                                     Felanitx
    +#> 291                                    Llucmajor
    +#> 292                                     Santanyí
    +#> 293                                  ses Salines
    +#> 294                                        Palma
    +#> 295                                      Algaida
    +#> 296                                       Ariany
    +#> 297                                      Costitx
    +#> 298                         Lloret de Vistalegre
    +#> 299                                        Llubí
    +#> 300                            Maria de la Salut
    +#> 301                                     Montuïri
    +#> 302                                         Muro
    +#> 303                                        Petra
    +#> 304                                     Porreres
    +#> 305                                    Sant Joan
    +#> 306                                Santa Eugènia
    +#> 307                              Santa Margalida
    +#> 308                                    Sencelles
    +#> 309                                        Sineu
    +#> 310                         Vilafranca de Bonany
    +#> 311                                        Alaró
    +#> 312                                      Alcúdia
    +#> 313                                   Binissalem
    +#> 314                                        Búger
    +#> 315                                     Campanet
    +#> 316                                      Consell
    +#> 317                                         Inca
    +#> 318                                      Lloseta
    +#> 319                            Mancor de la Vall
    +#> 320                                     Marratxí
    +#> 321                                     sa Pobla
    +#> 322                         Santa Maria del Camí
    +#> 323                                        Selva
    +#> 324                                      Andratx
    +#> 325                                  Banyalbufar
    +#> 326                                      Bunyola
    +#> 327                                       Calvià
    +#> 328                                         Deià
    +#> 329                                      Escorca
    +#> 330                                     Esporles
    +#> 331                                   Estellencs
    +#> 332                                    Fornalutx
    +#> 333                                     Pollença
    +#> 334                                  Puigpunyent
    +#> 335                                       Sóller
    +#> 336                                  Valldemossa
    +#> 337                                  Aiguamúrcia
    +#> 338                                      Alcover
    +#> 339                                         Alió
    +#> 340                                       Bràfim
    +#> 341                               Cabra del Camp
    +#> 342                                      el Milà
    +#> 343                        el Pla de Santa Maria
    +#> 344                          el Pont d'Armentera
    +#> 345                                   el Rourell
    +#> 346                                els Garidells
    +#> 347                           Figuerola del Camp
    +#> 348                                      la Masó
    +#> 349                                      la Riba
    +#> 350                                     Mont-ral
    +#> 351                                    Montferri
    +#> 352                                       Nulles
    +#> 353                                    Puigpelat
    +#> 354                                       Querol
    +#> 355                                      Rodonyà
    +#> 356                                     Vallmoll
    +#> 357                                        Valls
    +#> 358                                  Vila-rodona
    +#> 359                                    Vilabella
    +#> 360                                     Agullana
    +#> 361                                      Albanyà
    +#> 362                      Avinyonet de Puigventós
    +#> 363                                      Bàscara
    +#> 364                                        Biure
    +#> 365                      Boadella i les Escaules
    +#> 366                                     Borrassà
    +#> 367                                   Cabanelles
    +#> 368                                      Cabanes
    +#> 369                                     Cadaqués
    +#> 370                                     Campmany
    +#> 371                                   Cantallops
    +#> 372                          Castelló d'Empúries
    +#> 373                          Castelló d'Empúries
    +#> 374                                     Cistella
    +#> 375                                       Colera
    +#> 376                                      Darnius
    +#> 377                             el Far d'Empordà
    +#> 378                          el Port de la Selva
    +#> 379                                      Espolla
    +#> 380                                     Figueres
    +#> 381                                       Fortià
    +#> 382                                     Garrigàs
    +#> 383                                  Garriguella
    +#> 384                                  l'Armentera
    +#> 385                                     l'Escala
    +#> 386                                  la Jonquera
    +#> 387                              la Selva de Mar
    +#> 388                                     la Vajol
    +#> 389                                       Llançà
    +#> 390                              Lledó d'Empordà
    +#> 391                                        Llers
    +#> 392                          Maçanet de Cabrenys
    +#> 393                                      Masarac
    +#> 394                           Mollet de Peralada
    +#> 395                                       Navata
    +#> 396                                        Ordis
    +#> 397                       Palau de Santa Eulàlia
    +#> 398                              Palau-saverdera
    +#> 399                                          Pau
    +#> 400                               Pedret i Marzà
    +#> 401                                     Peralada
    +#> 402                               Pont de Molins
    +#> 403                                       Pontós
    +#> 404                                      Portbou
    +#> 405                                        Rabós
    +#> 406                                      Riumors
    +#> 407                                        Roses
    +#> 408                        Sant Climent Sescebes
    +#> 409                      Sant Llorenç de la Muga
    +#> 410                        Sant Miquel de Fluvià
    +#> 411                                    Sant Mori
    +#> 412                           Sant Pere Pescador
    +#> 413                      Santa Llogaia d'Àlguema
    +#> 414                  Saus, Camallera i Llampaies
    +#> 415                                      Siurana
    +#> 416                                     Terrades
    +#> 417                          Torroella de Fluvià
    +#> 418                                     Ventalló
    +#> 419                                   Vila-sacra
    +#> 420                                  Vilabertran
    +#> 421                                    Viladamat
    +#> 422                                     Vilafant
    +#> 423                                    Vilajuïga
    +#> 424                                  Vilamacolum
    +#> 425                                    Vilamalla
    +#> 426                                 Vilamaniscle
    +#> 427                                     Vilanant
    +#> 428                                       Vilaür
    +#> 429                        Avinyonet del Penedès
    +#> 430                        Castellet i la Gornal
    +#> 431                        Castellví de la Marca
    +#> 432                           el Pla del Penedès
    +#> 433                                    Font-rubí
    +#> 434                                       Gelida
    +#> 435                                   la Granada
    +#> 436                                 les Cabanyes
    +#> 437                                      Mediona
    +#> 438                                     Olèrdola
    +#> 439                          Olesa de Bonesvalls
    +#> 440                             Pacs del Penedès
    +#> 441                                      Pontons
    +#> 442                                   Puigdàlber
    +#> 443                      Sant Cugat Sesgarrigues
    +#> 444                       Sant Llorenç d'Hortons
    +#> 445                           Sant Martí Sarroca
    +#> 446                    Sant Pere de Riudebitlles
    +#> 447                       Sant Quintí de Mediona
    +#> 448                         Sant Sadurní d'Anoia
    +#> 449                         Santa Fe del Penedès
    +#> 450                 Santa Margarida i els Monjos
    +#> 451                                     Subirats
    +#> 452                           Terrassola i Lavit
    +#> 453                            Torrelles de Foix
    +#> 454                       Vilafranca del Penedès
    +#> 455                           Vilobí del Penedès
    +#> 456                                  Alàs i Cerc
    +#> 457                                     Arsèguel
    +#> 458                                     Bassella
    +#> 459                                         Cabó
    +#> 460                                         Cava
    +#> 461                                Coll de Nargó
    +#> 462                               el Pont de Bar
    +#> 463                                    Estamariu
    +#> 464                              Fígols i Alinyà
    +#> 465                                Josa i Tuixén
    +#> 466                              la Seu d'Urgell
    +#> 467                           la Vansa i Fórnols
    +#> 468                           la Vansa i Fórnols
    +#> 469                          les Valls d'Aguilar
    +#> 470                          les Valls de Valira
    +#> 471                       Montferrer i Castellbò
    +#> 472                                       Oliana
    +#> 473                                      Organyà
    +#> 474                                     Peramola
    +#> 475                            Ribera d'Urgellet
    +#> 476                             el Pont de Suert
    +#> 477                               la Vall de Boí
    +#> 478                                     Vilaller
    +#> 479                                    Argençola
    +#> 480                                     Bellprat
    +#> 481                              Cabrera d'Anoia
    +#> 482                                        Calaf
    +#> 483                           Calonge de Segarra
    +#> 484                                   Capellades
    +#> 485                                        Carme
    +#> 486                   Castellfollit de Riubregós
    +#> 487                                   Castellolí
    +#> 488                                       Copons
    +#> 489                                      el Bruc
    +#> 490                     els Hostalets de Pierola
    +#> 491                             els Prats de Rei
    +#> 492                                     Igualada
    +#> 493                                        Jorba
    +#> 494                                   la Llacuna
    +#> 495                        la Pobla de Claramunt
    +#> 496                        la Torre de Claramunt
    +#> 497                                     Masquefa
    +#> 498                                    Montmaneu
    +#> 499                                        Òdena
    +#> 500                                         Orpí
    +#> 501                                        Piera
    +#> 502                                       Pujalt
    +#> 503                                        Rubió
    +#> 504                           Sant Martí de Tous
    +#> 505                       Sant Martí Sesgueioles
    +#> 506                        Sant Pere Sallavinera
    +#> 507                   Santa Margarida de Montbui
    +#> 508                      Santa Maria de Miralles
    +#> 509                             Vallbona d'Anoia
    +#> 510                                      Veciana
    +#> 511                            Vilanova del Camí
    +#> 512                           Aguilar de Segarra
    +#> 513                                        Artés
    +#> 514                                       Avinyó
    +#> 515                                    Balsareny
    +#> 516                                       Callús
    +#> 517                                      Cardona
    +#> 518                       Castellbell i el Vilar
    +#> 519                       Castellfollit del Boix
    +#> 520                                  Castellgalí
    +#> 521                          Castellnou de Bages
    +#> 522               el Pont de Vilomara i Rocafort
    +#> 523                                    Fonollosa
    +#> 524                                         Gaià
    +#> 525                                      Manresa
    +#> 526                                    Marganell
    +#> 527                      Monistrol de Montserrat
    +#> 528                                         Mura
    +#> 529                                    Navarcles
    +#> 530                                       Navars
    +#> 531                                     Rajadell
    +#> 532                                      Sallent
    +#> 533                          Sant Feliu Sasserra
    +#> 534                        Sant Fruitós de Bages
    +#> 535                     Sant Joan de Vilatorrada
    +#> 536                          Sant Mateu de Bages
    +#> 537                   Sant Salvador de Guardiola
    +#> 538                     Sant Vicenç de Castellet
    +#> 539                                    Santpedor
    +#> 540                                        Súria
    +#> 541                                    Talamanca
    +#> 542                                      Alforja
    +#> 543                                     Almoster
    +#> 544                                       Arbolí
    +#> 545                                     Botarell
    +#> 546                                     Cambrils
    +#> 547                                    Capafonts
    +#> 548                         Castellvell del Camp
    +#> 549                                    Colldejou
    +#> 550                                   Duesaigües
    +#> 551                                     l'Albiol
    +#> 552                                    l'Aleixar
    +#> 553                                  l'Argentera
    +#> 554                                     la Febró
    +#> 555                            la Selva del Camp
    +#> 556                          les Borges del Camp
    +#> 557                                    Maspujols
    +#> 558                           Mont-roig del Camp
    +#> 559                            Montbrió del Camp
    +#> 560                                       Prades
    +#> 561                                      Pratdip
    +#> 562                                         Reus
    +#> 563                                  Riudecanyes
    +#> 564                                    Riudecols
    +#> 565                                      Riudoms
    +#> 566         Vandellòs i l'Hospitalet de l'Infant
    +#> 567                       Vilanova d'Escornalbou
    +#> 568                                    Vilaplana
    +#> 569                           Vinyols i els Arcs
    +#> 570                                      Aldover
    +#> 571                             Alfara de Carles
    +#> 572                                   Benifallet
    +#> 573                                     Camarles
    +#> 574                                     Deltebre
    +#> 575                                   el Perelló
    +#> 576                                      l'Aldea
    +#> 577                             l'Ametlla de Mar
    +#> 578                                    l'Ampolla
    +#> 579                                        Paüls
    +#> 580                                     Roquetes
    +#> 581                                      Tivenys
    +#> 582                                      Tortosa
    +#> 583                                        Xerta
    +#> 584                                       Albons
    +#> 585                                        Begur
    +#> 586                          Bellcaire d'Empordà
    +#> 587                        Calonge i Sant Antoni
    +#> 588                       Castell i Platja d'Aro
    +#> 589                                     Colomers
    +#> 590                                        Corçà
    +#> 591  Cruïlles, Monells i Sant Sadurní de l'Heura
    +#> 592                                        Foixà
    +#> 593                                  Fontanilles
    +#> 594                                   Garrigoles
    +#> 595                                       Gualta
    +#> 596                                        Jafre
    +#> 597                          la Bisbal d'Empordà
    +#> 598                                      la Pera
    +#> 599                         la Tallada d'Empordà
    +#> 600                                     Mont-ras
    +#> 601                                  Palafrugell
    +#> 602                                      Palamós
    +#> 603                                  Palau-sator
    +#> 604                                         Pals
    +#> 605                                      Parlavà
    +#> 606                                     Regencós
    +#> 607                                        Rupià
    +#> 608                        Sant Feliu de Guíxols
    +#> 609                         Santa Cristina d'Aro
    +#> 610                                Serra de Daró
    +#> 611                                      Torrent
    +#> 612                         Torroella de Montgrí
    +#> 613                                         Ullà
    +#> 614                                    Ullastret
    +#> 615                                    Ultramort
    +#> 616                                Vall-llobrega
    +#> 617                                       Verges
    +#> 618                                     Vilopriu
    +#> 619             Vulpellac, Fonteta i Peratallada
    +#> 620                                       Abrera
    +#> 621                                       Begues
    +#> 622                                Castelldefels
    +#> 623                         Castellví de Rosanes
    +#> 624                                     Cervelló
    +#> 625                                     Collbató
    +#> 626                         Corbera de Llobregat
    +#> 627                        Cornellà de Llobregat
    +#> 628                                    el Papiol
    +#> 629                         el Prat de Llobregat
    +#> 630                                 Esparreguera
    +#> 631                       Esplugues de Llobregat
    +#> 632                                         Gavà
    +#> 633                         la Palma de Cervelló
    +#> 634                                    Martorell
    +#> 635                                Molins de Rei
    +#> 636                          Olesa de Montserrat
    +#> 637                                      Pallejà
    +#> 638                      Sant Andreu de la Barca
    +#> 639                        Sant Boi de Llobregat
    +#> 640                    Sant Climent de Llobregat
    +#> 641                       Sant Esteve Sesrovires
    +#> 642                      Sant Feliu de Llobregat
    +#> 643                              Sant Joan Despí
    +#> 644                            Sant Just Desvern
    +#> 645                       Sant Vicenç dels Horts
    +#> 646                     Santa Coloma de Cervelló
    +#> 647                       Torrelles de Llobregat
    +#> 648                                    Vallirana
    +#> 649                                   Viladecans
    +#> 650                                    Albinyana
    +#> 651                         Banyeres del Penedès
    +#> 652                                      Bellvei
    +#> 653                                     Bonastre
    +#> 654                                     Calafell
    +#> 655                                        Cunit
    +#> 656                                  el Montmell
    +#> 657                                  el Vendrell
    +#> 658                                      l'Arboç
    +#> 659                        la Bisbal del Penedès
    +#> 660                          Llorenç del Penedès
    +#> 661                                   Masllorenç
    +#> 662                      Sant Jaume dels Domenys
    +#> 663                                  Santa Oliva
    +#> 664                                     Badalona
    +#> 665                                    Barcelona
    +#> 666                    l'Hospitalet de Llobregat
    +#> 667                          Sant Adrià de Besòs
    +#> 668                     Santa Coloma de Gramenet
    +#> 669                                         Avià
    +#> 670                                         Bagà
    +#> 671                                        Berga
    +#> 672                                      Borredà
    +#> 673                                      Capolat
    +#> 674                                    Casserres
    +#> 675                           Castell de l'Areny
    +#> 676                           Castellar de n'Hug
    +#> 677                            Castellar del Riu
    +#> 678                                        Cercs
    +#> 679                                       Fígols
    +#> 680                                    Gironella
    +#> 681                                   Gisclareny
    +#> 682                                        Gósol
    +#> 683                        Guardiola de Berguedà
    +#> 684                                  l'Espunyola
    +#> 685                           la Nou de Berguedà
    +#> 686                           la Pobla de Lillet
    +#> 687                                      la Quar
    +#> 688                                     Montclar
    +#> 689                                    Montmajor
    +#> 690                                        Olvan
    +#> 691                                    Puig-reig
    +#> 692                                        Sagàs
    +#> 693                                       Saldes
    +#> 694                      Sant Jaume de Frontanyà
    +#> 695                     Sant Julià de Cerdanyola
    +#> 696                        Santa Maria de Merlès
    +#> 697                                    Vallcebre
    +#> 698                                       Vilada
    +#> 699                            Viver i Serrateix
    +#> 700                                          Alp
    +#> 701                          Bellver de Cerdanya
    +#> 702                                       Bolvir
    +#> 703                                          Das
    +#> 704                        Fontanals de Cerdanya
    +#> 705                                          Ger
    +#> 706                            Guils de Cerdanya
    +#> 707                                       Isòvol
    +#> 708                             Lles de Cerdanya
    +#> 709                                       Llívia
    +#> 710                                     Meranges
    +#> 711                          Montellà i Martinet
    +#> 712                               Prats i Sansor
    +#> 713                                     Prullans
    +#> 714                                    Puigcerdà
    +#> 715                              Riu de Cerdanya
    +#> 716                                         Urús
    +#> 717                          Barberà de la Conca
    +#> 718                                   Blancafort
    +#> 719                                       Conesa
    +#> 720                                        Forès
    +#> 721                        l'Espluga de Francolí
    +#> 722                                    les Piles
    +#> 723                                       Llorac
    +#> 724                                    Montblanc
    +#> 725                         Passanant i Belltall
    +#> 726                                         Pira
    +#> 727                                      Pontils
    +#> 728                          Rocafort de Queralt
    +#> 729                      Santa Coloma de Queralt
    +#> 730                                       Sarral
    +#> 731                           Savallà del Comtat
    +#> 732                                        Senan
    +#> 733                                    Solivella
    +#> 734                                    Vallclara
    +#> 735                        Vallfogona de Riucorb
    +#> 736                           Vilanova de Prades
    +#> 737                                     Vilaverd
    +#> 738                             Vimbodí i Poblet
    +#> 739                                    Canyelles
    +#> 740                                     Cubelles
    +#> 741                                     Olivella
    +#> 742                           Sant Pere de Ribes
    +#> 743                                       Sitges
    +#> 744                         Vilanova i la Geltrú
    +#> 745                                       Arbeca
    +#> 746                                  Bellaguarda
    +#> 747                                       Bovera
    +#> 748                                  Castelldans
    +#> 749                      Cervià de les Garrigues
    +#> 750                                     el Cogul
    +#> 751                                   el Soleràs
    +#> 752                                  el Vilosell
    +#> 753                                 els Omellons
    +#> 754                                    els Torms
    +#> 755                                      Fulleda
    +#> 756                    Granyena de les Garrigues
    +#> 757                                      Juncosa
    +#> 758                                       Juneda
    +#> 759                                    l'Albagés
    +#> 760                                       l'Albi
    +#> 761                              l'Espluga Calba
    +#> 762                                  la Floresta
    +#> 763                                la Granadella
    +#> 764                         la Pobla de Cérvoles
    +#> 765                          les Borges Blanques
    +#> 766                                     Puiggròs
    +#> 767                                       Tarrés
    +#> 768                                      Vinaixa
    +#> 769                                   Argelaguer
    +#> 770                                       Besalú
    +#> 771                                        Beuda
    +#> 772                     Castellfollit de la Roca
    +#> 773                             la Vall d'en Bas
    +#> 774                            la Vall de Bianya
    +#> 775                        les Planes d'Hostoles
    +#> 776                                   les Preses
    +#> 777                              Maià de Montcal
    +#> 778                                       Mieres
    +#> 779                               Montagut i Oix
    +#> 780                                         Olot
    +#> 781                                     Riudaura
    +#> 782                             Sales de Llierca
    +#> 783                      Sant Aniol de Finestres
    +#> 784                      Sant Feliu de Pallerols
    +#> 785                                 Sant Ferriol
    +#> 786                        Sant Jaume de Llierca
    +#> 787                          Sant Joan les Fonts
    +#> 788                                    Santa Pau
    +#> 789                                     Tortellà
    +#> 790                                    Aiguaviva
    +#> 791                                      Bescanó
    +#> 792                                      Bordils
    +#> 793                                    Campllong
    +#> 794                                 Canet d'Adri
    +#> 795                            Cassà de la Selva
    +#> 796                                        Celrà
    +#> 797                                Cervià de Ter
    +#> 798                                        Flaçà
    +#> 799                         Fornells de la Selva
    +#> 800                                       Girona
    +#> 801                                         Juià
    +#> 802                                   Llagostera
    +#> 803                                   Llambilles
    +#> 804                                   Madremanya
    +#> 805                                      Medinyà
    +#> 806                                        Quart
    +#> 807                                         Salt
    +#> 808                            Sant Andreu Salou
    +#> 809                                 Sant Gregori
    +#> 810                          Sant Joan de Mollet
    +#> 811                          Sant Jordi Desvalls
    +#> 812                          Sant Julià de Ramis
    +#> 813                        Sant Martí de Llémena
    +#> 814                              Sant Martí Vell
    +#> 815                                Sarrià de Ter
    +#> 816                                  Vilablareix
    +#> 817                                   Viladasens
    +#> 818                                       Alpens
    +#> 819                                        Lluçà
    +#> 820                                        Olost
    +#> 821                                       Oristà
    +#> 822                                     Perafita
    +#> 823                            Prats de Lluçanès
    +#> 824                          Sant Martí d'Albars
    +#> 825                                    Sobremunt
    +#> 826                                       Alella
    +#> 827                                Arenys de Mar
    +#> 828                               Arenys de Munt
    +#> 829                                    Argentona
    +#> 830                               Cabrera de Mar
    +#> 831                                      Cabrils
    +#> 832                              Caldes d'Estrac
    +#> 833                                      Calella
    +#> 834                                 Canet de Mar
    +#> 835                                      Dosrius
    +#> 836                                    el Masnou
    +#> 837                               Malgrat de Mar
    +#> 838                                       Mataró
    +#> 839                                      Montgat
    +#> 840                                       Òrrius
    +#> 841                                    Palafolls
    +#> 842                                Pineda de Mar
    +#> 843                               Premià de Dalt
    +#> 844                                Premià de Mar
    +#> 845                    Sant Andreu de Llavaneres
    +#> 846                      Sant Cebrià de Vallalta
    +#> 847                       Sant Iscle de Vallalta
    +#> 848                              Sant Pol de Mar
    +#> 849                       Sant Vicenç de Montalt
    +#> 850                                Santa Susanna
    +#> 851                                         Teià
    +#> 852                                        Tiana
    +#> 853                                      Tordera
    +#> 854                             Vilassar de Dalt
    +#> 855                              Vilassar de Mar
    +#> 856                                      Calders
    +#> 857                                   Castellcir
    +#> 858                                Castellterçol
    +#> 859                                  Collsuspina
    +#> 860                                      Granera
    +#> 861                                     l'Estany
    +#> 862                                         Moià
    +#> 863                         Monistrol de Calders
    +#> 864                           Sant Quirze Safaja
    +#> 865                            Santa Maria d'Oló
    +#> 866                                      Alcanar
    +#> 867                                      Amposta
    +#> 868                                    Freginals
    +#> 869                                       Godall
    +#> 870                                    la Galera
    +#> 871                                    la Ràpita
    +#> 872                                     la Sénia
    +#> 873                             Mas de Barberans
    +#> 874                                  Masdenverge
    +#> 875                          Sant Jaume d'Enveja
    +#> 876                                Santa Bàrbara
    +#> 877                                    Ulldecona
    +#> 878                                         Àger
    +#> 879                                       Albesa
    +#> 880                                      Algerri
    +#> 881                             Alòs de Balaguer
    +#> 882                              Artesa de Segre
    +#> 883                                     Balaguer
    +#> 884                           Bellcaire d'Urgell
    +#> 885                            Bellmunt d'Urgell
    +#> 886                                   Cabanabona
    +#> 887                                     Camarasa
    +#> 888                         Castelló de Farfanya
    +#> 889                                      Cubells
    +#> 890                                     Foradada
    +#> 891                             Ivars de Noguera
    +#> 892                          la Baronia de Rialb
    +#> 893                             la Sentiu de Sió
    +#> 894                  les Avellanes i Santa Linya
    +#> 895                                   Menàrguens
    +#> 896                                      Montgai
    +#> 897                                       Oliola
    +#> 898                               Os de Balaguer
    +#> 899                                     Penelles
    +#> 900                                        Ponts
    +#> 901                                     Preixens
    +#> 902                                      Térmens
    +#> 903                                      Tiurana
    +#> 904                                   Torrelameu
    +#> 905                       Vallfogona de Balaguer
    +#> 906                          Vilanova de l'Aguda
    +#> 907                             Vilanova de Meià
    +#> 908                                      Balenyà
    +#> 909                                  Calldetenes
    +#> 910                                    Centelles
    +#> 911                                     el Brull
    +#> 912                                   Espinelves
    +#> 913                                  Folgueroles
    +#> 914                                         Gurb
    +#> 915                                   l'Esquirol
    +#> 916                           les Masies de Roda
    +#> 917                       les Masies de Voltregà
    +#> 918                                        Malla
    +#> 919                                      Manlleu
    +#> 920                                   Montesquiu
    +#> 921                                   Muntanyola
    +#> 922                                         Orís
    +#> 923                                  Roda de Ter
    +#> 924                                Rupit i Pruit
    +#> 925                      Sant Agustí de Lluçanès
    +#> 926                       Sant Bartomeu del Grau
    +#> 927                         Sant Boi de Lluçanès
    +#> 928                     Sant Hipòlit de Voltregà
    +#> 929                      Sant Julià de Vilatorta
    +#> 930                      Sant Martí de Centelles
    +#> 931                         Sant Pere de Torelló
    +#> 932                        Sant Quirze de Besora
    +#> 933                      Sant Sadurní d'Osormort
    +#> 934                       Sant Vicenç de Torelló
    +#> 935                    Santa Cecília de Voltregà
    +#> 936                       Santa Eugènia de Berga
    +#> 937                   Santa Eulàlia de Riuprimer
    +#> 938                        Santa Maria de Besora
    +#> 939                                         Seva
    +#> 940                                         Sora
    +#> 941                                     Taradell
    +#> 942                                   Tavèrnoles
    +#> 943                                     Tavertet
    +#> 944                                         Tona
    +#> 945                                      Torelló
    +#> 946                                          Vic
    +#> 947                                        Vidrà
    +#> 948                                     Viladrau
    +#> 949                              Vilanova de Sau
    +#> 950                           Abella de la Conca
    +#> 951                               Castell de Mur
    +#> 952                                Conca de Dalt
    +#> 953                            Gavet de la Conca
    +#> 954                          Isona i Conca Dellà
    +#> 955                            la Pobla de Segur
    +#> 956                         la Torre de Cabdella
    +#> 957                                     Llimiana
    +#> 958                             Salàs de Pallars
    +#> 959                      Sant Esteve de la Sarga
    +#> 960                           Sarroca de Bellera
    +#> 961                                    Senterada
    +#> 962                                       Talarn
    +#> 963                                        Tremp
    +#> 964                                        Alins
    +#> 965                                     Alt Àneu
    +#> 966                                 Baix Pallars
    +#> 967                                        Espot
    +#> 968                               Esterri d'Àneu
    +#> 969                            Esterri de Cardós
    +#> 970                                      Farrera
    +#> 971                          la Guingueta d'Àneu
    +#> 972                                     Lladorre
    +#> 973                                     Llavorsí
    +#> 974                                        Rialb
    +#> 975                                    Soriguera
    +#> 976                                         Sort
    +#> 977                                       Tírvia
    +#> 978                               Vall de Cardós
    +#> 979                                      Barbens
    +#> 980                           Bell-lloc d'Urgell
    +#> 981                                      Bellvís
    +#> 982                          Castellnou de Seana
    +#> 983                         el Palau d'Anglesola
    +#> 984                                      el Poal
    +#> 985                                   Fondarella
    +#> 986                                       Golmés
    +#> 987                               Ivars d'Urgell
    +#> 988                                      Linyola
    +#> 989                                    Miralcamp
    +#> 990                                   Mollerussa
    +#> 991                                      Sidamon
    +#> 992                                  Torregrossa
    +#> 993                                    Vila-sana
    +#> 994                         Vilanova de Bellpuig
    +#> 995                                     Banyoles
    +#> 996                                        Camós
    +#> 997                           Cornellà del Terri
    +#> 998                                      Crespià
    +#> 999                                    Esponellà
    +#> 1000                                 Fontcoberta
    +#> 1001                           Palol de Revardit
    +#> 1002                                   Porqueres
    +#> 1003                    Sant Miquel de Campmajor
    +#> 1004                                     Serinyà
    +#> 1005                                  Vilademuls
    +#> 1006                        Bellmunt del Priorat
    +#> 1007                                   Cabassers
    +#> 1008                                    Capçanes
    +#> 1009                      Cornudella de Montsant
    +#> 1010                                    el Lloar
    +#> 1011                                  el Masroig
    +#> 1012                                    el Molar
    +#> 1013                                els Guiamets
    +#> 1014                                      Falset
    +#> 1015                                  Gratallops
    +#> 1016                         la Bisbal de Falset
    +#> 1017                                  la Figuera
    +#> 1018                       la Morera de Montsant
    +#> 1019                     la Torre de Fontaubella
    +#> 1020                             la Vilella Alta
    +#> 1021                            la Vilella Baixa
    +#> 1022                                       Marçà
    +#> 1023                                    Margalef
    +#> 1024                                    Poboleda
    +#> 1025                                     Porrera
    +#> 1026                       Pradell de la Teixeta
    +#> 1027                         Torroja del Priorat
    +#> 1028                                 Ulldemolins
    +#> 1029                                        Ascó
    +#> 1030                                  Benissanet
    +#> 1031                                        Flix
    +#> 1032                                      Garcia
    +#> 1033                                    Ginestar
    +#> 1034                             la Palma d'Ebre
    +#> 1035                      la Torre de l'Espanyol
    +#> 1036                                     Miravet
    +#> 1037                                 Móra d'Ebre
    +#> 1038                                Móra la Nova
    +#> 1039                                    Rasquera
    +#> 1040                            Riba-roja d'Ebre
    +#> 1041                                     Tivissa
    +#> 1042                                     Vinebre
    +#> 1043                                 Campdevànol
    +#> 1044                                   Campelles
    +#> 1045                                   Camprodon
    +#> 1046                                     Gombrèn
    +#> 1047                                 les Llosses
    +#> 1048                                     Llanars
    +#> 1049                                       Molló
    +#> 1050                                      Ogassa
    +#> 1051                                    Pardines
    +#> 1052                                    Planoles
    +#> 1053                                    Queralbs
    +#> 1054                             Ribes de Freser
    +#> 1055                                      Ripoll
    +#> 1056                  Sant Joan de les Abadesses
    +#> 1057                        Sant Pau de Segúries
    +#> 1058                                    Setcases
    +#> 1059                                       Toses
    +#> 1060                      Vallfogona de Ripollès
    +#> 1061                           Vilallonga de Ter
    +#> 1062                                      Biosca
    +#> 1063                                     Cervera
    +#> 1064                            els Plans de Sió
    +#> 1065                                     Estaràs
    +#> 1066                                 Granyanella
    +#> 1067                         Granyena de Segarra
    +#> 1068                                    Guissona
    +#> 1069                                      Ivorra
    +#> 1070                                  les Oluges
    +#> 1071                                  Massoteres
    +#> 1072                         Montoliu de Segarra
    +#> 1073                        Montornès de Segarra
    +#> 1074                             Ribera d'Ondara
    +#> 1075                                     Sanaüja
    +#> 1076                      Sant Guim de Freixenet
    +#> 1077                       Sant Guim de la Plana
    +#> 1078                                  Sant Ramon
    +#> 1079                                    Talavera
    +#> 1080                          Tarroja de Segarra
    +#> 1081                                        Torà
    +#> 1082                       Torrefeta i Florejacs
    +#> 1083                                      Aitona
    +#> 1084                                  Albatàrrec
    +#> 1085                                      Alcanó
    +#> 1086                                    Alcarràs
    +#> 1087                                   Alcoletge
    +#> 1088                                    Alfarràs
    +#> 1089                                       Alfés
    +#> 1090                                    Alguaire
    +#> 1091                                  Almacelles
    +#> 1092                                    Almatret
    +#> 1093                                     Almenar
    +#> 1094                                     Alpicat
    +#> 1095                            Artesa de Lleida
    +#> 1096                                        Aspa
    +#> 1097                          Benavent de Segrià
    +#> 1098                                     Corbins
    +#> 1099                                  els Alamús
    +#> 1100               Gimenells i el Pla de la Font
    +#> 1101                          la Granja d'Escarp
    +#> 1102                                 la Portella
    +#> 1103                                  Llardecans
    +#> 1104                                      Lleida
    +#> 1105                                      Maials
    +#> 1106                                Massalcoreig
    +#> 1107                          Montoliu de Lleida
    +#> 1108                          Puigverd de Lleida
    +#> 1109                                    Rosselló
    +#> 1110                           Sarroca de Lleida
    +#> 1111                                       Seròs
    +#> 1112                                       Soses
    +#> 1113                                    Sudanell
    +#> 1114                                      Sunyer
    +#> 1115                                Torre-serona
    +#> 1116                                 Torrebesses
    +#> 1117                                Torrefarrera
    +#> 1118                             Torres de Segre
    +#> 1119                        Vilanova de la Barca
    +#> 1120                          Vilanova de Segrià
    +#> 1121                                        Amer
    +#> 1122                                      Anglès
    +#> 1123                                    Arbúcies
    +#> 1124                                      Blanes
    +#> 1125                                       Breda
    +#> 1126               Brunyola i Sant Martí Sapresa
    +#> 1127                         Caldes de Malavella
    +#> 1128                          Fogars de la Selva
    +#> 1129                                   Hostalric
    +#> 1130                           la Cellera de Ter
    +#> 1131                               Lloret de Mar
    +#> 1132                                     Maçanes
    +#> 1133                         Maçanet de la Selva
    +#> 1134                                        Osor
    +#> 1135                            Riells i Viabrea
    +#> 1136                                  Riudarenes
    +#> 1137                      Riudellots de la Selva
    +#> 1138                     Sant Feliu de Buixalleu
    +#> 1139                          Sant Hilari Sacalm
    +#> 1140               Sant Julià del Llor i Bonmatí
    +#> 1141                     Santa Coloma de Farners
    +#> 1142                                        Sils
    +#> 1143                                    Susqueda
    +#> 1144                                Tossa de Mar
    +#> 1145                                    Vidreres
    +#> 1146                              Vilobí d'Onyar
    +#> 1147                      Castellar de la Ribera
    +#> 1148                        Clariana de Cardener
    +#> 1149                                     Guixers
    +#> 1150                          la Coma i la Pedra
    +#> 1151                                  la Molsosa
    +#> 1152                                     Lladurs
    +#> 1153                                     Llobera
    +#> 1154                                       Navès
    +#> 1155                                        Odèn
    +#> 1156                                       Olius
    +#> 1157                          Pinell de Solsonès
    +#> 1158                                       Pinós
    +#> 1159                                       Riner
    +#> 1160                     Sant Llorenç de Morunys
    +#> 1161                                     Solsona
    +#> 1162                                   Altafulla
    +#> 1163                                   Constantí
    +#> 1164                                    Creixell
    +#> 1165                                  el Catllar
    +#> 1166                                   el Morell
    +#> 1167                              els Pallaresos
    +#> 1168                                  la Canonja
    +#> 1169                              la Nou de Gaià
    +#> 1170                         la Pobla de Mafumet
    +#> 1171                       la Pobla de Montornès
    +#> 1172                            la Riera de Gaià
    +#> 1173                                  la Secuita
    +#> 1174                                    Perafort
    +#> 1175                                       Renau
    +#> 1176                                Roda de Berà
    +#> 1177                                      Salomó
    +#> 1178                                       Salou
    +#> 1179                                   Tarragona
    +#> 1180                               Torredembarra
    +#> 1181                            Vespella de Gaià
    +#> 1182                                   Vila-seca
    +#> 1183                         Vilallonga del Camp
    +#> 1184                                       Arnes
    +#> 1185                                       Batea
    +#> 1186                                         Bot
    +#> 1187                                     Caseres
    +#> 1188                              Corbera d'Ebre
    +#> 1189                           el Pinell de Brai
    +#> 1190                                     Gandesa
    +#> 1191                          Horta de Sant Joan
    +#> 1192                                la Fatarella
    +#> 1193                       la Pobla de Massaluca
    +#> 1194                               Prat de Comte
    +#> 1195                           Vilalba dels Arcs
    +#> 1196                                    Agramunt
    +#> 1197                                   Anglesola
    +#> 1198                                    Belianes
    +#> 1199                                    Bellpuig
    +#> 1200                                 Castellserà
    +#> 1201                                  Ciutadilla
    +#> 1202                       els Omells de na Gaia
    +#> 1203                                     Guimerà
    +#> 1204                                  la Fuliola
    +#> 1205                                       Maldà
    +#> 1206                                       Nalec
    +#> 1207                                 Ossó de Sió
    +#> 1208                                    Preixana
    +#> 1209                         Puigverd d'Agramunt
    +#> 1210                       Sant Martí de Riucorb
    +#> 1211                                     Tàrrega
    +#> 1212                                   Tornabous
    +#> 1213                      Vallbona de les Monges
    +#> 1214                                       Verdú
    +#> 1215                                  Vilagrassa
    +#> 1216                            Badia del Vallès
    +#> 1217                          Barberà del Vallès
    +#> 1218                        Castellar del Vallès
    +#> 1219                               Castellbisbal
    +#> 1220                       Cerdanyola del Vallès
    +#> 1221                                     Gallifa
    +#> 1222                                  Matadepera
    +#> 1223                           Montcada i Reixac
    +#> 1224                    Palau-solità i Plegamans
    +#> 1225                                     Polinyà
    +#> 1226                                   Rellinars
    +#> 1227                                    Ripollet
    +#> 1228                                        Rubí
    +#> 1229                                    Sabadell
    +#> 1230                       Sant Cugat del Vallès
    +#> 1231                         Sant Llorenç Savall
    +#> 1232                      Sant Quirze del Vallès
    +#> 1233                    Santa Perpètua de Mogoda
    +#> 1234                                   Sentmenat
    +#> 1235                                    Terrassa
    +#> 1236                                  Ullastrell
    +#> 1237                                  Vacarisses
    +#> 1238                               Viladecavalls
    +#> 1239                                  Aiguafreda
    +#> 1240                     Bigues i Riells del Fai
    +#> 1241                           Caldes de Montbui
    +#> 1242                                     Campins
    +#> 1243                                  Canovelles
    +#> 1244                           Cànoves i Samalús
    +#> 1245                                    Cardedeu
    +#> 1246                       el Figueró i Montmany
    +#> 1247                          Fogars de Montclús
    +#> 1248                                  Granollers
    +#> 1249                                      Gualba
    +#> 1250                        l'Ametlla del Vallès
    +#> 1251                                  la Garriga
    +#> 1252                                 la Llagosta
    +#> 1253                          la Roca del Vallès
    +#> 1254                   les Franqueses del Vallès
    +#> 1255                               Lliçà d'Amunt
    +#> 1256                               Lliçà de Vall
    +#> 1257                          Llinars del Vallès
    +#> 1258                                 Martorelles
    +#> 1259                           Mollet del Vallès
    +#> 1260                                    Montmeló
    +#> 1261                        Montornès del Vallès
    +#> 1262                                    Montseny
    +#> 1263                           Parets del Vallès
    +#> 1264                    Sant Antoni de Vilamajor
    +#> 1265                                 Sant Celoni
    +#> 1266                 Sant Esteve de Palautordera
    +#> 1267                       Sant Feliu de Codines
    +#> 1268                  Sant Fost de Campsentelles
    +#> 1269                      Sant Pere de Vilamajor
    +#> 1270                    Santa Eulàlia de Ronçana
    +#> 1271                  Santa Maria de Martorelles
    +#> 1272                 Santa Maria de Palautordera
    +#> 1273                                  Tagamanent
    +#> 1274                                Vallgorguina
    +#> 1275                                 Vallromanes
    +#> 1276                            Vilalba Sasserra
    +#> 1277                         Vilanova del Vallès
    +#> 1278                                    València
    +#> 1279                            Alcalà de Xivert
    +#> 1280                                   Benicarló
    +#> 1281                                       Càlig
    +#> 1282                               Canet lo Roig
    +#> 1283                           Castell de Cabres
    +#> 1284                        Cervera del Maestrat
    +#> 1285                                     la Jana
    +#> 1286                       la Pobla de Benifassà
    +#> 1287                               la Salzadella
    +#> 1288                                   Peníscola
    +#> 1289                                     Rossell
    +#> 1290                                  Sant Jordi
    +#> 1291                                  Sant Mateu
    +#> 1292                          Sant Rafel del Riu
    +#> 1293                   Santa Magdalena de Polpís
    +#> 1294                                   Traiguera
    +#> 1295                                     Vinaròs
    +#> 1296                                        Xert
    +#> 1297                        Guardamar del Segura
    +#> 1298                                  Crevillent
    +#> 1299                                         Elx
    +#> 1300                                  Santa Pola
    +#> 1301                      Albalat dels Tarongers
    +#> 1302                        Alfara de la Baronia
    +#> 1303                           Algar de Palància
    +#> 1304                            Algímia d'Alfara
    +#> 1305                                   Benavites
    +#> 1306                      Benifairó de les Valls
    +#> 1307                        Canet d'en Berenguer
    +#> 1308                                   Estivella
    +#> 1309                                       Faura
    +#> 1310                                       Gilet
    +#> 1311                                      Petrés
    +#> 1312                          Quart de les Valls
    +#> 1313                                    Quartell
    +#> 1314                                      Sagunt
    +#> 1315                                      Segart
    +#> 1316                               Torres Torres
    +#> 1317                                  Benaguasil
    +#> 1318                                   Benissanó
    +#> 1319                                      Bétera
    +#> 1320                                     Casinos
    +#> 1321                                    l'Eliana
    +#> 1322                        la Pobla de Vallbona
    +#> 1323                                      Llíria
    +#> 1324                                     Nàquera
    +#> 1325                                      Olocau
    +#> 1326                          Riba-roja de Túria
    +#> 1327                                       Serra
    +#> 1328                                 Vilamarxant
    +#> 1329                                       Agres
    +#> 1330                                    Alcoleja
    +#> 1331                                    Alcosser
    +#> 1332                                    Alfafara
    +#> 1333                                   Almudaina
    +#> 1334                                     Balones
    +#> 1335                                     Benasau
    +#> 1336                                   Beniarrés
    +#> 1337                                   Benilloba
    +#> 1338                                    Benillup
    +#> 1339                                 Benimarfull
    +#> 1340                                  Benimassot
    +#> 1341                                  Cocentaina
    +#> 1342                                      Fageca
    +#> 1343                                     Famorca
    +#> 1344                                     Gaianes
    +#> 1345                                       Gorga
    +#> 1346                          l'Alqueria d'Asnar
    +#> 1347                                      l'Orxa
    +#> 1348                                     Millena
    +#> 1349                                Muro d'Alcoi
    +#> 1350                                      Planes
    +#> 1351                               Quatretondeta
    +#> 1352                                      Tollos
    +#> 1353                        el Fondó de les Neus
    +#> 1354                        el Fondó dels Frares
    +#> 1355                                    el Pinós
    +#> 1356                                  l'Alguenya
    +#> 1357                                   la Romana
    +#> 1358                                     Monòver
    +#> 1359                                     Novelda
    +#> 1360                                      Petrer
    +#> 1361                                 Castellfort
    +#> 1362                                  Cinctorres
    +#> 1363                                  el Forcall
    +#> 1364                                     Herbers
    +#> 1365                          la Mata de Morella
    +#> 1366                                la Todolella
    +#> 1367                                     Morella
    +#> 1368                                   Palanques
    +#> 1369                          Portell de Morella
    +#> 1370                                      Sorita
    +#> 1371                                   Vallibona
    +#> 1372                                  Vilafranca
    +#> 1373                                    Villores
    +#> 1374                                       Agost
    +#> 1375                                      Aigües
    +#> 1376                                     Alacant
    +#> 1377                                       Busot
    +#> 1378                                 el Campello
    +#> 1379                     la Torre de les Maçanes
    +#> 1380                                    Mutxamel
    +#> 1381                         Sant Joan d'Alacant
    +#> 1382                     Sant Vicent del Raspeig
    +#> 1383                                      Xixona
    +#> 1384                                      Costur
    +#> 1385                                  Figueroles
    +#> 1386                                    l'Alcora
    +#> 1387                                  les Useres
    +#> 1388                                     Llucena
    +#> 1389                     Vistabella del Maestrat
    +#> 1390                                       Xodos
    +#> 1391                                       Alcoi
    +#> 1392                         Banyeres de Mariola
    +#> 1393                                  Benifallim
    +#> 1394                                    Castalla
    +#> 1395                                         Ibi
    +#> 1396                                        Onil
    +#> 1397                                   Penàguila
    +#> 1398                                        Tibi
    +#> 1399                                  Albocàsser
    +#> 1400                           Ares del Maestrat
    +#> 1401                       Atzeneta del Maestrat
    +#> 1402                                   Benafigos
    +#> 1403                                    Benassal
    +#> 1404                                        Catí
    +#> 1405                                       Culla
    +#> 1406                               la Serratella
    +#> 1407                        la Torre d'en Besora
    +#> 1408                                       Tírig
    +#> 1409                              Vilar de Canes
    +#> 1410                                   Beneixama
    +#> 1411                                        Biar
    +#> 1412                            el Camp de Mirra
    +#> 1413                                  la Canyada
    +#> 1414                        Albalat dels Sorells
    +#> 1415                                    Alboraia
    +#> 1416                                    Albuixec
    +#> 1417                        Alfara del Patriarca
    +#> 1418                                   Almàssera
    +#> 1419                        Bonrepòs i Mirambell
    +#> 1420                                   Burjassot
    +#> 1421                      el Puig de Santa Maria
    +#> 1422                                   Emperador
    +#> 1423                                       Foios
    +#> 1424                                     Godella
    +#> 1425                         la Pobla de Farnals
    +#> 1426                                Massalfassar
    +#> 1427                                Massamagrell
    +#> 1428                                     Meliana
    +#> 1429                                    Montcada
    +#> 1430                                     Museros
    +#> 1431                                     Paterna
    +#> 1432                                       Puçol
    +#> 1433                                 Rafelbunyol
    +#> 1434                                    Rocafort
    +#> 1435                           Tavernes Blanques
    +#> 1436                                    Vinalesa
    +#> 1437                                     Alaquàs
    +#> 1438                                       Albal
    +#> 1439                                    Alcàsser
    +#> 1440                                      Aldaia
    +#> 1441                                     Alfafar
    +#> 1442                                  Benetússer
    +#> 1443                                 Beniparrell
    +#> 1444                                   Catarroja
    +#> 1445                        Llocnou de la Corona
    +#> 1446                                     Manises
    +#> 1447                                  Massanassa
    +#> 1448                                     Mislata
    +#> 1449                                    Paiporta
    +#> 1450                                     Picanya
    +#> 1451                                   Picassent
    +#> 1452                             Quart de Poblet
    +#> 1453                                      Sedaví
    +#> 1454                                       Silla
    +#> 1455                                     Torrent
    +#> 1456                                   Xirivella
    +#> 1457                                     Barxeta
    +#> 1458                                      Canals
    +#> 1459                                       Cerdà
    +#> 1460                                  el Genovés
    +#> 1461                                    Estubeny
    +#> 1462                       l'Alcúdia de Crespins
    +#> 1463                       la Font de la Figuera
    +#> 1464                     la Granja de la Costera
    +#> 1465                           la Llosa de Ranes
    +#> 1466                            Llanera de Ranes
    +#> 1467                       Llocnou d'en Fenollet
    +#> 1468                                     Moixent
    +#> 1469                                     Montesa
    +#> 1470                                     Novetlè
    +#> 1471                            Rotglà i Corberà
    +#> 1472                                    Torrella
    +#> 1473                                     Vallada
    +#> 1474                                      Vallés
    +#> 1475                                      Xàtiva
    +#> 1476                                    Alcalalí
    +#> 1477                                  Beniarbeig
    +#> 1478                                  Benidoleig
    +#> 1479                                  Benigembla
    +#> 1480                                    Benimeli
    +#> 1481                                     Benissa
    +#> 1482                                        Calp
    +#> 1483                         Castell de Castells
    +#> 1484                                       Dénia
    +#> 1485                 el Poble Nou de Benitatxell
    +#> 1486                          el Ràfol d'Almúnia
    +#> 1487                                   el Verger
    +#> 1488                                 els Poblets
    +#> 1489                              Gata de Gorgos
    +#> 1490                                   l'Atzúbia
    +#> 1491                            la Vall d'Alcalà
    +#> 1492                               la Vall d'Ebo
    +#> 1493                        la Vall de Gallinera
    +#> 1494                           la Vall de Laguar
    +#> 1495                                      Llíber
    +#> 1496                                       Murla
    +#> 1497                                      Ondara
    +#> 1498                                        Orba
    +#> 1499                                     Parcent
    +#> 1500                                   Pedreguer
    +#> 1501                                        Pego
    +#> 1502                                       Sagra
    +#> 1503                         Sanet i els Negrals
    +#> 1504                                      Senija
    +#> 1505                                     Teulada
    +#> 1506                                      Tormos
    +#> 1507                                       Xàbia
    +#> 1508                                        Xaló
    +#> 1509                                       Altea
    +#> 1510                                    Beniardà
    +#> 1511                                    Benidorm
    +#> 1512                                    Benifato
    +#> 1513                                 Benimantell
    +#> 1514                                     Bolulla
    +#> 1515                         Callosa d'en Sarrià
    +#> 1516                                   Confrides
    +#> 1517                     el Castell de Guadalest
    +#> 1518                                   Finestrat
    +#> 1519                              l'Alfàs del Pi
    +#> 1520                                    la Nucia
    +#> 1521                              la Vila Joiosa
    +#> 1522                                      Orxeta
    +#> 1523                                       Polop
    +#> 1524                                      Relleu
    +#> 1525                                       Sella
    +#> 1526                                     Tàrbena
    +#> 1527                                   Almassora
    +#> 1528                                  Benicàssim
    +#> 1529                                     Benlloc
    +#> 1530                                     Borriol
    +#> 1531                                     Cabanes
    +#> 1532                        Castelló de la Plana
    +#> 1533                            la Pobla Tornesa
    +#> 1534                      la Serra d'en Galceran
    +#> 1535                       la Torre d'en Doménec
    +#> 1536                              la Vall d'Alba
    +#> 1537                        les Coves de Vinromà
    +#> 1538                                      Orpesa
    +#> 1539                           Sant Joan de Moró
    +#> 1540                                 Torreblanca
    +#> 1541                                   Vilafamés
    +#> 1542                          Vilanova d'Alcolea
    +#> 1543                                         Aín
    +#> 1544                               Alfondeguilla
    +#> 1545                                    Almenara
    +#> 1546                                      Artana
    +#> 1547                                       Betxí
    +#> 1548                                    Borriana
    +#> 1549                                      Eslida
    +#> 1550                            l'Alcúdia de Veo
    +#> 1551                                    la Llosa
    +#> 1552                              la Vall d'Uixó
    +#> 1553                                la Vilavella
    +#> 1554                               les Alqueries
    +#> 1555                                     Moncofa
    +#> 1556                                       Nules
    +#> 1557                                        Onda
    +#> 1558                                  Ribesalbes
    +#> 1559                                       Suera
    +#> 1560                                       Tales
    +#> 1561                                   Vila-real
    +#> 1562                                      Xilxes
    +#> 1563                                     Alberic
    +#> 1564                         Alcàntera de Xúquer
    +#> 1565                                      Alfarb
    +#> 1566                                    Algemesí
    +#> 1567                                     Alginet
    +#> 1568                                      Alzira
    +#> 1569                                     Antella
    +#> 1570                                   Beneixida
    +#> 1571                                    Benifaió
    +#> 1572                                    Benimodo
    +#> 1573                                  Benimuslem
    +#> 1574                                  Carcaixent
    +#> 1575                                      Càrcer
    +#> 1576                                      Carlet
    +#> 1577                                    Castelló
    +#> 1578                                     Catadau
    +#> 1579                                       Cotes
    +#> 1580                                     Gavarda
    +#> 1581                                  Guadassuar
    +#> 1582                                   l'Alcúdia
    +#> 1583                                     l'Énova
    +#> 1584                             la Pobla Llarga
    +#> 1585                                     Llombai
    +#> 1586                                      Manuel
    +#> 1587                                  Massalavés
    +#> 1588                                     Montroi
    +#> 1589                                  Montserrat
    +#> 1590                                 Rafelguaraf
    +#> 1591                                        Real
    +#> 1592                                 Sant Joanet
    +#> 1593                                     Sellent
    +#> 1594                                     Senyera
    +#> 1595                                  Sumacàrcer
    +#> 1596                                       Torís
    +#> 1597                        Albalat de la Ribera
    +#> 1598                                  Almussafes
    +#> 1599                          Benicull de Xúquer
    +#> 1600                                     Corbera
    +#> 1601                                     Cullera
    +#> 1602                                      Favara
    +#> 1603                                   Fortaleny
    +#> 1604                                      Llaurí
    +#> 1605                           Polinyà de Xúquer
    +#> 1606                                       Riola
    +#> 1607                                     Sollana
    +#> 1608                                       Sueca
    +#> 1609                                        Ador
    +#> 1610                                     Alfauir
    +#> 1611                                    Almiserà
    +#> 1612                                    Almoines
    +#> 1613                                        Barx
    +#> 1614                                 Bellreguard
    +#> 1615                                    Beniarjó
    +#> 1616                   Benifairó de la Valldigna
    +#> 1617                                     Beniflà
    +#> 1618                                  Benirredrà
    +#> 1619                 Castellonet de la Conquesta
    +#> 1620                                      Daimús
    +#> 1621                           el Real de Gandia
    +#> 1622                                      Gandia
    +#> 1623                       Guardamar de la Safor
    +#> 1624                   l'Alqueria de la Comtessa
    +#> 1625                         la Font d'en Carròs
    +#> 1626                      Llocnou de Sant Jeroni
    +#> 1627                                     Miramar
    +#> 1628                                       Oliva
    +#> 1629                             Palma de Gandia
    +#> 1630                                     Palmera
    +#> 1631                                       Piles
    +#> 1632                                     Potries
    +#> 1633                                  Rafelcofer
    +#> 1634                                      Ròtova
    +#> 1635                       Simat de la Valldigna
    +#> 1636                    Tavernes de la Valldigna
    +#> 1637                                  Vilallonga
    +#> 1638                                      Xeraco
    +#> 1639                                      Xeresa
    +#> 1640                                    Agullent
    +#> 1641                           Aielo de Malferit
    +#> 1642                              Aielo de Rugat
    +#> 1643                                     Albaida
    +#> 1644                                   Alfarrasí
    +#> 1645                          Atzeneta d'Albaida
    +#> 1646                                     Bèlgida
    +#> 1647                                      Bellús
    +#> 1648                                   Beniatjar
    +#> 1649                                   Benicolet
    +#> 1650                                   Benigànim
    +#> 1651                                   Benissoda
    +#> 1652                                  Benissuera
    +#> 1653                                   Bocairent
    +#> 1654                                      Bufali
    +#> 1655                                   Carrícola
    +#> 1656                           Castelló de Rugat
    +#> 1657                                  el Palomar
    +#> 1658                           el Ràfol de Salem
    +#> 1659                     Fontanars dels Alforins
    +#> 1660                               Guadasséquies
    +#> 1661                                   l'Olleria
    +#> 1662                            la Pobla del Duc
    +#> 1663                                    Llutxent
    +#> 1664                                 Montaverner
    +#> 1665                                 Montitxelvo
    +#> 1666                                   Ontinyent
    +#> 1667                                        Otos
    +#> 1668                                       Pinet
    +#> 1669                                 Quatretonda
    +#> 1670                                       Rugat
    +#> 1671                                       Salem
    +#> 1672                                     Sempere
    +#> 1673                                   Terrateig
    +#> 1674                                    l'Alguer
    +#>                                                   name
    +#> 1                                              Salardú
    +#> 2                                         Arres de Jos
    +#> 3                                               Bausen
    +#> 4                                              Bossòst
    +#> 5                                              Canejan
    +#> 6                                            Es Bòrdes
    +#> 7                                                  Les
    +#> 8                                               Vielha
    +#> 9                                              Vilamòs
    +#> 10                 Angoustrine-Villeneuve-des-Escaldes
    +#> 11                                            Bolquère
    +#> 12                                              Dorres
    +#> 13                                                Égat
    +#> 14                                                Eyne
    +#> 15                                             Enveitg
    +#> 16                                                 Err
    +#> 17                                             Estavar
    +#> 18                              Font-Romeu-Odeillo-Via
    +#> 19                                        La Cabanasse
    +#> 20                                        Bourg-Madame
    +#> 21                                     Latour-de-Carol
    +#> 22                                                 Llo
    +#> 23                                          Mont-Louis
    +#> 24                                              Nahuja
    +#> 25                                              Osséja
    +#> 26                                   Palau-de-Cerdagne
    +#> 27                                               Porta
    +#> 28                                     Porté-Puymorens
    +#> 29                                         Saillagouse
    +#> 30                                     Sainte-Léocadie
    +#> 31                                          Targasonne
    +#> 32                                                  Ur
    +#> 33                                        Valcebollère
    +#> 34                                          Les Angles
    +#> 35                                        Fontrabiouse
    +#> 36                                         Formiguères
    +#> 37                                            Matemale
    +#> 38                                          Puyvalador
    +#> 39                                                Réal
    +#> 40                                          Ayguatébia
    +#> 41                                          Arboussols
    +#> 42                                             Campôme
    +#> 43                                         Canaveilles
    +#> 44                                             Casteil
    +#> 45                                             Catllar
    +#> 46                                 Caudiès-de-Conflent
    +#> 47                                               Sansa
    +#> 48                                               Clara
    +#> 49                                             Codalet
    +#> 50                                               Conat
    +#> 51                               Corneilla-de-Conflent
    +#> 52                                              Escaro
    +#> 53                                  Espira-de-Conflent
    +#> 54                                             Estoher
    +#> 55                                                 Eus
    +#> 56                                             Fillols
    +#> 57                                           Finestret
    +#> 58                                        Fontpédrouse
    +#> 59                                              Fuilla
    +#> 60                                           Glorianes
    +#> 61                                                Joch
    +#> 62                                              Jujols
    +#> 63                                          La Bastide
    +#> 64                                         La Llagonne
    +#> 65                                              Llonat
    +#> 66                                         Marquixanes
    +#> 67                                              Mantet
    +#> 68                                    Molitg-les-Bains
    +#> 69                                              Mosset
    +#> 70                                             Nohèdes
    +#> 71                                                Nyer
    +#> 72                                              Olette
    +#> 73                                             Urbanya
    +#> 74                                             Oreilla
    +#> 75                                                  Py
    +#> 76                                              Planès
    +#> 77                                              Prades
    +#> 78                                             Railleu
    +#> 79                                                 Ria
    +#> 80                                             Rigarda
    +#> 81                                               Rodès
    +#> 82                                        Saint-Marsal
    +#> 83                           Saint-Pierre-dels-Forcats
    +#> 84                                             Sahorre
    +#> 85                                               Sauto
    +#> 86                                            Serdinya
    +#> 87                                            Souanyas
    +#> 88                                            Tarerach
    +#> 89                                            Taurinya
    +#> 90                                   Thuès-Entre-Valls
    +#> 91                                         Baillestavy
    +#> 92                                            Valmanya
    +#> 93                                    Vernet-les-Bains
    +#> 94                            Villefranche-de-Conflent
    +#> 95                                               Vinça
    +#> 96                                              Alénya
    +#> 97                                     Argelès-sur-Mer
    +#> 98                                               Bages
    +#> 99                                              Baixas
    +#> 100                                    Banyuls-sur-Mer
    +#> 101                                Banyuls-dels-Aspres
    +#> 102                                               Baho
    +#> 103                                             Bompas
    +#> 104                                           Brouilla
    +#> 105                                      Boule-d'Amont
    +#> 106                                       Bouleternère
    +#> 107                                          Cabestany
    +#> 108                                              Calce
    +#> 109                                         Calmeilles
    +#> 110                                            Camélas
    +#> 111                                Canet-en-Roussillon
    +#> 112                                            Canohès
    +#> 113                                          Casefabre
    +#> 114                                      Cases-de-Pène
    +#> 115                                          Castelnou
    +#> 116                                            Cerbère
    +#> 117                                             Claira
    +#> 118                                            Corbère
    +#> 119                               Corneilla-la-Rivière
    +#> 120                               Corneilla-del-Vercol
    +#> 121                                          Collioure
    +#> 122                                        Le Barcarès
    +#> 123                                           Le Soler
    +#> 124                                          Le Boulou
    +#> 125                                               Elne
    +#> 126                                   Espira-de-l'Agly
    +#> 127                                            Estagel
    +#> 128                                           Fourques
    +#> 129                                       Ille-sur-Têt
    +#> 130                                Corbère-les-Cabanes
    +#> 131                                Laroque-des-Albères
    +#> 132                                    Latour-Bas-Elne
    +#> 133                                             Llauro
    +#> 134                                             Llupia
    +#> 135                                             Millas
    +#> 136                                          Montescot
    +#> 137                            Montesquieu-des-Albères
    +#> 138                                            Montner
    +#> 139                                         Montauriol
    +#> 140                                            Néfiach
    +#> 141                                                Oms
    +#> 142                                     Opoul-Périllos
    +#> 143                                            Ortaffa
    +#> 144                                              Passa
    +#> 145                                    Palau-del-Vidre
    +#> 146                                       Peyrestortes
    +#> 147                                          Perpignan
    +#> 148                                 Pézilla-la-Rivière
    +#> 149                                                Pia
    +#> 150                                         Pollestres
    +#> 151                                          Ponteilla
    +#> 152                                       Port-Vendres
    +#> 153                                         La Trinité
    +#> 154                                             Caixas
    +#> 155                                         Rivesaltes
    +#> 156                                          Saleilles
    +#> 157                                  Salses-le-Château
    +#> 158                                        Saint-André
    +#> 159                                      Saint-Cyprien
    +#> 160                                       Saint-Estève
    +#> 161                                Saint-Féliu-d'Amont
    +#> 162                                Saint-Féliu-d'Avall
    +#> 163                          Saint-Génis-des-Fontaines
    +#> 164                                    Saint-Hippolyte
    +#> 165                               Saint-Jean-Lasseille
    +#> 166                       Saint-Laurent-de-la-Salanque
    +#> 167                             Saint-Michel-de-Llotes
    +#> 168                                      Saint-Nazaire
    +#> 169                   Sainte-Colombe-de-la-Commanderie
    +#> 170                                Sainte-Marie-la-Mer
    +#> 171                                             Sorède
    +#> 172                                           Tautavel
    +#> 173                                            Terrats
    +#> 174                                              Théza
    +#> 175                                          Toulouges
    +#> 176                                           Tordères
    +#> 177                                         Torreilles
    +#> 178                                          Tresserre
    +#> 179                                          Trouillas
    +#> 180                                              Thuir
    +#> 181                         Villelongue-de-la-Salanque
    +#> 182                             Villelongue-dels-Monts
    +#> 183                                       Villemolaque
    +#> 184                              Villeneuve-la-Rivière
    +#> 185                              Villeneuve-de-la-Raho
    +#> 186                                            Vingrau
    +#> 187                                     Arles-sur-Tech
    +#> 188                                              Céret
    +#> 189                                            Corsavy
    +#> 190                                         Coustouges
    +#> 191                                         Le Perthus
    +#> 192                                            Le Tech
    +#> 193                           Amélie-les-Bains-Palalda
    +#> 194                                           L'Albère
    +#> 195                                           Lamanère
    +#> 196                                         Les Cluses
    +#> 197                                           Montbolo
    +#> 198                                         Montferrer
    +#> 199                               Maureillas-las-Illas
    +#> 200                           Prats-de-Mollo-la-Preste
    +#> 201                                             Reynès
    +#> 202                            Saint-Jean-Pla-de-Corts
    +#> 203                           Saint-Laurent-de-Cerdans
    +#> 204                                        Serralongue
    +#> 205                                            Taillet
    +#> 206                                             Taulis
    +#> 207                                              Vivès
    +#> 208                  Aguaviva / Aiguaviva de Bergantes
    +#> 209          Belmonte de San José / Bellmunt de Mesquí
    +#> 210          La Cañada de Verich / la Canyada de Beric
    +#> 211                         La Codoñera / la Codonyera
    +#> 212                                       La Ginebrosa
    +#> 213                        La Cerollera / la Sorollera
    +#> 214                 Torrevelilla / la Torre de Vilella
    +#> 215                                       Fayón / Faió
    +#> 216                                    Fabara / Favara
    +#> 217                                             Maella
    +#> 218                                   Nonaspe / Nonasp
    +#> 219                                              Fraga
    +#> 220                            Mequinenza / Mequinensa
    +#> 221                                     Zaidín / Saidí
    +#> 222               Torrente de Cinca / Torrent de Cinca
    +#> 223                                   Velilla de Cinca
    +#> 224                                            Albelda
    +#> 225                                             Baells
    +#> 226                                        Camporrells
    +#> 227                        Castillonroy / Castellonroi
    +#> 228                             Alcampell / el Campell
    +#> 229                            Altorricón / el Torricó
    +#> 230                                  Peralta de la Sal
    +#> 231                              San Esteban de Litera
    +#> 232                                             Azanuy
    +#> 233            Tamarite de Litera / Tamarit de Llitera
    +#> 234                              Baldellou / Valdellou
    +#> 235                               Vencillón / Vensilló
    +#> 236                   Arens de Lledó / Arenys de Lledó
    +#> 237                                   Beceite / Beseit
    +#> 238                               Calaceite / Calaceit
    +#> 239                        Fuentespalda / Fontdespatla
    +#> 240                                 Fórnoles / Fórnols
    +#> 241                         La Fresneda / la Freixneda
    +#> 242                                      La Portellada
    +#> 243              Torre del Compte / la Torre del Comte
    +#> 244                    Valdeltormo / la Vall del Tormo
    +#> 245                             Lledó / Lledó d'Algars
    +#> 246                                Mazaleón / Massalió
    +#> 247                                 Monroyo / Montroig
    +#> 248    Peñarroya de Tastavins / Pena-roja de Tastavins
    +#> 249                                  Cretas / Queretes
    +#> 250                                   Ràfels / Ráfales
    +#> 251                      Torre de Arcas / Torredarques
    +#> 252                      Valderrobres / Vall de Roures
    +#> 253                         Valjunquera / Valljunquera
    +#> 254                            Arén / Areny de Noguera
    +#> 255                              Benabarre / Benavarri
    +#> 256                                            Beranuy
    +#> 257                                            Bonansa
    +#> 258                                         Castigaleu
    +#> 259                 Estopiñán del Castillo / Estopanyà
    +#> 260                                  La Puebla de Roda
    +#> 261                              Lascuarre / Lasquarri
    +#> 262                              Laspaúles / Les Paüls
    +#> 263                                Cajigar / Queixigar
    +#> 264                                Montanuy / Montanui
    +#> 265           Puente de Montañana / Pont de Montanyana
    +#> 266                                            Sopeira
    +#> 267                                      Tolva / Tolba
    +#> 268                                    Torre la Ribera
    +#> 269                                            Viacamp
    +#> 270                                            Eivissa
    +#> 271                            Sant Antoni de Portmany
    +#> 272                              Sant Joan de Labritja
    +#> 273                            Sant Josep de sa Talaia
    +#> 274                              Santa Eulària des Riu
    +#> 275                        Sant Francesc de Formentera
    +#> 276                                               Artà
    +#> 277                                          Capdepera
    +#> 278                                            Manacor
    +#> 279                         Sant Llorenç des Cardassar
    +#> 280                                        Son Servera
    +#> 281                                             Alaior
    +#> 282                                         Ciutadella
    +#> 283                                         es Castell
    +#> 284                                        es Mercadal
    +#> 285                                    es Migjorn Gran
    +#> 286                                          Ferreries
    +#> 287                                                Maó
    +#> 288                                         Sant Lluís
    +#> 289                                             Campos
    +#> 290                                           Felanitx
    +#> 291                                          Llucmajor
    +#> 292                                           Santanyí
    +#> 293                                        ses Salines
    +#> 294                                              Palma
    +#> 295                                            Algaida
    +#> 296                                             Ariany
    +#> 297                                            Costitx
    +#> 298                               Lloret de Vistalegre
    +#> 299                                              Llubí
    +#> 300                                  Maria de la Salut
    +#> 301                                           Montuïri
    +#> 302                                               Muro
    +#> 303                                              Petra
    +#> 304                                           Porreres
    +#> 305                                          Sant Joan
    +#> 306                                      Santa Eugènia
    +#> 307                                    Santa Margalida
    +#> 308                                          Sencelles
    +#> 309                                              Sineu
    +#> 310                               Vilafranca de Bonany
    +#> 311                                              Alaró
    +#> 312                                            Alcúdia
    +#> 313                                         Binissalem
    +#> 314                                              Búger
    +#> 315                                           Campanet
    +#> 316                                            Consell
    +#> 317                                               Inca
    +#> 318                                            Lloseta
    +#> 319                                  Mancor de la Vall
    +#> 320                                        sa Cabaneta
    +#> 321                                           sa Pobla
    +#> 322                               Santa Maria del Camí
    +#> 323                                              Selva
    +#> 324                                            Andratx
    +#> 325                                        Banyalbufar
    +#> 326                                            Bunyola
    +#> 327                                             Calvià
    +#> 328                                               Deià
    +#> 329                                               Lluc
    +#> 330                                           Esporles
    +#> 331                                         Estellencs
    +#> 332                                          Fornalutx
    +#> 333                                           Pollença
    +#> 334                                        Puigpunyent
    +#> 335                                             Sóller
    +#> 336                                        Valldemossa
    +#> 337                                        Aiguamúrcia
    +#> 338                                            Alcover
    +#> 339                                               Alió
    +#> 340                                             Bràfim
    +#> 341                                     Cabra del Camp
    +#> 342                                            el Milà
    +#> 343                              el Pla de Santa Maria
    +#> 344                                el Pont d'Armentera
    +#> 345                                         el Rourell
    +#> 346                                      els Garidells
    +#> 347                                 Figuerola del Camp
    +#> 348                                            la Masó
    +#> 349                                            la Riba
    +#> 350                                           Mont-ral
    +#> 351                                          Montferri
    +#> 352                                             Nulles
    +#> 353                                          Puigpelat
    +#> 354                                             Querol
    +#> 355                                            Rodonyà
    +#> 356                                           Vallmoll
    +#> 357                                              Valls
    +#> 358                                        Vila-rodona
    +#> 359                                          Vilabella
    +#> 360                                           Agullana
    +#> 361                                            Albanyà
    +#> 362                            Avinyonet de Puigventós
    +#> 363                                            Bàscara
    +#> 364                                              Biure
    +#> 365                                 Boadella d'Empordà
    +#> 366                                           Borrassà
    +#> 367                                         Cabanelles
    +#> 368                                            Cabanes
    +#> 369                                           Cadaqués
    +#> 370                                            Capmany
    +#> 371                                         Cantallops
    +#> 372                                Castelló d'Empúries
    +#> 373                                Castelló d'Empúries
    +#> 374                                           Cistella
    +#> 375                                             Colera
    +#> 376                                            Darnius
    +#> 377                                   el Far d'Empordà
    +#> 378                                el Port de la Selva
    +#> 379                                            Espolla
    +#> 380                                           Figueres
    +#> 381                                             Fortià
    +#> 382                                           Garrigàs
    +#> 383                                        Garriguella
    +#> 384                                        l'Armentera
    +#> 385                                           l'Escala
    +#> 386                                        la Jonquera
    +#> 387                                    la Selva de Mar
    +#> 388                                           la Vajol
    +#> 389                                             Llançà
    +#> 390                                              Lladó
    +#> 391                                              Llers
    +#> 392                                Maçanet de Cabrenys
    +#> 393                                            Masarac
    +#> 394                                 Mollet de Peralada
    +#> 395                                             Navata
    +#> 396                                              Ordis
    +#> 397                                      Santa Eulàlia
    +#> 398                                    Palau-saverdera
    +#> 399                                                Pau
    +#> 400                                              Marzà
    +#> 401                                           Peralada
    +#> 402                                     Pont de Molins
    +#> 403                                             Pontós
    +#> 404                                            Portbou
    +#> 405                                              Rabós
    +#> 406                                            Riumors
    +#> 407                                              Roses
    +#> 408                              Sant Climent Sescebes
    +#> 409                            Sant Llorenç de la Muga
    +#> 410                              Sant Miquel de Fluvià
    +#> 411                                          Sant Mori
    +#> 412                                 Sant Pere Pescador
    +#> 413                            Santa Llogaia d'Àlguema
    +#> 414                                          Camallera
    +#> 415                                            Siurana
    +#> 416                                           Terrades
    +#> 417                                Torroella de Fluvià
    +#> 418                                           Ventalló
    +#> 419                                         Vila-sacra
    +#> 420                                        Vilabertran
    +#> 421                                          Viladamat
    +#> 422                                           Vilafant
    +#> 423                                          Vilajuïga
    +#> 424                                        Vilamacolum
    +#> 425                                          Vilamalla
    +#> 426                                       Vilamaniscle
    +#> 427                                           Vilanant
    +#> 428                                             Vilaür
    +#> 429                                         Avinyó Nou
    +#> 430                                          la Gornal
    +#> 431                                           la Múnia
    +#> 432                                 el Pla del Penedès
    +#> 433                                          Font-rubí
    +#> 434                                             Gelida
    +#> 435                                         la Granada
    +#> 436                                       les Cabanyes
    +#> 437                               Sant Joan de Mediona
    +#> 438                             Sant Miquel d'Olèrdola
    +#> 439                                Olesa de Bonesvalls
    +#> 440                                   Pacs del Penedès
    +#> 441                                            Pontons
    +#> 442                                         Puigdàlber
    +#> 443                            Sant Cugat Sesgarrigues
    +#> 444                             Sant Llorenç d'Hortons
    +#> 445                                 Sant Martí Sarroca
    +#> 446                          Sant Pere de Riudebitlles
    +#> 447                             Sant Quintí de Mediona
    +#> 448                               Sant Sadurní d'Anoia
    +#> 449                               Santa Fe del Penedès
    +#> 450                       Santa Margarida i els Monjos
    +#> 451                                   Sant Pau d'Ordal
    +#> 452                                         Torrelavit
    +#> 453                                  Torrelles de Foix
    +#> 454                             Vilafranca del Penedès
    +#> 455                                 Vilobí del Penedès
    +#> 456                                               Alàs
    +#> 457                                           Arsèguel
    +#> 458                                           Bassella
    +#> 459                                               Cabó
    +#> 460                                           Ansovell
    +#> 461                                      Coll de Nargó
    +#> 462                                                Bar
    +#> 463                                          Estamariu
    +#> 464                                             Fígols
    +#> 465                                            Tuixent
    +#> 466                                    la Seu d'Urgell
    +#> 467                                            Fórnols
    +#> 468                               Sorribes de la Vansa
    +#> 469                                     Noves de Segre
    +#> 470                                           Anserall
    +#> 471                                         Montferrer
    +#> 472                                             Oliana
    +#> 473                                            Organyà
    +#> 474                                           Peramola
    +#> 475                                el Pla de Sant Tirs
    +#> 476                                   el Pont de Suert
    +#> 477                                           Barruera
    +#> 478                                           Vilaller
    +#> 479                                          Argençola
    +#> 480                                           Bellprat
    +#> 481                                          Canaletes
    +#> 482                                              Calaf
    +#> 483                                            Dusfort
    +#> 484                                         Capellades
    +#> 485                                              Carme
    +#> 486                         Castellfollit de Riubregós
    +#> 487                                         Castellolí
    +#> 488                                             Copons
    +#> 489                                            el Bruc
    +#> 490                           els Hostalets de Pierola
    +#> 491                                   els Prats de Rei
    +#> 492                                           Igualada
    +#> 493                                              Jorba
    +#> 494                                         la Llacuna
    +#> 495                              la Pobla de Claramunt
    +#> 496                              la Torre de Claramunt
    +#> 497                                           Masquefa
    +#> 498                                          Montmaneu
    +#> 499                                              Òdena
    +#> 500                                               Orpí
    +#> 501                                              Piera
    +#> 502                                             Pujalt
    +#> 503                                              Rubió
    +#> 504                                 Sant Martí de Tous
    +#> 505                             Sant Martí Sesgueioles
    +#> 506                              Sant Pere Sallavinera
    +#> 507                         Santa Margarida de Montbui
    +#> 508                            Santa Maria de Miralles
    +#> 509                                   Vallbona d'Anoia
    +#> 510                                            Veciana
    +#> 511                                  Vilanova del Camí
    +#> 512                                 Aguilar de Segarra
    +#> 513                                              Artés
    +#> 514                                             Avinyó
    +#> 515                                          Balsareny
    +#> 516                                             Callús
    +#> 517                                            Cardona
    +#> 518                                          el Borràs
    +#> 519                             Castellfollit del Boix
    +#> 520                                        Castellgalí
    +#> 521                                Castellnou de Bages
    +#> 522                                el Pont de Vilomara
    +#> 523                                          Fonollosa
    +#> 524                                               Gaià
    +#> 525                                            Manresa
    +#> 526                                          Marganell
    +#> 527                            Monistrol de Montserrat
    +#> 528                                               Mura
    +#> 529                                          Navarcles
    +#> 530                                              Navàs
    +#> 531                                           Rajadell
    +#> 532                                            Sallent
    +#> 533                                Sant Feliu Sasserra
    +#> 534                              Sant Fruitós de Bages
    +#> 535                           Sant Joan de Vilatorrada
    +#> 536                                Sant Mateu de Bages
    +#> 537                         Sant Salvador de Guardiola
    +#> 538                           Sant Vicenç de Castellet
    +#> 539                                          Santpedor
    +#> 540                                              Súria
    +#> 541                                          Talamanca
    +#> 542                                            Alforja
    +#> 543                                           Almoster
    +#> 544                                             Arbolí
    +#> 545                                           Botarell
    +#> 546                                           Cambrils
    +#> 547                                          Capafonts
    +#> 548                               Castellvell del Camp
    +#> 549                                          Colldejou
    +#> 550                                         Duesaigües
    +#> 551                                           l'Albiol
    +#> 552                                          l'Aleixar
    +#> 553                                        l'Argentera
    +#> 554                                           la Febró
    +#> 555                                  la Selva del Camp
    +#> 556                                les Borges del Camp
    +#> 557                                          Maspujols
    +#> 558                                 Mont-roig del Camp
    +#> 559                                  Montbrió del Camp
    +#> 560                                             Prades
    +#> 561                                            Pratdip
    +#> 562                                               Reus
    +#> 563                                        Riudecanyes
    +#> 564                                          Riudecols
    +#> 565                                            Riudoms
    +#> 566                                          Vandellòs
    +#> 567                             Vilanova d'Escornalbou
    +#> 568                                          Vilaplana
    +#> 569                                 Vinyols i els Arcs
    +#> 570                                            Aldover
    +#> 571                                   Alfara de Carles
    +#> 572                                         Benifallet
    +#> 573                                           Camarles
    +#> 574                                           Deltebre
    +#> 575                                         el Perelló
    +#> 576                                            l'Aldea
    +#> 577                                   l'Ametlla de Mar
    +#> 578                                          l'Ampolla
    +#> 579                                              Paüls
    +#> 580                                           Roquetes
    +#> 581                                            Tivenys
    +#> 582                                            Tortosa
    +#> 583                                              Xerta
    +#> 584                                             Albons
    +#> 585                                              Begur
    +#> 586                                Bellcaire d'Empordà
    +#> 587                                            Calonge
    +#> 588                                       Platja d'Aro
    +#> 589                                           Colomers
    +#> 590                                              Corçà
    +#> 591                            Sant Sadurní de l'Heura
    +#> 592                                              Foixà
    +#> 593                                        Fontanilles
    +#> 594                                         Garrigoles
    +#> 595                                             Gualta
    +#> 596                                              Jafre
    +#> 597                                la Bisbal d'Empordà
    +#> 598                                            la Pera
    +#> 599                               la Tallada d'Empordà
    +#> 600                                           Mont-ras
    +#> 601                                        Palafrugell
    +#> 602                                            Palamós
    +#> 603                                        Palau-sator
    +#> 604                                               Pals
    +#> 605                                            Parlavà
    +#> 606                                           Regencós
    +#> 607                                              Rupià
    +#> 608                              Sant Feliu de Guíxols
    +#> 609                               Santa Cristina d'Aro
    +#> 610                                      Serra de Daró
    +#> 611                                            Torrent
    +#> 612                               Torroella de Montgrí
    +#> 613                                               Ullà
    +#> 614                                          Ullastret
    +#> 615                                          Ultramort
    +#> 616                                      Vall-llobrega
    +#> 617                                             Verges
    +#> 618                                           Vilopriu
    +#> 619                                          Vulpellac
    +#> 620                                             Abrera
    +#> 621                                             Begues
    +#> 622                                      Castelldefels
    +#> 623                               Castellví de Rosanes
    +#> 624                                           Cervelló
    +#> 625                                           Collbató
    +#> 626                               Corbera de Llobregat
    +#> 627                              Cornellà de Llobregat
    +#> 628                                          el Papiol
    +#> 629                               el Prat de Llobregat
    +#> 630                                       Esparreguera
    +#> 631                             Esplugues de Llobregat
    +#> 632                                               Gavà
    +#> 633                               la Palma de Cervelló
    +#> 634                                          Martorell
    +#> 635                                      Molins de Rei
    +#> 636                                Olesa de Montserrat
    +#> 637                                            Pallejà
    +#> 638                            Sant Andreu de la Barca
    +#> 639                              Sant Boi de Llobregat
    +#> 640                          Sant Climent de Llobregat
    +#> 641                             Sant Esteve Sesrovires
    +#> 642                            Sant Feliu de Llobregat
    +#> 643                                    Sant Joan Despí
    +#> 644                                  Sant Just Desvern
    +#> 645                             Sant Vicenç dels Horts
    +#> 646                           Santa Coloma de Cervelló
    +#> 647                             Torrelles de Llobregat
    +#> 648                                          Vallirana
    +#> 649                                         Viladecans
    +#> 650                                          Albinyana
    +#> 651                               Banyeres del Penedès
    +#> 652                                            Bellvei
    +#> 653                                           Bonastre
    +#> 654                                           Calafell
    +#> 655                                              Cunit
    +#> 656                            la Joncosa del Montmell
    +#> 657                                        el Vendrell
    +#> 658                                            l'Arboç
    +#> 659                              la Bisbal del Penedès
    +#> 660                                Llorenç del Penedès
    +#> 661                                         Masllorenç
    +#> 662                            Sant Jaume dels Domenys
    +#> 663                                        Santa Oliva
    +#> 664                                           Badalona
    +#> 665                                          Barcelona
    +#> 666                          l'Hospitalet de Llobregat
    +#> 667                                Sant Adrià de Besòs
    +#> 668                           Santa Coloma de Gramenet
    +#> 669                                               Avià
    +#> 670                                               Bagà
    +#> 671                                              Berga
    +#> 672                                            Borredà
    +#> 673                                            Capolat
    +#> 674                                          Casserres
    +#> 675                                 Castell de l'Areny
    +#> 676                                 Castellar de n'Hug
    +#> 677                                            Llinars
    +#> 678                                              Cercs
    +#> 679                                             Fígols
    +#> 680                                          Gironella
    +#> 681                                         Gisclareny
    +#> 682                                              Gósol
    +#> 683                              Guardiola de Berguedà
    +#> 684                                        l'Espunyola
    +#> 685                                 la Nou de Berguedà
    +#> 686                                 la Pobla de Lillet
    +#> 687                                            la Quar
    +#> 688                                           Montclar
    +#> 689                                          Montmajor
    +#> 690                                              Olvan
    +#> 691                                          Puig-reig
    +#> 692                                              Sagàs
    +#> 693                                             Saldes
    +#> 694                            Sant Jaume de Frontanyà
    +#> 695                           Sant Julià de Cerdanyola
    +#> 696                              Santa Maria de Merlès
    +#> 697                                          Vallcebre
    +#> 698                                             Vilada
    +#> 699                                          Serrateix
    +#> 700                                                Alp
    +#> 701                                Bellver de Cerdanya
    +#> 702                                             Bolvir
    +#> 703                                                Das
    +#> 704                                    el Vilar d'Urtx
    +#> 705                                                Ger
    +#> 706                                  Guils de Cerdanya
    +#> 707                                                All
    +#> 708                                   Lles de Cerdanya
    +#> 709                                             Llívia
    +#> 710                                           Meranges
    +#> 711                                           Martinet
    +#> 712                                              Prats
    +#> 713                                           Prullans
    +#> 714                                          Puigcerdà
    +#> 715                                    Riu de Cerdanya
    +#> 716                                               Urús
    +#> 717                                Barberà de la Conca
    +#> 718                                         Blancafort
    +#> 719                                             Conesa
    +#> 720                                              Forès
    +#> 721                              l'Espluga de Francolí
    +#> 722                                          les Piles
    +#> 723                                             Llorac
    +#> 724                                          Montblanc
    +#> 725                                          Passanant
    +#> 726                                               Pira
    +#> 727                                            Pontils
    +#> 728                                Rocafort de Queralt
    +#> 729                            Santa Coloma de Queralt
    +#> 730                                             Sarral
    +#> 731                                 Savallà del Comtat
    +#> 732                                              Senan
    +#> 733                                          Solivella
    +#> 734                                          Vallclara
    +#> 735                              Vallfogona de Riucorb
    +#> 736                                 Vilanova de Prades
    +#> 737                                           Vilaverd
    +#> 738                                            Vimbodí
    +#> 739                                          Canyelles
    +#> 740                                           Cubelles
    +#> 741                                           Olivella
    +#> 742                                 Sant Pere de Ribes
    +#> 743                                             Sitges
    +#> 744                               Vilanova i la Geltrú
    +#> 745                                             Arbeca
    +#> 746                                        Bellaguarda
    +#> 747                                             Bovera
    +#> 748                                        Castelldans
    +#> 749                            Cervià de les Garrigues
    +#> 750                                           el Cogul
    +#> 751                                         el Soleràs
    +#> 752                                        el Vilosell
    +#> 753                                       els Omellons
    +#> 754                                          els Torms
    +#> 755                                            Fulleda
    +#> 756                          Granyena de les Garrigues
    +#> 757                                            Juncosa
    +#> 758                                             Juneda
    +#> 759                                          l'Albagés
    +#> 760                                             l'Albi
    +#> 761                                    l'Espluga Calba
    +#> 762                                        la Floresta
    +#> 763                                      La Granadella
    +#> 764                               la Pobla de Cérvoles
    +#> 765                                les Borges Blanques
    +#> 766                                           Puiggròs
    +#> 767                                             Tarrés
    +#> 768                                            Vinaixa
    +#> 769                                         Argelaguer
    +#> 770                                             Besalú
    +#> 771                                              Beuda
    +#> 772                           Castellfollit de la Roca
    +#> 773                               Sant Esteve d'en Bas
    +#> 774                              l'Hostalnou de Bianya
    +#> 775                              les Planes d'Hostoles
    +#> 776                                         les Preses
    +#> 777                                    Maià de Montcal
    +#> 778                                             Mieres
    +#> 779                                           Montagut
    +#> 780                                               Olot
    +#> 781                                           Riudaura
    +#> 782                                   Sales de Llierca
    +#> 783                             Sant Esteve de Llémena
    +#> 784                            Sant Feliu de Pallerols
    +#> 785                                             Juïnyà
    +#> 786                              Sant Jaume de Llierca
    +#> 787                                Sant Joan les Fonts
    +#> 788                                          Santa Pau
    +#> 789                                           Tortellà
    +#> 790                                          Aiguaviva
    +#> 791                                            Bescanó
    +#> 792                                            Bordils
    +#> 793                                          Campllong
    +#> 794                                       Canet d'Adri
    +#> 795                                  Cassà de la Selva
    +#> 796                                              Celrà
    +#> 797                                      Cervià de Ter
    +#> 798                                              Flaçà
    +#> 799                               Fornells de la Selva
    +#> 800                                             Girona
    +#> 801                                               Juià
    +#> 802                                         Llagostera
    +#> 803                                         Llambilles
    +#> 804                                         Madremanya
    +#> 805                                            Medinyà
    +#> 806                                              Quart
    +#> 807                                               Salt
    +#> 808                                  Sant Andreu Salou
    +#> 809                                       Sant Gregori
    +#> 810                                Sant Joan de Mollet
    +#> 811                                Sant Jordi Desvalls
    +#> 812                                Sant Julià de Ramis
    +#> 813                              Sant Martí de Llémena
    +#> 814                                    Sant Martí Vell
    +#> 815                                      Sarrià de Ter
    +#> 816                                        Vilablareix
    +#> 817                                         Viladasens
    +#> 818                                             Alpens
    +#> 819                        Santa Eulàlia de Puig-oriol
    +#> 820                                              Olost
    +#> 821                                             Oristà
    +#> 822                                           Perafita
    +#> 823                                  Prats de Lluçanès
    +#> 824                                Sant Martí d'Albars
    +#> 825                                          Sobremunt
    +#> 826                                             Alella
    +#> 827                                      Arenys de Mar
    +#> 828                                     Arenys de Munt
    +#> 829                                          Argentona
    +#> 830                                     Cabrera de Mar
    +#> 831                                            Cabrils
    +#> 832                                    Caldes d'Estrac
    +#> 833                                            Calella
    +#> 834                                       Canet de Mar
    +#> 835                                            Dosrius
    +#> 836                                          el Masnou
    +#> 837                                     Malgrat de Mar
    +#> 838                                             Mataró
    +#> 839                                            Montgat
    +#> 840                                             Òrrius
    +#> 841                                          Palafolls
    +#> 842                                      Pineda de Mar
    +#> 843                                     Premià de Dalt
    +#> 844                                      Premià de Mar
    +#> 845                          Sant Andreu de Llavaneres
    +#> 846                            Sant Cebrià de Vallalta
    +#> 847                             Sant Iscle de Vallalta
    +#> 848                                    Sant Pol de Mar
    +#> 849                             Sant Vicenç de Montalt
    +#> 850                                      Santa Susanna
    +#> 851                                               Teià
    +#> 852                                              Tiana
    +#> 853                                            Tordera
    +#> 854                                   Vilassar de Dalt
    +#> 855                                    Vilassar de Mar
    +#> 856                                            Calders
    +#> 857                                         Castellcir
    +#> 858                                      Castellterçol
    +#> 859                                        Collsuspina
    +#> 860                                            Granera
    +#> 861                                           l'Estany
    +#> 862                                               Moià
    +#> 863                               Monistrol de Calders
    +#> 864                                 Sant Quirze Safaja
    +#> 865                                  Santa Maria d'Oló
    +#> 866                                            Alcanar
    +#> 867                                            Amposta
    +#> 868                                          Freginals
    +#> 869                                             Godall
    +#> 870                                          la Galera
    +#> 871                                          la Ràpita
    +#> 872                                           la Sénia
    +#> 873                                   Mas de Barberans
    +#> 874                                        Masdenverge
    +#> 875                                Sant Jaume d'Enveja
    +#> 876                                      Santa Bàrbara
    +#> 877                                          Ulldecona
    +#> 878                                               Àger
    +#> 879                                             Albesa
    +#> 880                                            Algerri
    +#> 881                                   Alòs de Balaguer
    +#> 882                                    Artesa de Segre
    +#> 883                                           Balaguer
    +#> 884                                 Bellcaire d'Urgell
    +#> 885                                  Bellmunt d'Urgell
    +#> 886                                         Cabanabona
    +#> 887                                           Camarasa
    +#> 888                               Castelló de Farfanya
    +#> 889                                            Cubells
    +#> 890                                           Foradada
    +#> 891                                   Ivars de Noguera
    +#> 892                                            Gualter
    +#> 893                                   la Sentiu de Sió
    +#> 894                                      les Avellanes
    +#> 895                                         Menàrguens
    +#> 896                                            Montgai
    +#> 897                                             Oliola
    +#> 898                                     Os de Balaguer
    +#> 899                                           Penelles
    +#> 900                                              Ponts
    +#> 901                                           Preixens
    +#> 902                                            Térmens
    +#> 903                                            Tiurana
    +#> 904                                         Torrelameu
    +#> 905                             Vallfogona de Balaguer
    +#> 906                                Vilanova de l'Aguda
    +#> 907                                   Vilanova de Meià
    +#> 908                           els Hostalets de Balenyà
    +#> 909                                        Calldetenes
    +#> 910                                          Centelles
    +#> 911                                           el Brull
    +#> 912                                         Espinelves
    +#> 913                                        Folgueroles
    +#> 914                                               Gurb
    +#> 915                                         l'Esquirol
    +#> 916                                 les Masies de Roda
    +#> 917                             les Masies de Voltregà
    +#> 918                                              Malla
    +#> 919                                            Manlleu
    +#> 920                                         Montesquiu
    +#> 921                                         Muntanyola
    +#> 922                                       Can Branques
    +#> 923                                        Roda de Ter
    +#> 924                                              Rupit
    +#> 925                                             l'Alou
    +#> 926                             Sant Bartomeu del Grau
    +#> 927                               Sant Boi de Lluçanès
    +#> 928                           Sant Hipòlit de Voltregà
    +#> 929                            Sant Julià de Vilatorta
    +#> 930                                           l'Abella
    +#> 931                               Sant Pere de Torelló
    +#> 932                              Sant Quirze de Besora
    +#> 933                            Sant Sadurní d'Osormort
    +#> 934                             Sant Vicenç de Torelló
    +#> 935                          Santa Cecília de Voltregà
    +#> 936                             Santa Eugènia de Berga
    +#> 937                         Santa Eulàlia de Riuprimer
    +#> 938                              Santa Maria de Besora
    +#> 939                                               Seva
    +#> 940                                               Sora
    +#> 941                                           Taradell
    +#> 942                                         Tavèrnoles
    +#> 943                                           Tavertet
    +#> 944                                               Tona
    +#> 945                                            Torelló
    +#> 946                                                Vic
    +#> 947                                              Vidrà
    +#> 948                                           Viladrau
    +#> 949                                    Vilanova de Sau
    +#> 950                                 Abella de la Conca
    +#> 951                                 Guàrdia de Noguera
    +#> 952                                el Pont de Claverol
    +#> 953                                  Gavet de la Conca
    +#> 954                                              Isona
    +#> 955                                  la Pobla de Segur
    +#> 956                               la Torre de Cabdella
    +#> 957                                           Llimiana
    +#> 958                                   Salàs de Pallars
    +#> 959                            Sant Esteve de la Sarga
    +#> 960                                 Sarroca de Bellera
    +#> 961                                          Senterada
    +#> 962                                             Talarn
    +#> 963                                              Tremp
    +#> 964                                              Alins
    +#> 965                                    València d'Àneu
    +#> 966                                    Gerri de la Sal
    +#> 967                                              Espot
    +#> 968                                     Esterri d'Àneu
    +#> 969                                  Esterri de Cardós
    +#> 970                                               Burg
    +#> 971                                la Guingueta d'Àneu
    +#> 972                                           Lladorre
    +#> 973                                           Llavorsí
    +#> 974                                              Rialp
    +#> 975                                            Vilamur
    +#> 976                                               Sort
    +#> 977                                             Tírvia
    +#> 978                                   Ribera de Cardós
    +#> 979                                            Barbens
    +#> 980                                 Bell-lloc d'Urgell
    +#> 981                                            Bellvís
    +#> 982                                Castellnou de Seana
    +#> 983                               el Palau d'Anglesola
    +#> 984                                            el Poal
    +#> 985                                         Fondarella
    +#> 986                                             Golmés
    +#> 987                                     Ivars d'Urgell
    +#> 988                                            Linyola
    +#> 989                                          Miralcamp
    +#> 990                                         Mollerussa
    +#> 991                                            Sidamon
    +#> 992                                        Torregrossa
    +#> 993                                          Vila-sana
    +#> 994                               Vilanova de Bellpuig
    +#> 995                                           Banyoles
    +#> 996                                              Camós
    +#> 997                                 Cornellà del Terri
    +#> 998                                            Crespià
    +#> 999                                          Esponellà
    +#> 1000                                       Fontcoberta
    +#> 1001                                 Palol de Revardit
    +#> 1002                                              Mata
    +#> 1003                          Sant Miquel de Campmajor
    +#> 1004                                           Serinyà
    +#> 1005                                        Vilademuls
    +#> 1006                              Bellmunt del Priorat
    +#> 1007                                           Cabacés
    +#> 1008                                          Capçanes
    +#> 1009                            Cornudella de Montsant
    +#> 1010                                          el Lloar
    +#> 1011                                        el Masroig
    +#> 1012                                          el Molar
    +#> 1013                                      els Guiamets
    +#> 1014                                            Falset
    +#> 1015                                        Gratallops
    +#> 1016                               la Bisbal de Falset
    +#> 1017                                        la Figuera
    +#> 1018                             la Morera de Montsant
    +#> 1019                           la Torre de Fontaubella
    +#> 1020                                   la Vilella Alta
    +#> 1021                                  la Vilella Baixa
    +#> 1022                                             Marçà
    +#> 1023                                          Margalef
    +#> 1024                                          Poboleda
    +#> 1025                                           Porrera
    +#> 1026                             Pradell de la Teixeta
    +#> 1027                               Torroja del Priorat
    +#> 1028                                       Ulldemolins
    +#> 1029                                              Ascó
    +#> 1030                                        Benissanet
    +#> 1031                                              Flix
    +#> 1032                                            Garcia
    +#> 1033                                          Ginestar
    +#> 1034                                   la Palma d'Ebre
    +#> 1035                            la Torre de l'Espanyol
    +#> 1036                                           Miravet
    +#> 1037                                       Móra d'Ebre
    +#> 1038                                      Móra la Nova
    +#> 1039                                          Rasquera
    +#> 1040                                  Riba-roja d'Ebre
    +#> 1041                                           Tivissa
    +#> 1042                                           Vinebre
    +#> 1043                                       Campdevànol
    +#> 1044                                         Campelles
    +#> 1045                                         Camprodon
    +#> 1046                                           Gombrèn
    +#> 1047                                       les Llosses
    +#> 1048                                           Llanars
    +#> 1049                                             Molló
    +#> 1050                                            Ogassa
    +#> 1051                                          Pardines
    +#> 1052                                          Planoles
    +#> 1053                                          Queralbs
    +#> 1054                                   Ribes de Freser
    +#> 1055                                            Ripoll
    +#> 1056                        Sant Joan de les Abadesses
    +#> 1057                              Sant Pau de Segúries
    +#> 1058                                          Setcases
    +#> 1059                                             Toses
    +#> 1060                            Vallfogona de Ripollès
    +#> 1061                                 Vilallonga de Ter
    +#> 1062                                            Biosca
    +#> 1063                                           Cervera
    +#> 1064                                    les Pallargues
    +#> 1065                                           Estaràs
    +#> 1066                                       Granyanella
    +#> 1067                               Granyena de Segarra
    +#> 1068                                          Guissona
    +#> 1069                                            Ivorra
    +#> 1070                                        les Oluges
    +#> 1071                                        Massoteres
    +#> 1072                               Montoliu de Segarra
    +#> 1073                              Montornès de Segarra
    +#> 1074                            Sant Antolí i Vilanova
    +#> 1075                                           Sanaüja
    +#> 1076                            Sant Guim de Freixenet
    +#> 1077                             Sant Guim de la Plana
    +#> 1078                                        Sant Ramon
    +#> 1079                                          Talavera
    +#> 1080                                Tarroja de Segarra
    +#> 1081                                              Torà
    +#> 1082                                         Torrefeta
    +#> 1083                                            Aitona
    +#> 1084                                        Albatàrrec
    +#> 1085                                            Alcanó
    +#> 1086                                          Alcarràs
    +#> 1087                                         Alcoletge
    +#> 1088                                          Alfarràs
    +#> 1089                                             Alfés
    +#> 1090                                          Alguaire
    +#> 1091                                        Almacelles
    +#> 1092                                          Almatret
    +#> 1093                                           Almenar
    +#> 1094                                           Alpicat
    +#> 1095                                  Artesa de Lleida
    +#> 1096                                              Aspa
    +#> 1097                                Benavent de Segrià
    +#> 1098                                           Corbins
    +#> 1099                                        els Alamús
    +#> 1100                                         Gimenells
    +#> 1101                                la Granja d'Escarp
    +#> 1102                                       la Portella
    +#> 1103                                        Llardecans
    +#> 1104                                            Lleida
    +#> 1105                                            Maials
    +#> 1106                                      Massalcoreig
    +#> 1107                                Montoliu de Lleida
    +#> 1108                                Puigverd de Lleida
    +#> 1109                                          Rosselló
    +#> 1110                                 Sarroca de Lleida
    +#> 1111                                             Seròs
    +#> 1112                                             Soses
    +#> 1113                                          Sudanell
    +#> 1114                                            Sunyer
    +#> 1115                                      Torre-serona
    +#> 1116                                       Torrebesses
    +#> 1117                                      Torrefarrera
    +#> 1118                                   Torres de Segre
    +#> 1119                              Vilanova de la Barca
    +#> 1120                                Vilanova de Segrià
    +#> 1121                                              Amer
    +#> 1122                                            Anglès
    +#> 1123                                          Arbúcies
    +#> 1124                                            Blanes
    +#> 1125                                             Breda
    +#> 1126                                          Brunyola
    +#> 1127                               Caldes de Malavella
    +#> 1128                                Fogars de la Selva
    +#> 1129                                         Hostalric
    +#> 1130                                 la Cellera de Ter
    +#> 1131                                     Lloret de Mar
    +#> 1132                                          Massanes
    +#> 1133                               Maçanet de la Selva
    +#> 1134                                              Osor
    +#> 1135                                            Riells
    +#> 1136                                        Riudarenes
    +#> 1137                            Riudellots de la Selva
    +#> 1138                           Sant Feliu de Buixalleu
    +#> 1139                                Sant Hilari Sacalm
    +#> 1140                                           Bonmatí
    +#> 1141                           Santa Coloma de Farners
    +#> 1142                                              Sils
    +#> 1143                                 Sant Martí Sacalm
    +#> 1144                                      Tossa de Mar
    +#> 1145                                          Vidreres
    +#> 1146                                    Vilobí d'Onyar
    +#> 1147                            Castellar de la Ribera
    +#> 1148                              Clariana de Cardener
    +#> 1149                             la Casa Nova de Valls
    +#> 1150                                           la Coma
    +#> 1151                                        la Molsosa
    +#> 1152                                           Lladurs
    +#> 1153                                           Llobera
    +#> 1154                                             Navès
    +#> 1155                                          Cambrils
    +#> 1156                                el Pi de Sant Just
    +#> 1157                                      Sant Climenç
    +#> 1158                                             Pinós
    +#> 1159                                        el Miracle
    +#> 1160                           Sant Llorenç de Morunys
    +#> 1161                                           Solsona
    +#> 1162                                         Altafulla
    +#> 1163                                         Constantí
    +#> 1164                                          Creixell
    +#> 1165                                        el Catllar
    +#> 1166                                         el Morell
    +#> 1167                                    els Pallaresos
    +#> 1168                                        la Canonja
    +#> 1169                                    la Nou de Gaià
    +#> 1170                               la Pobla de Mafumet
    +#> 1171                             la Pobla de Montornès
    +#> 1172                                  la Riera de Gaià
    +#> 1173                                        la Secuita
    +#> 1174                                          Perafort
    +#> 1175                                             Renau
    +#> 1176                                      Roda de Berà
    +#> 1177                                            Salomó
    +#> 1178                                             Salou
    +#> 1179                                         Tarragona
    +#> 1180                                     Torredembarra
    +#> 1181                                  Vespella de Gaià
    +#> 1182                                         Vila-seca
    +#> 1183                               Vilallonga del Camp
    +#> 1184                                             Arnes
    +#> 1185                                             Batea
    +#> 1186                                               Bot
    +#> 1187                                           Caseres
    +#> 1188                                    Corbera d'Ebre
    +#> 1189                                 el Pinell de Brai
    +#> 1190                                           Gandesa
    +#> 1191                                Horta de Sant Joan
    +#> 1192                                      la Fatarella
    +#> 1193                             la Pobla de Massaluca
    +#> 1194                                     Prat de Comte
    +#> 1195                                 Vilalba dels Arcs
    +#> 1196                                          Agramunt
    +#> 1197                                         Anglesola
    +#> 1198                                          Belianes
    +#> 1199                                          Bellpuig
    +#> 1200                                       Castellserà
    +#> 1201                                        Ciutadilla
    +#> 1202                             els Omells de na Gaia
    +#> 1203                                           Guimerà
    +#> 1204                                        la Fuliola
    +#> 1205                                             Maldà
    +#> 1206                                             Nalec
    +#> 1207                                       Ossó de Sió
    +#> 1208                                          Preixana
    +#> 1209                               Puigverd d'Agramunt
    +#> 1210                               Sant Martí de Maldà
    +#> 1211                                           Tàrrega
    +#> 1212                                         Tornabous
    +#> 1213                            Vallbona de les Monges
    +#> 1214                                             Verdú
    +#> 1215                                        Vilagrassa
    +#> 1216                                  Badia del Vallès
    +#> 1217                                Barberà del Vallès
    +#> 1218                              Castellar del Vallès
    +#> 1219                                     Castellbisbal
    +#> 1220                             Cerdanyola del Vallès
    +#> 1221                                           Gallifa
    +#> 1222                                        Matadepera
    +#> 1223                                 Montcada i Reixac
    +#> 1224                          Palau-solità i Plegamans
    +#> 1225                                           Polinyà
    +#> 1226                                         Rellinars
    +#> 1227                                          Ripollet
    +#> 1228                                              Rubí
    +#> 1229                                          Sabadell
    +#> 1230                             Sant Cugat del Vallès
    +#> 1231                               Sant Llorenç Savall
    +#> 1232                            Sant Quirze del Vallès
    +#> 1233                          Santa Perpètua de Mogoda
    +#> 1234                                         Sentmenat
    +#> 1235                                          Terrassa
    +#> 1236                                        Ullastrell
    +#> 1237                                        Vacarisses
    +#> 1238                                     Viladecavalls
    +#> 1239                                        Aiguafreda
    +#> 1240                                            Bigues
    +#> 1241                                 Caldes de Montbui
    +#> 1242                                           Campins
    +#> 1243                                        Canovelles
    +#> 1244                                           Cànoves
    +#> 1245                                          Cardedeu
    +#> 1246                                         el Figaró
    +#> 1247                                       Mosqueroles
    +#> 1248                                        Granollers
    +#> 1249                                            Gualba
    +#> 1250                              l'Ametlla del Vallès
    +#> 1251                                        la Garriga
    +#> 1252                                       la Llagosta
    +#> 1253                                la Roca del Vallès
    +#> 1254                                     Corró d'Avall
    +#> 1255                                     Lliçà d'Amunt
    +#> 1256                                     Lliçà de Vall
    +#> 1257                                Llinars del Vallès
    +#> 1258                                       Martorelles
    +#> 1259                                 Mollet del Vallès
    +#> 1260                                          Montmeló
    +#> 1261                              Montornès del Vallès
    +#> 1262                                          Montseny
    +#> 1263                                 Parets del Vallès
    +#> 1264                          Sant Antoni de Vilamajor
    +#> 1265                                       Sant Celoni
    +#> 1266                       Sant Esteve de Palautordera
    +#> 1267                             Sant Feliu de Codines
    +#> 1268                        Sant Fost de Campsentelles
    +#> 1269                            Sant Pere de Vilamajor
    +#> 1270                          Santa Eulàlia de Ronçana
    +#> 1271                        Santa Maria de Martorelles
    +#> 1272                       Santa Maria de Palautordera
    +#> 1273                                        Tagamanent
    +#> 1274                                      Vallgorguina
    +#> 1275                                       Vallromanes
    +#> 1276                                  Vilalba Sasserra
    +#> 1277                               Vilanova del Vallès
    +#> 1278                                          València
    +#> 1279                                  Alcalà de Xivert
    +#> 1280                                         Benicarló
    +#> 1281                                             Càlig
    +#> 1282                                     Canet lo Roig
    +#> 1283                                 Castell de Cabres
    +#> 1284                               Cervera del Maestre
    +#> 1285                                           la Jana
    +#> 1286                             la Pobla de Benifassà
    +#> 1287                                     la Salzadella
    +#> 1288                             Peníscola / Peñíscola
    +#> 1289                                           Rossell
    +#> 1290                            Sant Jordi / San Jorge
    +#> 1291                                        Sant Mateu
    +#> 1292                                Sant Rafel del Riu
    +#> 1293                         Santa Magdalena de Pulpis
    +#> 1294                                         Traiguera
    +#> 1295                                           Vinaròs
    +#> 1296                                              Xert
    +#> 1297                              Guardamar del Segura
    +#> 1298                                        Crevillent
    +#> 1299                                       Elx / Elche
    +#> 1300                                        Santa Pola
    +#> 1301                            Albalat dels Tarongers
    +#> 1302                              Alfara de la Baronia
    +#> 1303                                 Algar de Palància
    +#> 1304                                  Algímia d'Alfara
    +#> 1305                                         Benavites
    +#> 1306                            Benifairó de les Valls
    +#> 1307                              Canet d'en Berenguer
    +#> 1308                                         Estivella
    +#> 1309                                             Faura
    +#> 1310                                             Gilet
    +#> 1311                                            Petrés
    +#> 1312                                Quart de les Valls
    +#> 1313                                          Quartell
    +#> 1314                                  Sagunt / Sagunto
    +#> 1315                                            Segart
    +#> 1316                                     Torres Torres
    +#> 1317                                        Benaguasil
    +#> 1318                                         Benissanó
    +#> 1319                                            Bétera
    +#> 1320                                           Casinos
    +#> 1321                                          l'Eliana
    +#> 1322                              la Pobla de Vallbona
    +#> 1323                                            Llíria
    +#> 1324                                 Nàquera / Náquera
    +#> 1325                                            Olocau
    +#> 1326                                Riba-roja de Túria
    +#> 1327                                             Serra
    +#> 1328                                       Vilamarxant
    +#> 1329                                             Agres
    +#> 1330                                          Alcoleja
    +#> 1331                                          Alcosser
    +#> 1332                                          Alfafara
    +#> 1333                                         Almudaina
    +#> 1334                                           Balones
    +#> 1335                                           Benasau
    +#> 1336                                         Beniarrés
    +#> 1337                                         Benilloba
    +#> 1338                                          Benillup
    +#> 1339                                       Benimarfull
    +#> 1340                                        Benimassot
    +#> 1341                                        Cocentaina
    +#> 1342                                            Fageca
    +#> 1343                                           Famorca
    +#> 1344                                           Gaianes
    +#> 1345                                             Gorga
    +#> 1346                                l'Alqueria d'Asnar
    +#> 1347                                   l'Orxa / Lorcha
    +#> 1348                                           Millena
    +#> 1349                                     Muro de Alcoy
    +#> 1350                                            Planes
    +#> 1351                                     Quatretondeta
    +#> 1352                                            Tollos
    +#> 1353       el Fondó de les Neus / Hondón de las Nieves
    +#> 1354                             Hondón de los Frailes
    +#> 1355                                 el Pinós / Pinoso
    +#> 1356                                           Algueña
    +#> 1357                                         la Romana
    +#> 1358                                 Monòver / Monóvar
    +#> 1359                                           Novelda
    +#> 1360                                            Petrer
    +#> 1361                                       Castellfort
    +#> 1362                                        Cinctorres
    +#> 1363                                           Forcall
    +#> 1364                                           Herbers
    +#> 1365                                la Mata de Morella
    +#> 1366                                         Todolella
    +#> 1367                                           Morella
    +#> 1368                                         Palanques
    +#> 1369                                Portell de Morella
    +#> 1370                                            Sorita
    +#> 1371                                         Vallibona
    +#> 1372                  Vilafranca / Villafranca del Cid
    +#> 1373                                          Villores
    +#> 1374                                             Agost
    +#> 1375                                            Aigües
    +#> 1376                                Alacant / Alicante
    +#> 1377                                             Busot
    +#> 1378                                       el Campello
    +#> 1379           la Torre de les Maçanes / Torremanzanas
    +#> 1380                                          Mutxamel
    +#> 1381                               Sant Joan d'Alacant
    +#> 1382 Sant Vicent del Raspeig / San Vicente del Raspeig
    +#> 1383                                   Xixona / Jijona
    +#> 1384                                            Costur
    +#> 1385                                        Figueroles
    +#> 1386                                          l'Alcora
    +#> 1387                               les Useres / Useras
    +#> 1388                          Llucena / Lucena del Cid
    +#> 1389                           Vistabella del Maestrat
    +#> 1390                                    Xodos / Chodos
    +#> 1391                                     Alcoi / Alcoy
    +#> 1392                               Banyeres de Mariola
    +#> 1393                                        Benifallim
    +#> 1394                                          Castalla
    +#> 1395                                               Ibi
    +#> 1396                                              Onil
    +#> 1397                                         Penàguila
    +#> 1398                                              Tibi
    +#> 1399                                        Albocàsser
    +#> 1400                                 Ares del Maestrat
    +#> 1401                             Atzeneta del Maestrat
    +#> 1402                                         Benafigos
    +#> 1403                                          Benassal
    +#> 1404                                              Catí
    +#> 1405                                             Culla
    +#> 1406                                     la Serratella
    +#> 1407                              la Torre d'en Besora
    +#> 1408                                             Tírig
    +#> 1409                                    Vilar de Canes
    +#> 1410                                         Beneixama
    +#> 1411                                              Biar
    +#> 1412                 el Camp de Mirra / Campo de Mirra
    +#> 1413                                            Cañada
    +#> 1414                              Albalat dels Sorells
    +#> 1415                               Alboraia / Alboraya
    +#> 1416                                         Albuixech
    +#> 1417                              Alfara del Patriarca
    +#> 1418                                         Almàssera
    +#> 1419                              Bonrepòs i Mirambell
    +#> 1420                                         Burjassot
    +#> 1421                            el Puig de Santa Maria
    +#> 1422                                         Emperador
    +#> 1423                                             Foios
    +#> 1424                                           Godella
    +#> 1425                               la Pobla de Farnals
    +#> 1426                                      Massalfassar
    +#> 1427                                      Massamagrell
    +#> 1428                                           Meliana
    +#> 1429                                Montcada / Moncada
    +#> 1430                                           Museros
    +#> 1431                                           Paterna
    +#> 1432                                             Puçol
    +#> 1433                                       Rafelbunyol
    +#> 1434                                          Rocafort
    +#> 1435                                 Tavernes Blanques
    +#> 1436                                          Vinalesa
    +#> 1437                                           Alaquàs
    +#> 1438                                             Albal
    +#> 1439                                          Alcàsser
    +#> 1440                                            Aldaia
    +#> 1441                                           Alfafar
    +#> 1442                                        Benetússer
    +#> 1443                                       Beniparrell
    +#> 1444                                         Catarroja
    +#> 1445                              Llocnou de la Corona
    +#> 1446                                           Manises
    +#> 1447                                        Massanassa
    +#> 1448                                           Mislata
    +#> 1449                                          Paiporta
    +#> 1450                                           Picanya
    +#> 1451                                         Picassent
    +#> 1452                                   Quart de Poblet
    +#> 1453                                            Sedaví
    +#> 1454                                             Silla
    +#> 1455                                           Torrent
    +#> 1456                                         Xirivella
    +#> 1457                                           Barxeta
    +#> 1458                                            Canals
    +#> 1459                                             Cerdà
    +#> 1460                                        el Genovés
    +#> 1461                                          Estubeny
    +#> 1462                             l'Alcúdia de Crespins
    +#> 1463                             la Font de la Figuera
    +#> 1464                           la Granja de la Costera
    +#> 1465                                 la Llosa de Ranes
    +#> 1466                                  Llanera de Ranes
    +#> 1467                             Llocnou d'en Fenollet
    +#> 1468                                 Moixent / Mogente
    +#> 1469                                           Montesa
    +#> 1470                                           Novetlè
    +#> 1471                                  Rotglà i Corberà
    +#> 1472                                          Torrella
    +#> 1473                                           Vallada
    +#> 1474                                            Vallés
    +#> 1475                                            Xàtiva
    +#> 1476                                          Alcalalí
    +#> 1477                                        Beniarbeig
    +#> 1478                                        Benidoleig
    +#> 1479                                        Benigembla
    +#> 1480                                          Benimeli
    +#> 1481                                           Benissa
    +#> 1482                                              Calp
    +#> 1483                               Castell de Castells
    +#> 1484                                             Dénia
    +#> 1485         el Poble Nou de Benitatxell / Benitachell
    +#> 1486                                el Ràfol d'Almúnia
    +#> 1487                                         el Verger
    +#> 1488                                       els Poblets
    +#> 1489                                    Gata de Gorgos
    +#> 1490                                         l'Atzúbia
    +#> 1491                               Alcalà de la Jovada
    +#> 1492                                     la Vall d'Ebo
    +#> 1493                                           Benialí
    +#> 1494                                             Fleix
    +#> 1495                                            Llíber
    +#> 1496                                             Murla
    +#> 1497                                            Ondara
    +#> 1498                                              Orba
    +#> 1499                                           Parcent
    +#> 1500                                         Pedreguer
    +#> 1501                                              Pego
    +#> 1502                                             Sagra
    +#> 1503                                   Sanet y Negrals
    +#> 1504                                            Senija
    +#> 1505                                           Teulada
    +#> 1506                                            Tormos
    +#> 1507                                     Xàbia / Jávea
    +#> 1508                                              Xaló
    +#> 1509                                             Altea
    +#> 1510                                          Beniardà
    +#> 1511                                          Benidorm
    +#> 1512                                          Benifato
    +#> 1513                                       Benimantell
    +#> 1514                                           Bolulla
    +#> 1515                               Callosa d'en Sarrià
    +#> 1516                                         Confrides
    +#> 1517                           el Castell de Guadalest
    +#> 1518                                         Finestrat
    +#> 1519                                    l'Alfàs del Pi
    +#> 1520                                          la Nucia
    +#> 1521                      la Vila Joiosa / Villajoyosa
    +#> 1522                                            Orxeta
    +#> 1523                                             Polop
    +#> 1524                                            Relleu
    +#> 1525                                             Sella
    +#> 1526                                           Tàrbena
    +#> 1527                                         Almassora
    +#> 1528                            Benicàssim / Benicasim
    +#> 1529                                           Benlloc
    +#> 1530                                           Borriol
    +#> 1531                                           Cabanes
    +#> 1532                              Castelló de la Plana
    +#> 1533                                  la Pobla Tornesa
    +#> 1534                                 Sierra Engarcerán
    +#> 1535                             la Torre d'en Doménec
    +#> 1536                                       Vall d'Alba
    +#> 1537                              les Coves de Vinromà
    +#> 1538                          Orpesa / Oropesa del Mar
    +#> 1539                                 Sant Joan de Moró
    +#> 1540                                       Torreblanca
    +#> 1541                                         Vilafamés
    +#> 1542                                Vilanova d'Alcolea
    +#> 1543                                               Aín
    +#> 1544                                     Alfondeguilla
    +#> 1545                                          Almenara
    +#> 1546                                            Artana
    +#> 1547                                             Betxí
    +#> 1548                               Borriana / Burriana
    +#> 1549                                            Eslida
    +#> 1550                                    Alcudia de Veo
    +#> 1551                                          la Llosa
    +#> 1552                                    la Vall d'Uixó
    +#> 1553                                      la Vilavella
    +#> 1554        les Alqueries / Alquerías del Niño Perdido
    +#> 1555                                           Moncofa
    +#> 1556                                             Nules
    +#> 1557                                              Onda
    +#> 1558                                        Ribesalbes
    +#> 1559                                    Suera / Sueras
    +#> 1560                                             Tales
    +#> 1561                                         Vila-real
    +#> 1562                                 Xilxes / Chilches
    +#> 1563                                           Alberic
    +#> 1564                               Alcàntera de Xúquer
    +#> 1565                                            Alfarb
    +#> 1566                                          Algemesí
    +#> 1567                                           Alginet
    +#> 1568                                            Alzira
    +#> 1569                                           Antella
    +#> 1570                                         Beneixida
    +#> 1571                                          Benifaió
    +#> 1572                                          Benimodo
    +#> 1573                                        Benimuslem
    +#> 1574                                        Carcaixent
    +#> 1575                                            Càrcer
    +#> 1576                                            Carlet
    +#> 1577                                          Castelló
    +#> 1578                                           Catadau
    +#> 1579                                             Cotes
    +#> 1580                                           Gavarda
    +#> 1581                                        Guadassuar
    +#> 1582                                         l'Alcúdia
    +#> 1583                                           l'Énova
    +#> 1584                                   la Pobla Llarga
    +#> 1585                                           Llombai
    +#> 1586                                            Manuel
    +#> 1587                                        Massalavés
    +#> 1588                                 Montroi / Montroy
    +#> 1589                                        Montserrat
    +#> 1590                                       Rafelguaraf
    +#> 1591                                              Real
    +#> 1592                                       Sant Joanet
    +#> 1593                                           Sellent
    +#> 1594                                           Senyera
    +#> 1595                                        Sumacàrcer
    +#> 1596                                             Turís
    +#> 1597                              Albalat de la Ribera
    +#> 1598                                        Almussafes
    +#> 1599                                Benicull de Xúquer
    +#> 1600                                           Corbera
    +#> 1601                                           Cullera
    +#> 1602                                            Favara
    +#> 1603                                         Fortaleny
    +#> 1604                                            Llaurí
    +#> 1605                                 Polinyà de Xúquer
    +#> 1606                                             Riola
    +#> 1607                                           Sollana
    +#> 1608                                             Sueca
    +#> 1609                                              Ador
    +#> 1610                                           Alfauir
    +#> 1611                                          Almiserà
    +#> 1612                                          Almoines
    +#> 1613                                              Barx
    +#> 1614                                       Bellreguard
    +#> 1615                                          Beniarjó
    +#> 1616                         Benifairó de la Valldigna
    +#> 1617                                           Beniflá
    +#> 1618                                        Benirredrà
    +#> 1619                       Castellonet de la Conquesta
    +#> 1620                                            Daimús
    +#> 1621                                 el Real de Gandia
    +#> 1622                                            Gandia
    +#> 1623                             Guardamar de la Safor
    +#> 1624                         l'Alqueria de la Comtessa
    +#> 1625                               la Font d'en Carròs
    +#> 1626                            Llocnou de Sant Jeroni
    +#> 1627                                           Miramar
    +#> 1628                                             Oliva
    +#> 1629                                   Palma de Gandía
    +#> 1630                                           Palmera
    +#> 1631                                             Piles
    +#> 1632                                           Potries
    +#> 1633                                        Rafelcofer
    +#> 1634                                            Ròtova
    +#> 1635                             Simat de la Valldigna
    +#> 1636                          Tavernes de la Valldigna
    +#> 1637                           Vilallonga / Villalonga
    +#> 1638                                            Xeraco
    +#> 1639                                            Xeresa
    +#> 1640                                          Agullent
    +#> 1641                                 Aielo de Malferit
    +#> 1642                                    Aielo de Rugat
    +#> 1643                                           Albaida
    +#> 1644                                         Alfarrasí
    +#> 1645                                Atzeneta d'Albaida
    +#> 1646                                           Bèlgida
    +#> 1647                                            Bellús
    +#> 1648                                         Beniatjar
    +#> 1649                                         Benicolet
    +#> 1650                                         Benigànim
    +#> 1651                                         Benissoda
    +#> 1652                                        Benissuera
    +#> 1653                                         Bocairent
    +#> 1654                                            Bufali
    +#> 1655                                         Carrícola
    +#> 1656                                 Castelló de Rugat
    +#> 1657                                        el Palomar
    +#> 1658                                    Ráfol de Salem
    +#> 1659                           Fontanars dels Alforins
    +#> 1660                                     Guadasséquies
    +#> 1661                                         l'Olleria
    +#> 1662                                  la Pobla del Duc
    +#> 1663                                          Llutxent
    +#> 1664                                       Montaverner
    +#> 1665                         Montitxelvo / Montichelvo
    +#> 1666                                         Ontinyent
    +#> 1667                                              Otos
    +#> 1668                                             Pinet
    +#> 1669                                       Quatretonda
    +#> 1670                                             Rugat
    +#> 1671                                             Salem
    +#> 1672                                           Sempere
    +#> 1673                                         Terrateig
    +#> 1674                                  l'Alguer/Alghero
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/mars.html b/docs/reference/mars.html new file mode 100644 index 0000000..1281d62 --- /dev/null +++ b/docs/reference/mars.html @@ -0,0 +1,554 @@ + +Mars i oceans del mon — mars • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Dades dels mars i oceans del mon, objectes amb etiquetes `place = ocean` o `place = sea`.

    +
    + +
    +

    Ús

    +
    mars
    +
    + +
    +

    Format

    +

    Un data.frame amb dades dels 155 mars i oceans per les següents 8 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    name
    +

    Etiqueta name.

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    alt_name
    +

    Etiqueta alt_name.

    + +
    alt_name:ca
    +

    Etiqueta name.

    + +
    place
    +

    Etiqueta place.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + + +
    +
    +

    Vegeu també

    +

    Altres bases de dades d'exotopònims de referència: + estats, capitals.

    +
    + +
    +

    Exemples

    +
    mars[, c("name:ca", "name", "wikidata")]
    +#>                        name:ca
    +#> 1                Oceà Antàrtic
    +#> 2                   Oceà Àrtic
    +#> 3                Oceà Atlàntic
    +#> 4                   Oceà Índic
    +#> 5                 Oceà Pacífic
    +#> 6                Atlàntic Nord
    +#> 7                 Atlàntic Sud
    +#> 8              Badia de Baffin
    +#> 9              Badia de Hudson
    +#> 10              Badia de James
    +#> 11          Estret de Macassar
    +#> 12                 Golf d'Aden
    +#> 13               Golf d'Alaska
    +#> 14                 Golf d'Oman
    +#> 15          Golf de Califòrnia
    +#> 16              Golf de Guinea
    +#> 17            Golf de Kalamita
    +#> 18               Golf de Mèxic
    +#> 19              Golf de Tomini
    +#> 20             Golf de Tribugà
    +#> 21                 Golf Pèrsic
    +#> 22                    Kattegat
    +#> 23               Mar Adriàtica
    +#> 24                  Mar Balear
    +#> 25                 Mar Bàltica
    +#> 26                  Mar Blanca
    +#> 27              Mar Cantàbrica
    +#> 28                   Mar Carib
    +#> 29                  Mar Càspia
    +#> 30                 Mar d'Åland
    +#> 31               Mar d'Alborán
    +#> 32              Mar d'Amundsen
    +#> 33               Mar d'Andaman
    +#> 34                Mar d'Aràbia
    +#> 35               Mar d'Arafura
    +#> 36                  Mar d'Azov
    +#> 37                Mar d'Icària
    +#> 38               Mar d'Irlanda
    +#> 39              Mar d'Irminger
    +#> 40               Mar d'Okhotsk
    +#> 41                 Mar de Bali
    +#> 42                Mar de Banda
    +#> 43              Mar de Barents
    +#> 44             Mar de Beaufort
    +#> 45       Mar de Bellingshausen
    +#> 46               Mar de Bering
    +#> 47             Mar de Bismarck
    +#> 48                Mar de Bohai
    +#> 49                Mar de Bohol
    +#> 50               Mar de Bòtnia
    +#> 51              Mar de Camotes
    +#> 52              Mar de Cèlebes
    +#> 53                Mar de Creta
    +#> 54                Mar de Davis
    +#> 55     Mar de Dumont d'Urville
    +#> 56                 Mar de Fiji
    +#> 57               Mar de Flores
    +#> 58          Mar de Groenlàndia
    +#> 59            Mar de Halmahera
    +#> 60                 Mar de Java
    +#> 61                 Mar de Kara
    +#> 62                 Mar de Koro
    +#> 63          Mar de l'Arxipèlag
    +#> 64        Mar de la Cooperació
    +#> 65  Mar de la Sibèria Oriental
    +#> 66  Mar de la Sibèria Oriental
    +#> 67   Mar de la Xina Meridional
    +#> 68     Mar de la Xina Oriental
    +#> 69             Mar de Labrador
    +#> 70               Mar de Làptev
    +#> 71              Mar de Lazarev
    +#> 72        Mar de les Filipines
    +#> 73         Mar de les Hèbrides
    +#> 74        Mar de les Lacadives
    +#> 75         Mar de les Moluques
    +#> 76                Mar de Líbia
    +#> 77              Mar de Lincoln
    +#> 78              Mar de Llevant
    +#> 79              Mar de Màrmara
    +#> 80               Mar de Mawson
    +#> 81               Mar de Mirtos
    +#> 82              Mar de Noruega
    +#> 83              Mar de Petxora
    +#> 84        Mar de Riiser-Larsen
    +#> 85                 Mar de Ross
    +#> 86               Mar de Salomó
    +#> 87                Mar de Samar
    +#> 88                 Mar de Savu
    +#> 89               Mar de Scotia
    +#> 90                Mar de Seram
    +#> 91              Mar de Sibuyan
    +#> 92                Mar de Somov
    +#> 93                 Mar de Sulu
    +#> 94             Mar de Tasmània
    +#> 95                Mar de Timor
    +#> 96               Mar de Tràcia
    +#> 97              Mar de Visayas
    +#> 98               Mar de Wadden
    +#> 99               Mar de Wandel
    +#> 100             Mar de Weddell
    +#> 101             Mar del Corall
    +#> 102               Mar del Japó
    +#> 103               Mar del Nord
    +#> 104                Mar del Sud
    +#> 105       Mar dels Cosmonautes
    +#> 106         Mar dels Sargassos
    +#> 107          Mar dels Txuktxis
    +#> 108          Mar dels Txuktxis
    +#> 109                   Mar Egea
    +#> 110                  Mar Groga
    +#> 111       Mar Interior de Seto
    +#> 112                 Mar Jònica
    +#> 113                  Mar Lígur
    +#> 114           Mar Mediterrània
    +#> 115                  Mar Negra
    +#> 116                   Mar Roig
    +#> 117                Mar Tirrena
    +#> 118          Oceà Pacífic Nord
    +#> 119           Oceà Pacífic Sud
    +#> 120          Passatge de Drake
    +#> 121            Riu de la Plata
    +#> 122                  Skagerrak
    +#> 123                       <NA>
    +#> 124                       <NA>
    +#> 125                       <NA>
    +#> 126                       <NA>
    +#> 127                       <NA>
    +#> 128                       <NA>
    +#> 129                       <NA>
    +#> 130                       <NA>
    +#> 131                       <NA>
    +#> 132                       <NA>
    +#> 133                       <NA>
    +#> 134                       <NA>
    +#> 135                       <NA>
    +#> 136                       <NA>
    +#> 137                       <NA>
    +#> 138                       <NA>
    +#> 139                       <NA>
    +#> 140                       <NA>
    +#> 141                       <NA>
    +#> 142                       <NA>
    +#> 143                       <NA>
    +#> 144                       <NA>
    +#> 145                       <NA>
    +#> 146                       <NA>
    +#> 147                       <NA>
    +#> 148                       <NA>
    +#> 149                       <NA>
    +#> 150                       <NA>
    +#>                                                                                                                           name
    +#> 1                                                                                                               Southern Ocean
    +#> 2                                                                                                                 Arctic Ocean
    +#> 3                                                                                                               Atlantic Ocean
    +#> 4                                                                                                                 Indian Ocean
    +#> 5                                                                                                                Pacific Ocean
    +#> 6                                                                                                         North Atlantic Ocean
    +#> 7                                                                                                         South Atlantic Ocean
    +#> 8                                                                                                                   Baffin Bay
    +#> 9                                                                                                                   Hudson Bay
    +#> 10                                                                                                      James Bay / Baie James
    +#> 11                                                                                                              Selat Makassar
    +#> 12                                                                                                                    خليج عدن
    +#> 13                                                                                                              Gulf of Alaska
    +#> 14                                                                                                                   خلیج عمان
    +#> 15                                                                                                          Gulf of California
    +#> 16                                                                                                              Gulf of Guinea
    +#> 17                                                                                                           Каламитский залив
    +#> 18                                                                                                             Golfo de México
    +#> 19                                                                                                                Teluk Tomini
    +#> 20                                                                                                            Golfo de Tribugá
    +#> 21                                                                                                               الخليج العربي
    +#> 22                                                                                                                    Kattegat
    +#> 23                                                                             Jadransko more / Mare Adriatico / Deti Adriatik
    +#> 24                                                                                                                  Mar Balear
    +#> 25  Morze Bałtyckie  - Baltijos jūra - Baltijas jūra -  Läänemeri - Itämeri - Östersjön - Østersøen - Ostsee - Балтийское море
    +#> 26                                                                                                                  Белое море
    +#> 27                                                                                                              Mar Cantábrico
    +#> 28                                                                                                               Caribbean Sea
    +#> 29                                  Каспий теңізі - Hazar deňizi - دریای خزر - Xəzər dənizi - Каспийское море - دریای مازندران
    +#> 30                                                                                                                 Ahvenanmeri
    +#> 31                                                                                                Mar de Alborán / بحر البحران
    +#> 32                                                                                                                Amundsen Sea
    +#> 33                                                                                                                 Andaman Sea
    +#> 34                                                                                                     Arabian Sea / بحر العرب
    +#> 35                                                                                                                 Arafura Sea
    +#> 36                                                                                               Азовське море - Азовское море
    +#> 37                                                                                                              Ικάριο πέλαγος
    +#> 38                                                                                                                   Irish Sea
    +#> 39                                                                                                                Irminger Sea
    +#> 40                                                                                                              Sea of Okhotsk
    +#> 41                                                                                                                   Laut Bali
    +#> 42                                                                                                                  Laut Banda
    +#> 43                                                                                                              Баренцево море
    +#> 44                                                                                                                Beaufort Sea
    +#> 45                                                                                                          Bellingshausen Sea
    +#> 46                                                                                                                  Bering Sea
    +#> 47                                                                                                                Bismarck Sea
    +#> 48                                                                                                                        渤海
    +#> 49                                                                                                                   Bohol Sea
    +#> 50                                                                                                     Selkämeri / Bottenhavet
    +#> 51                                                                                                                 Camotes Sea
    +#> 52                                                                                                                 Celebes Sea
    +#> 53                                                                                                             Κρητικό πέλαγος
    +#> 54                                                                                                                   Davis Sea
    +#> 55                                                                                                        Mer Dumont-d'Urville
    +#> 56                                                                                                                    Fiji Sea
    +#> 57                                                                                                                 Laut Flores
    +#> 58                                                                                                               Greenland Sea
    +#> 59                                                                                                              Laut Halmahera
    +#> 60                                                                                                                   Laut Jawa
    +#> 61                                                                                                                Карское море
    +#> 62                                                                                                                    Koro Sea
    +#> 63                                                                                                                Saaristomeri
    +#> 64                                                                                                           Maro de Kunlaboro
    +#> 65                                                                                                     Восточно-Сибирское море
    +#> 66                                                                                                     Восточно-Сибирское море
    +#> 67                                                                                                             South China Sea
    +#> 68                                                                                                              East China Sea
    +#> 69                                                                                                                Labrador Sea
    +#> 70                                                                                                               Море Лаптевых
    +#> 71                                                                                                             Maro de Lazarev
    +#> 72                                                                                                              Philippine Sea
    +#> 73                                                                                                         Sea of the Hebrides
    +#> 74                                                                                                               Laccadive Sea
    +#> 75                                                                                                                 Molucca Sea
    +#> 76                                                                                                                  Libyan Sea
    +#> 77                                                                                                                 Lincoln Sea
    +#> 78                                                                                                               Levantine Sea
    +#> 79                                                                                                              Marmara Denizi
    +#> 80                                                                                                              Maro de Mawson
    +#> 81                                                                                                              Μυρτώο Πέλαγος
    +#> 82                                                                                                               Norwegian Sea
    +#> 83                                                                                                              Печорское море
    +#> 84                                                                                                       Maro de Riiser-Larsen
    +#> 85                                                                                                                    Ross Sea
    +#> 86                                                                                                                 Solomon Sea
    +#> 87                                                                                                                   Samar Sea
    +#> 88                                                                                                                   Laut Sawu
    +#> 89                                                                                                                  Scotia Sea
    +#> 90                                                                                                                  Laut Seram
    +#> 91                                                                                                                 Sibuyan Sea
    +#> 92                                                                                                               Maro de Somov
    +#> 93                                                                                                                    Sulu Sea
    +#> 94                                                                                                 Te Tai-o-Rehua / Tasman Sea
    +#> 95                                                                                                                  Laut Timor
    +#> 96                                                                                                             Θρακικό Πέλαγος
    +#> 97                                                                                                                 Visayan Sea
    +#> 98                                                                                          Waddenzee / Wattenmeer / Vadehavet
    +#> 99                                                                                                                 Wandelhavet
    +#> 100                                                                                                                Weddell Sea
    +#> 101                                                                                                                  Coral Sea
    +#> 102                                                                                              日本海 / Японское море / 동해
    +#> 103                                                        North Sea / Nordsee / Noordzee / Nordsøen / Nordsjøen / Mer du Nord
    +#> 104                                                                                                                       남해
    +#> 105                                                                                                        Maro de Kosmonaŭtoj
    +#> 106                                                                                                               Sargasso Sea
    +#> 107                                                                                                             Чукотское море
    +#> 108                                                                                                                Chukchi Sea
    +#> 109                                                                                               Αιγαίον Πέλαγος / Ege Denizi
    +#> 110                                                                                                                 Yellow Sea
    +#> 111                                                                                                                   瀬戸内海
    +#> 112                                                                                                                 Ionian Sea
    +#> 113                                                                                                    Mar Ligure / Mer Ligure
    +#> 114                                                                                                          Mediterranean Sea
    +#> 115                                               Чорне море - Marea Neagră - Черно море – Karadeniz - შავი ზღვა - Чёрное море
    +#> 116                                                                                         Mer Rouge / ቀይሕ ባሕሪ / البحر الأحمر
    +#> 117                                                                                             Mar Tirreno / Mer Tyrrhénienne
    +#> 118                                                                                                        North Pacific Ocean
    +#> 119                                                                                                        South Pacific Ocean
    +#> 120                                                                                                              Drake Passage
    +#> 121                                                                                                            Río de la Plata
    +#> 122                                                                                                                  Skagerrak
    +#> 123                                                                                                                     八代海
    +#> 124                                                                                                                     天草灘
    +#> 125                                                                                                  Celtic Sea / Mer Celtique
    +#> 126                                                                                                                Laut Natuna
    +#> 127                                                                                                                 Teluk Bone
    +#> 128                                                                                                            Rogalandsfeltet
    +#> 129                                                                                                                 Brevikflua
    +#> 130                                                                                                                    Klatten
    +#> 131                                                                                                                       Bælt
    +#> 132                                                                                  Inner Seas off the West Coast of Scotland
    +#> 133                                                                                                                  Luzon Sea
    +#> 134                                                                                                                     五島灘
    +#> 135                                                                                                                The Red Sea
    +#> 136                                                                                                                     Sanden
    +#> 137                                                                                         Southeastern Limit of Labrador Sea
    +#> 138                                                                                                                       斎灘
    +#> 139                                                                                                                     安芸灘
    +#> 140                                                                                                           Gulf of Thailand
    +#> 141                                                                                                         Тендрівська затока
    +#> 142                                                                                                              Охотское море
    +#> 143                                                                                                            Pinochet Strait
    +#> 144                                                                                                                     海州湾
    +#> 145                                                                                                              Paso Oglander
    +#> 146                                                                                                                     函館湾
    +#> 147                                                                                                                     영흥만
    +#> 148                                                                                                                Lincoln Sea
    +#> 149                                                                                                    Prince Gustaf Adolf Sea
    +#> 150                                                                                                              Bay of Bengal
    +#>      wikidata
    +#> 1       Q7354
    +#> 2        Q788
    +#> 3         Q97
    +#> 4       Q1239
    +#> 5         Q98
    +#> 6     Q350134
    +#> 7    Q1482804
    +#> 8      Q37040
    +#> 9       Q3040
    +#> 10    Q223810
    +#> 11    Q194477
    +#> 12     Q41837
    +#> 13    Q180531
    +#> 14     Q79948
    +#> 15    Q132811
    +#> 16     Q41430
    +#> 17   Q2026815
    +#> 18     Q12630
    +#> 19   Q1507546
    +#> 20   Q3110256
    +#> 21     Q34675
    +#> 22    Q131716
    +#> 23     Q13924
    +#> 24    Q200712
    +#> 25       Q545
    +#> 26     Q44133
    +#> 27   Q2090594
    +#> 28      Q1247
    +#> 29      Q5484
    +#> 30    Q271043
    +#> 31    Q199408
    +#> 32     Q72154
    +#> 33     Q47632
    +#> 34     Q58705
    +#> 35    Q128880
    +#> 36     Q35000
    +#> 37   Q1640853
    +#> 38     Q41735
    +#> 39   Q1542675
    +#> 40     Q41602
    +#> 41    Q277014
    +#> 42    Q171510
    +#> 43     Q45823
    +#> 44    Q131274
    +#> 45    Q183455
    +#> 46     Q44725
    +#> 47    Q199436
    +#> 48    Q181969
    +#> 49    Q242326
    +#> 50   Q1649939
    +#> 51    Q540179
    +#> 52     Q19270
    +#> 53    Q193149
    +#> 54    Q509321
    +#> 55   Q1391243
    +#> 56   Q2355931
    +#> 57    Q150370
    +#> 58    Q132868
    +#> 59    Q212083
    +#> 60     Q49364
    +#> 61     Q33629
    +#> 62    Q315954
    +#> 63    Q650654
    +#> 64   Q2085564
    +#> 65    Q163434
    +#> 66    Q163434
    +#> 67     Q37660
    +#> 68     Q45341
    +#> 69    Q184189
    +#> 70      Q7988
    +#> 71   Q1576063
    +#> 72    Q159183
    +#> 73   Q1971856
    +#> 74    Q544914
    +#> 75    Q185291
    +#> 76    Q738028
    +#> 77    Q243125
    +#> 78    Q748696
    +#> 79     Q35367
    +#> 80   Q1902276
    +#> 81    Q840427
    +#> 82     Q47545
    +#> 83    Q217501
    +#> 84   Q1576011
    +#> 85    Q164466
    +#> 86    Q199479
    +#> 87    Q392623
    +#> 88    Q193465
    +#> 89    Q204703
    +#> 90    Q210855
    +#> 91    Q594834
    +#> 92   Q1404920
    +#> 93    Q160194
    +#> 94     Q33254
    +#> 95    Q131418
    +#> 96    Q379063
    +#> 97    Q474708
    +#> 98     Q26080
    +#> 99    Q259929
    +#> 100   Q173343
    +#> 101    Q82931
    +#> 102    Q27092
    +#> 103     Q1693
    +#> 104   Q624569
    +#> 105  Q1509546
    +#> 106   Q169274
    +#> 107   Q159252
    +#> 108   Q159252
    +#> 109    Q34575
    +#> 110    Q37960
    +#> 111   Q231312
    +#> 112    Q37495
    +#> 113    Q42820
    +#> 114     Q4918
    +#> 115      Q166
    +#> 116    Q23406
    +#> 117    Q38882
    +#> 118 Q12353254
    +#> 119 Q12355425
    +#> 120   Q143650
    +#> 121    Q35827
    +#> 122     Q1695
    +#> 123    Q49560
    +#> 124  Q3306188
    +#> 125    Q81499
    +#> 126 Q10829960
    +#> 127   Q641148
    +#> 128      <NA>
    +#> 129      <NA>
    +#> 130      <NA>
    +#> 131      <NA>
    +#> 132  Q5762423
    +#> 133      <NA>
    +#> 134 Q11372327
    +#> 135      <NA>
    +#> 136      <NA>
    +#> 137      <NA>
    +#> 138 Q11500419
    +#> 139  Q4302577
    +#> 140   Q131217
    +#> 141  Q2392966
    +#> 142    Q41602
    +#> 143  Q2783226
    +#> 144 Q15939411
    +#> 145  Q5716459
    +#> 146 Q11396019
    +#> 147 Q27245429
    +#> 148   Q243125
    +#> 149  Q2322479
    +#> 150    Q38684
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/missatge_telegram.html b/docs/reference/missatge_telegram.html new file mode 100644 index 0000000..073caa7 --- /dev/null +++ b/docs/reference/missatge_telegram.html @@ -0,0 +1,78 @@ + +Envia un missatge a al grup de Telegram de la Comunitat en catal\u00E0 d'OpenStreetMap — missatge_telegram • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Envia un missatge a al grup de Telegram de la Comunitat en catal\u00E0 d'OpenStreetMap

    +
    + +
    +

    Ús

    +
    missatge_telegram(
    +  missatge = "Hi ha canvis a [monitorOSM](https://osm-catalan.github.io/monitorOSM).",
    +  parse_mode = "Markdown"
    +)
    +
    + +
    +

    Paràmetres

    + + +
    missatge
    +

    Text del missatge.

    + + +
    parse_mode
    +

    El missatge s'interpreta com a Markdown o HTML.

    + +
    + +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/modifica_etiquetes_osm.html b/docs/reference/modifica_etiquetes_osm.html new file mode 100644 index 0000000..e523561 --- /dev/null +++ b/docs/reference/modifica_etiquetes_osm.html @@ -0,0 +1,114 @@ + +Modifica etiquetes a OSM — modifica_etiquetes_osm • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Obre un conjunt de canvis, edita les etiquetes i tanca el conjunt de canvis.

    +
    + +
    +

    Ús

    +
    modifica_etiquetes_osm(x, claus, comentari, ...)
    +
    + +
    +

    Paràmetres

    + + +
    x
    +

    data.frame amb els valors de les etiquetes que s'actualitzaran i les columnes osm_type i osm_id o +(type i id) que identifiquen els objectes d'OSM.

    + + +
    claus
    +

    Claus de les etiquetes que es modificaran. Han de correspondre a columnes d'x.

    + + +
    comentari
    +

    Comentari descriptiu del conjunt de canvis.

    + + +
    ...
    +

    Etiquetes del conjunt de canvis com a paràmetres amb noms (clau = "valor").

    + +
    +
    +

    Valor

    +

    Retorna l'identificador del conjunt de canvis.

    +
    +
    +

    Detalls

    +

    Cal identificar-se amb un usuari d'OSM i els canvis es faran amb aquest usuari i sota la seva responsabilitat.

    +

    Les etiquetes més habituals pels conjunts de canvis inclouen source i hashtags. En el marc del projecte, +monitorOSM, pot ser bona idea afegir el paràmetre hashtags = "monitorOSM" per poder fer un seguiment de les +edicions. Vegeu https://wiki.openstreetmap.org/wiki/Changeset per més detalls.

    +

    OSM és un projecte col·laboratiu on participen milers de persones. Reviseu bé els canvis, consensueu-los amb la +comunitat, afegiu comentaris informatius del conjunt de canvis i feu un bon ús d'aquesta funció.

    +
    +
    +

    Nota

    +

    Modificar les claus osm_type, osm_id, id i type amb aquesta funció pot donar problemes per col·lisions de +noms de columnes d'x i no és recomanat.

    +
    + +
    +

    Exemples

    +
    # Restaura els noms de les comarques dels Països Catalans segons `comarques`
    +if (FALSE) { # \dontrun{
    +modifica_etiquetes_osm(
    +  comarques,
    +  claus = "name",
    +  comentari = "Restaura els noms de les comarques dels Països Catalans", hashtags = "monitorOSM"
    +)
    +} # }
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/municipis.html b/docs/reference/municipis.html new file mode 100644 index 0000000..e205b2e --- /dev/null +++ b/docs/reference/municipis.html @@ -0,0 +1,3516 @@ + +Municipis dels Països Catalans — municipis • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Dades dels municipis dels Països Catalans.

    +
    + +
    +

    Ús

    +
    municipis
    +
    + +
    +

    Detalls

    +

    Alguns noms de municipis tenen duplicats. Per construir noms únics (p. ex. per generar noms de fitxers), podeu usar +paste0(municipis$regio, "-", municipis$name).

    +
    +
    +

    Format

    +

    Un data.frame amb dades dels 1671 municipis per + les següents 9 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    regio
    +

    Subdivisió ["Aran", "CatNord", "Franja", "Illes", "Principat", "PV", "Sardenya"].

    + +
    comarca
    +

    Etiqueta name:ca de la comarca on es troba el municipi.

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    name
    +

    Etiqueta name.

    + +
    wikipedia
    +

    Etiqueta wikipedia.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + +
    admin_level
    +

    Etiqueta admin_level.

    + + +
    +
    +

    Nota

    +

    Les parròquies d'Andorra corresponen a comarques (admin_level = "7") i els pobles no tenen relacions, només +nodes. Els pobles no s'inclouen.

    +
    +
    +

    Vegeu també

    +

    Altres bases de dades de referència: + PPCC, comarques, territoris, + loc_admin_centre_municipis.

    +
    + +
    +

    Exemples

    +
    municipis[, c("name:ca", "regio", "name")]
    +#>                                          name:ca     regio
    +#> 1                                       Alt Aran      Aran
    +#> 2                                          Arres      Aran
    +#> 3                                         Bausén      Aran
    +#> 4                                        Bossòst      Aran
    +#> 5                                        Canejan      Aran
    +#> 6                                      es Bordes      Aran
    +#> 7                                            Lés      Aran
    +#> 8                              Viella i Mitjaran      Aran
    +#> 9                                        Vilamòs      Aran
    +#> 10         Angostrina i Vilanova de les Escaldes   CatNord
    +#> 11                                      Bolquera   CatNord
    +#> 12                                        Dorres   CatNord
    +#> 13                                         Èguet   CatNord
    +#> 14                                          Eina   CatNord
    +#> 15                                        Enveig   CatNord
    +#> 16                                            Er   CatNord
    +#> 17                                       Estavar   CatNord
    +#> 18                      Font-romeu, Odelló i Vià   CatNord
    +#> 19                                  la Cabanassa   CatNord
    +#> 20                             la Guingueta d'Ix   CatNord
    +#> 21                              la Tor de Querol   CatNord
    +#> 22                                           Llo   CatNord
    +#> 23                                     Montlluís   CatNord
    +#> 24                                         Naüja   CatNord
    +#> 25                                         Oceja   CatNord
    +#> 26                             Palau de Cerdanya   CatNord
    +#> 27                                         Porta   CatNord
    +#> 28                                         Portè   CatNord
    +#> 29                                     Sallagosa   CatNord
    +#> 30                                 Santa Llocaia   CatNord
    +#> 31                                     Targasona   CatNord
    +#> 32                                            Ur   CatNord
    +#> 33                                 Vallcebollera   CatNord
    +#> 34                                    els Angles   CatNord
    +#> 35                                  Font-rabiosa   CatNord
    +#> 36                                    Formiguera   CatNord
    +#> 37                                      Matamala   CatNord
    +#> 38                                   Puigbalador   CatNord
    +#> 39                                          Real   CatNord
    +#> 40                            Aiguatèbia i Talau   CatNord
    +#> 41                                      Arboçols   CatNord
    +#> 42                                       Campome   CatNord
    +#> 43                                    Canavelles   CatNord
    +#> 44                             Castell de Vernet   CatNord
    +#> 45                                        Catllà   CatNord
    +#> 46                          Caudiers de Conflent   CatNord
    +#> 47                                         Censà   CatNord
    +#> 48                              Clarà i Villerac   CatNord
    +#> 49                                       Codalet   CatNord
    +#> 50                                         Conat   CatNord
    +#> 51                          Cornellà de Conflent   CatNord
    +#> 52                                        Escaró   CatNord
    +#> 53                            Espirà de Conflent   CatNord
    +#> 54                                        Estoer   CatNord
    +#> 55                                           Eus   CatNord
    +#> 56                                       Fillols   CatNord
    +#> 57                                     Finestret   CatNord
    +#> 58                                   Fontpedrosa   CatNord
    +#> 59                                         Fullà   CatNord
    +#> 60                                     Glorianes   CatNord
    +#> 61                                           Jóc   CatNord
    +#> 62                                        Jújols   CatNord
    +#> 63                                    la Bastida   CatNord
    +#> 64                                    la Llaguna   CatNord
    +#> 65                                     Los Masos   CatNord
    +#> 66                                  Marqueixanes   CatNord
    +#> 67                                        Mentet   CatNord
    +#> 68                                         Molig   CatNord
    +#> 69                                        Mosset   CatNord
    +#> 70                                        Noedes   CatNord
    +#> 71                                          Nyer   CatNord
    +#> 72                                  Oleta i Èvol   CatNord
    +#> 73                                       Orbanyà   CatNord
    +#> 74                                        Orellà   CatNord
    +#> 75                                Pi de Conflent   CatNord
    +#> 76                                        Planès   CatNord
    +#> 77                                         Prada   CatNord
    +#> 78                                        Ralleu   CatNord
    +#> 79                                   Rià i Cirac   CatNord
    +#> 80                                       Rigardà   CatNord
    +#> 81                                         Rodés   CatNord
    +#> 82                                   Sant Marçal   CatNord
    +#> 83                        Sant Pere dels Forcats   CatNord
    +#> 84                                        Saorra   CatNord
    +#> 85                                         Sautó   CatNord
    +#> 86                                      Serdinyà   CatNord
    +#> 87                                       Soanyes   CatNord
    +#> 88                                       Tarerac   CatNord
    +#> 89                                      Taurinyà   CatNord
    +#> 90                             Toès i Entrevalls   CatNord
    +#> 91                                   Vallestàvia   CatNord
    +#> 92                                     Vallmanya   CatNord
    +#> 93                                        Vernet   CatNord
    +#> 94                        Vilafranca de Conflent   CatNord
    +#> 95                                         Vinçà   CatNord
    +#> 96                                       Ansinyà   CatNord
    +#> 97                                     Bellestar   CatNord
    +#> 98                                      Campossí   CatNord
    +#> 99                                      Caramany   CatNord
    +#> 100                                    Cassanyes   CatNord
    +#> 101                         Caudiers de Fenollet   CatNord
    +#> 102                                    Centernac   CatNord
    +#> 103                                     El Viver   CatNord
    +#> 104                                      Felluns   CatNord
    +#> 105                                     Fenollet   CatNord
    +#> 106                                        Fossa   CatNord
    +#> 107                                   l'Esquerda   CatNord
    +#> 108                             la Tor de França   CatNord
    +#> 109                                       lançac   CatNord
    +#> 110                                        Maurí   CatNord
    +#> 111                          Montalban lo Castèl   CatNord
    +#> 112                          Pesillà de Conflent   CatNord
    +#> 113                                     Planeses   CatNord
    +#> 114                              Prats de Sornià   CatNord
    +#> 115                                    Prunyanes   CatNord
    +#> 116                                   Rasigueres   CatNord
    +#> 117                                     Rebollet   CatNord
    +#> 118                       Sant Martí de Fenollet   CatNord
    +#> 119                         Sant Pau de Fenollet   CatNord
    +#> 120                                       Sornià   CatNord
    +#> 121                                    Trevillac   CatNord
    +#> 122                                       Trillà   CatNord
    +#> 123                                         Virà   CatNord
    +#> 124                                       Alenyà   CatNord
    +#> 125                                     Argelers   CatNord
    +#> 126                            Bages de Rosselló   CatNord
    +#> 127                                       Baixàs   CatNord
    +#> 128                        Banyuls de la Marenda   CatNord
    +#> 129                          Banyuls dels Aspres   CatNord
    +#> 130                                          Bao   CatNord
    +#> 131                                       Bompàs   CatNord
    +#> 132                                       Brullà   CatNord
    +#> 133                                 Bula d'Amunt   CatNord
    +#> 134                                  Bulaternera   CatNord
    +#> 135                                    Cabestany   CatNord
    +#> 136                                        Calce   CatNord
    +#> 137                                     Calmella   CatNord
    +#> 138                                      Cameles   CatNord
    +#> 139                            Canet de Rosselló   CatNord
    +#> 140                                       Cànoes   CatNord
    +#> 141                                    Casafabre   CatNord
    +#> 142                                Cases de Pena   CatNord
    +#> 143                                   Castellnou   CatNord
    +#> 144                        Cervera de la Marenda   CatNord
    +#> 145                                       Clairà   CatNord
    +#> 146                          Corbera de Rosselló   CatNord
    +#> 147                        Cornellà de la Ribera   CatNord
    +#> 148                          Cornellà del Bercol   CatNord
    +#> 149                                    Cotlliure   CatNord
    +#> 150                                  el Barcarès   CatNord
    +#> 151                                     el Soler   CatNord
    +#> 152                                      el Voló   CatNord
    +#> 153                                         Elna   CatNord
    +#> 154                             Espirà de l'Aglí   CatNord
    +#> 155                                     Estagell   CatNord
    +#> 156                                      Forques   CatNord
    +#> 157                                         Illa   CatNord
    +#> 158                         la Cabana de Corbera   CatNord
    +#> 159                             la Roca d'Albera   CatNord
    +#> 160                              la Torre d'Elna   CatNord
    +#> 161                                       Llauró   CatNord
    +#> 162                                       Llupià   CatNord
    +#> 163                                      Millars   CatNord
    +#> 164                                    Montescot   CatNord
    +#> 165                          Montesquiu d'Albera   CatNord
    +#> 166                                      Montner   CatNord
    +#> 167                                    Montoriol   CatNord
    +#> 168                                       Nefiac   CatNord
    +#> 169                                          Oms   CatNord
    +#> 170                              Òpol i Perellós   CatNord
    +#> 171                                       Ortafà   CatNord
    +#> 172                                         Paçà   CatNord
    +#> 173                              Palau del Vidre   CatNord
    +#> 174                                 Paretstortes   CatNord
    +#> 175                                     Perpinyà   CatNord
    +#> 176                         Pesillà de la Ribera   CatNord
    +#> 177                                          Pià   CatNord
    +#> 178                                   Pollestres   CatNord
    +#> 179                                     Pontellà   CatNord
    +#> 180                                  Portvendres   CatNord
    +#> 181                             Prunet i Belpuig   CatNord
    +#> 182                                      Queixàs   CatNord
    +#> 183                                   Ribesaltes   CatNord
    +#> 184                                     Salelles   CatNord
    +#> 185                                       Salses   CatNord
    +#> 186                        Sant Andreu de Sureda   CatNord
    +#> 187                      Sant Cebrià de Rosselló   CatNord
    +#> 188                     Sant Esteve del Monestir   CatNord
    +#> 189                           Sant Feliu d'Amunt   CatNord
    +#> 190                           Sant Feliu d'Avall   CatNord
    +#> 191                       Sant Genís de Fontanes   CatNord
    +#> 192                   Sant Hipòlit de la Salanca   CatNord
    +#> 193                           Sant Joan la Cella   CatNord
    +#> 194                   Sant Llorenç de la Salanca   CatNord
    +#> 195                        Sant Miquel de Llotes   CatNord
    +#> 196                      Sant Nazari de Rosselló   CatNord
    +#> 197                         Santa Coloma de Tuïr   CatNord
    +#> 198                           Santa Maria la Mar   CatNord
    +#> 199                                       Sureda   CatNord
    +#> 200                                     Talteüll   CatNord
    +#> 201                                      Terrats   CatNord
    +#> 202                                         Tesà   CatNord
    +#> 203                                      Toluges   CatNord
    +#> 204                                     Torderes   CatNord
    +#> 205                      Torrelles de la Salanca   CatNord
    +#> 206                                    Trasserra   CatNord
    +#> 207                                     Trullars   CatNord
    +#> 208                                         Tuïr   CatNord
    +#> 209                     Vilallonga de la Salanca   CatNord
    +#> 210                        Vilallonga dels Monts   CatNord
    +#> 211                                   Vilamulaca   CatNord
    +#> 212                        Vilanova de la Ribera   CatNord
    +#> 213                              Vilanova de Raò   CatNord
    +#> 214                                      Vingrau   CatNord
    +#> 215                                        Arles   CatNord
    +#> 216                                        Ceret   CatNord
    +#> 217                                     Cortsaví   CatNord
    +#> 218                                      Costoja   CatNord
    +#> 219                                    el Pertús   CatNord
    +#> 220                                       el Tec   CatNord
    +#> 221                  els Banys d'Arles i Palaldà   CatNord
    +#> 222                                     L'Albera   CatNord
    +#> 223                                    la Menera   CatNord
    +#> 224                                   les Cluses   CatNord
    +#> 225                                     Montboló   CatNord
    +#> 226                                   Montferrer   CatNord
    +#> 227                         Morellàs i les Illes   CatNord
    +#> 228                   Prats de Molló i la Presta   CatNord
    +#> 229                                      Reiners   CatNord
    +#> 230                      Sant Joan de Pladecorts   CatNord
    +#> 231                      Sant Llorenç de Cerdans   CatNord
    +#> 232                                  Serrallonga   CatNord
    +#> 233                                       Tellet   CatNord
    +#> 234                                       Teulís   CatNord
    +#> 235                                       Vivers   CatNord
    +#> 236                       Aiguaviva de Bergantes    Franja
    +#> 237                           Bellmunt de Mesquí    Franja
    +#> 238                          la Canyada de Beric    Franja
    +#> 239                                 la Codonyera    Franja
    +#> 240                                 la Ginebrosa    Franja
    +#> 241                                 la Sorollera    Franja
    +#> 242                          la Torre de Vilella    Franja
    +#> 243                                         Faió    Franja
    +#> 244                                       Favara    Franja
    +#> 245                                       Maella    Franja
    +#> 246                                       Nonasp    Franja
    +#> 247                                        Fraga    Franja
    +#> 248                                   Mequinensa    Franja
    +#> 249                                        Saidí    Franja
    +#> 250                             Torrent de Cinca    Franja
    +#> 251                             Vilella de Cinca    Franja
    +#> 252                                      Albelda    Franja
    +#> 253                                       Baells    Franja
    +#> 254                                  Camporrells    Franja
    +#> 255                                 Castellonroi    Franja
    +#> 256                                   el Campell    Franja
    +#> 257                                   el Torricó    Franja
    +#> 258                          Peralta i Calassanç    Franja
    +#> 259                       Sant Esteve de Llitera    Franja
    +#> 260                                Sanui i Alins    Franja
    +#> 261                           Tamarit de Llitera    Franja
    +#> 262                                   Valldellou    Franja
    +#> 263                                     Vensilló    Franja
    +#> 264                              Arenys de Lledó    Franja
    +#> 265                                       Beseit    Franja
    +#> 266                                     Calaceit    Franja
    +#> 267                                 Fontdespatla    Franja
    +#> 268                                      Fórnols    Franja
    +#> 269                                 la Freixneda    Franja
    +#> 270                                la Portellada    Franja
    +#> 271                           la Torre del Comte    Franja
    +#> 272                            la Vall del Tormo    Franja
    +#> 273                               Lledó d'Algars    Franja
    +#> 274                                     Massalió    Franja
    +#> 275                                     Montroig    Franja
    +#> 276                       Pena-roja de Tastavins    Franja
    +#> 277                                     Queretes    Franja
    +#> 278                                       Ràfels    Franja
    +#> 279                                 Torredarques    Franja
    +#> 280                               Vall-de-roures    Franja
    +#> 281                                 Valljunquera    Franja
    +#> 282                             Areny de Noguera    Franja
    +#> 283                                    Benavarri    Franja
    +#> 284                                      Beranui    Franja
    +#> 285                                      Bonansa    Franja
    +#> 286                                   Castigaleu    Franja
    +#> 287                                    Estopanyà    Franja
    +#> 288                                      Isàvena    Franja
    +#> 289                                    Lasquarri    Franja
    +#> 290                                    Les Paüls    Franja
    +#> 291                          Monesma i Queixigar    Franja
    +#> 292                                     Montanui    Franja
    +#> 293                           Pont de Montanyana    Franja
    +#> 294                                      Sopeira    Franja
    +#> 295                                        Tolba    Franja
    +#> 296                                Tor-la-ribera    Franja
    +#> 297                            Viacamp i Lliterà    Franja
    +#> 298                                      Eivissa     Illes
    +#> 299                      Sant Antoni de Portmany     Illes
    +#> 300                        Sant Joan de Labritja     Illes
    +#> 301                      Sant Josep de sa Talaia     Illes
    +#> 302                        Santa Eulària des Riu     Illes
    +#> 303                                   Formentera     Illes
    +#> 304                                         Artà     Illes
    +#> 305                                    Capdepera     Illes
    +#> 306                                      Manacor     Illes
    +#> 307                   Sant Llorenç des Cardassar     Illes
    +#> 308                                  Son Servera     Illes
    +#> 309                                       Alaior     Illes
    +#> 310                                   Ciutadella     Illes
    +#> 311                                   es Castell     Illes
    +#> 312                                  es Mercadal     Illes
    +#> 313                              es Migjorn Gran     Illes
    +#> 314                                    Ferreries     Illes
    +#> 315                                          Maó     Illes
    +#> 316                                   Sant Lluís     Illes
    +#> 317                                       Campos     Illes
    +#> 318                                     Felanitx     Illes
    +#> 319                                    Llucmajor     Illes
    +#> 320                                     Santanyí     Illes
    +#> 321                                  ses Salines     Illes
    +#> 322                                        Palma     Illes
    +#> 323                                      Algaida     Illes
    +#> 324                                       Ariany     Illes
    +#> 325                                      Costitx     Illes
    +#> 326                         Lloret de Vistalegre     Illes
    +#> 327                                        Llubí     Illes
    +#> 328                            Maria de la Salut     Illes
    +#> 329                                     Montuïri     Illes
    +#> 330                                         Muro     Illes
    +#> 331                                        Petra     Illes
    +#> 332                                     Porreres     Illes
    +#> 333                                    Sant Joan     Illes
    +#> 334                                Santa Eugènia     Illes
    +#> 335                              Santa Margalida     Illes
    +#> 336                                    Sencelles     Illes
    +#> 337                                        Sineu     Illes
    +#> 338                         Vilafranca de Bonany     Illes
    +#> 339                                        Alaró     Illes
    +#> 340                                      Alcúdia     Illes
    +#> 341                                   Binissalem     Illes
    +#> 342                                        Búger     Illes
    +#> 343                                     Campanet     Illes
    +#> 344                                      Consell     Illes
    +#> 345                                         Inca     Illes
    +#> 346                                      Lloseta     Illes
    +#> 347                            Mancor de la Vall     Illes
    +#> 348                                     Marratxí     Illes
    +#> 349                                     sa Pobla     Illes
    +#> 350                         Santa Maria del Camí     Illes
    +#> 351                                        Selva     Illes
    +#> 352                                      Andratx     Illes
    +#> 353                                  Banyalbufar     Illes
    +#> 354                                      Bunyola     Illes
    +#> 355                                       Calvià     Illes
    +#> 356                                         Deià     Illes
    +#> 357                                      Escorca     Illes
    +#> 358                                     Esporles     Illes
    +#> 359                                   Estellencs     Illes
    +#> 360                                    Fornalutx     Illes
    +#> 361                                     Pollença     Illes
    +#> 362                                  Puigpunyent     Illes
    +#> 363                                       Sóller     Illes
    +#> 364                                  Valldemossa     Illes
    +#> 365                                  Aiguamúrcia Principat
    +#> 366                                      Alcover Principat
    +#> 367                                         Alió Principat
    +#> 368                                       Bràfim Principat
    +#> 369                               Cabra del Camp Principat
    +#> 370                                      el Milà Principat
    +#> 371                        el Pla de Santa Maria Principat
    +#> 372                          el Pont d'Armentera Principat
    +#> 373                                   el Rourell Principat
    +#> 374                                els Garidells Principat
    +#> 375                           Figuerola del Camp Principat
    +#> 376                                      la Masó Principat
    +#> 377                                      la Riba Principat
    +#> 378                                     Mont-ral Principat
    +#> 379                                    Montferri Principat
    +#> 380                                       Nulles Principat
    +#> 381                                    Puigpelat Principat
    +#> 382                                       Querol Principat
    +#> 383                                      Rodonyà Principat
    +#> 384                                     Vallmoll Principat
    +#> 385                                        Valls Principat
    +#> 386                                  Vila-rodona Principat
    +#> 387                                    Vilabella Principat
    +#> 388                                     Agullana Principat
    +#> 389                                      Albanyà Principat
    +#> 390                      Avinyonet de Puigventós Principat
    +#> 391                                      Bàscara Principat
    +#> 392                                        Biure Principat
    +#> 393                      Boadella i les Escaules Principat
    +#> 394                                     Borrassà Principat
    +#> 395                                   Cabanelles Principat
    +#> 396                                      Cabanes Principat
    +#> 397                                     Cadaqués Principat
    +#> 398                                     Campmany Principat
    +#> 399                                   Cantallops Principat
    +#> 400                          Castelló d'Empúries Principat
    +#> 401                                     Cistella Principat
    +#> 402                                       Colera Principat
    +#> 403                                      Darnius Principat
    +#> 404                             el Far d'Empordà Principat
    +#> 405                          el Port de la Selva Principat
    +#> 406                                      Espolla Principat
    +#> 407                                     Figueres Principat
    +#> 408                                       Fortià Principat
    +#> 409                                     Garrigàs Principat
    +#> 410                                  Garriguella Principat
    +#> 411                                  l'Armentera Principat
    +#> 412                                     l'Escala Principat
    +#> 413                                  la Jonquera Principat
    +#> 414                              la Selva de Mar Principat
    +#> 415                                     la Vajol Principat
    +#> 416                                       Llançà Principat
    +#> 417                              Lledó d'Empordà Principat
    +#> 418                                        Llers Principat
    +#> 419                          Maçanet de Cabrenys Principat
    +#> 420                         Masarac i Vilarnadal Principat
    +#> 421                           Mollet de Peralada Principat
    +#> 422                                       Navata Principat
    +#> 423                                        Ordis Principat
    +#> 424                       Palau de Santa Eulàlia Principat
    +#> 425                              Palau-saverdera Principat
    +#> 426                                          Pau Principat
    +#> 427                               Pedret i Marzà Principat
    +#> 428                                     Peralada Principat
    +#> 429                               Pont de Molins Principat
    +#> 430                                       Pontós Principat
    +#> 431                                      Portbou Principat
    +#> 432                                        Rabós Principat
    +#> 433                                      Riumors Principat
    +#> 434                                        Roses Principat
    +#> 435                        Sant Climent Sescebes Principat
    +#> 436                      Sant Llorenç de la Muga Principat
    +#> 437                        Sant Miquel de Fluvià Principat
    +#> 438                                    Sant Mori Principat
    +#> 439                           Sant Pere Pescador Principat
    +#> 440                      Santa Llogaia d'Àlguema Principat
    +#> 441                  Saus, Camallera i Llampaies Principat
    +#> 442                                      Siurana Principat
    +#> 443                                     Terrades Principat
    +#> 444                          Torroella de Fluvià Principat
    +#> 445                                     Ventalló Principat
    +#> 446                                   Vila-sacra Principat
    +#> 447                                  Vilabertran Principat
    +#> 448                                    Viladamat Principat
    +#> 449                                     Vilafant Principat
    +#> 450                                    Vilajuïga Principat
    +#> 451                                  Vilamacolum Principat
    +#> 452                                    Vilamalla Principat
    +#> 453                                 Vilamaniscle Principat
    +#> 454                                     Vilanant Principat
    +#> 455                                       Vilaür Principat
    +#> 456                        Avinyonet del Penedès Principat
    +#> 457                        Castellet i la Gornal Principat
    +#> 458                        Castellví de la Marca Principat
    +#> 459                           el Pla del Penedès Principat
    +#> 460                                    Font-rubí Principat
    +#> 461                                       Gelida Principat
    +#> 462                                   la Granada Principat
    +#> 463                                 les Cabanyes Principat
    +#> 464                                      Mediona Principat
    +#> 465                                     Olèrdola Principat
    +#> 466                          Olesa de Bonesvalls Principat
    +#> 467                             Pacs del Penedès Principat
    +#> 468                                      Pontons Principat
    +#> 469                                   Puigdàlber Principat
    +#> 470                      Sant Cugat Sesgarrigues Principat
    +#> 471                       Sant Llorenç d'Hortons Principat
    +#> 472                           Sant Martí Sarroca Principat
    +#> 473                    Sant Pere de Riudebitlles Principat
    +#> 474                       Sant Quintí de Mediona Principat
    +#> 475                         Sant Sadurní d'Anoia Principat
    +#> 476                         Santa Fe del Penedès Principat
    +#> 477                 Santa Margarida i els Monjos Principat
    +#> 478                                     Subirats Principat
    +#> 479                           Terrassola i Lavit Principat
    +#> 480                            Torrelles de Foix Principat
    +#> 481                       Vilafranca del Penedès Principat
    +#> 482                           Vilobí del Penedès Principat
    +#> 483                                  Alàs i Cerc Principat
    +#> 484                                     Arsèguel Principat
    +#> 485                                     Bassella Principat
    +#> 486                                         Cabó Principat
    +#> 487                                         Cava Principat
    +#> 488                                Coll de Nargó Principat
    +#> 489                               el Pont de Bar Principat
    +#> 490                                    Estamariu Principat
    +#> 491                              Fígols i Alinyà Principat
    +#> 492                                Josa i Tuixén Principat
    +#> 493                              la Seu d'Urgell Principat
    +#> 494                           la Vansa i Fórnols Principat
    +#> 495                          les Valls d'Aguilar Principat
    +#> 496                          les Valls de Valira Principat
    +#> 497                       Montferrer i Castellbò Principat
    +#> 498                                       Oliana Principat
    +#> 499                                      Organyà Principat
    +#> 500                                     Peramola Principat
    +#> 501                            Ribera d'Urgellet Principat
    +#> 502                             el Pont de Suert Principat
    +#> 503                               la Vall de Boí Principat
    +#> 504                                     Vilaller Principat
    +#> 505                                    Argençola Principat
    +#> 506                                     Bellprat Principat
    +#> 507                              Cabrera d'Anoia Principat
    +#> 508                                        Calaf Principat
    +#> 509                           Calonge de Segarra Principat
    +#> 510                                   Capellades Principat
    +#> 511                                        Carme Principat
    +#> 512                   Castellfollit de Riubregós Principat
    +#> 513                                   Castellolí Principat
    +#> 514                                       Copons Principat
    +#> 515                                      el Bruc Principat
    +#> 516                     els Hostalets de Pierola Principat
    +#> 517                             els Prats de Rei Principat
    +#> 518                                     Igualada Principat
    +#> 519                                        Jorba Principat
    +#> 520                                   la Llacuna Principat
    +#> 521                        la Pobla de Claramunt Principat
    +#> 522                        la Torre de Claramunt Principat
    +#> 523                                     Masquefa Principat
    +#> 524                                    Montmaneu Principat
    +#> 525                                        Òdena Principat
    +#> 526                                         Orpí Principat
    +#> 527                                        Piera Principat
    +#> 528                                       Pujalt Principat
    +#> 529                                        Rubió Principat
    +#> 530                           Sant Martí de Tous Principat
    +#> 531                       Sant Martí Sesgueioles Principat
    +#> 532                        Sant Pere Sallavinera Principat
    +#> 533                   Santa Margarida de Montbui Principat
    +#> 534                      Santa Maria de Miralles Principat
    +#> 535                             Vallbona d'Anoia Principat
    +#> 536                                      Veciana Principat
    +#> 537                            Vilanova del Camí Principat
    +#> 538                           Aguilar de Segarra Principat
    +#> 539                                        Artés Principat
    +#> 540                                       Avinyó Principat
    +#> 541                                    Balsareny Principat
    +#> 542                                       Callús Principat
    +#> 543                                      Cardona Principat
    +#> 544                       Castellbell i el Vilar Principat
    +#> 545                       Castellfollit del Boix Principat
    +#> 546                                  Castellgalí Principat
    +#> 547                          Castellnou de Bages Principat
    +#> 548               el Pont de Vilomara i Rocafort Principat
    +#> 549                                    Fonollosa Principat
    +#> 550                                         Gaià Principat
    +#> 551                                      Manresa Principat
    +#> 552                                    Marganell Principat
    +#> 553                      Monistrol de Montserrat Principat
    +#> 554                                         Mura Principat
    +#> 555                                    Navarcles Principat
    +#> 556                                       Navars Principat
    +#> 557                                     Rajadell Principat
    +#> 558                                      Sallent Principat
    +#> 559                          Sant Feliu Sasserra Principat
    +#> 560                        Sant Fruitós de Bages Principat
    +#> 561                     Sant Joan de Vilatorrada Principat
    +#> 562                          Sant Mateu de Bages Principat
    +#> 563                   Sant Salvador de Guardiola Principat
    +#> 564                     Sant Vicenç de Castellet Principat
    +#> 565                                    Santpedor Principat
    +#> 566                                        Súria Principat
    +#> 567                                    Talamanca Principat
    +#> 568                                      Alforja Principat
    +#> 569                                     Almoster Principat
    +#> 570                                       Arbolí Principat
    +#> 571                                     Botarell Principat
    +#> 572                                     Cambrils Principat
    +#> 573                                    Capafonts Principat
    +#> 574                         Castellvell del Camp Principat
    +#> 575                                    Colldejou Principat
    +#> 576                                   Duesaigües Principat
    +#> 577                                     l'Albiol Principat
    +#> 578                                    l'Aleixar Principat
    +#> 579                                  l'Argentera Principat
    +#> 580                                     la Febró Principat
    +#> 581                            la Selva del Camp Principat
    +#> 582                          les Borges del Camp Principat
    +#> 583                                    Maspujols Principat
    +#> 584                           Mont-roig del Camp Principat
    +#> 585                            Montbrió del Camp Principat
    +#> 586                                       Prades Principat
    +#> 587                                      Pratdip Principat
    +#> 588                                         Reus Principat
    +#> 589                                  Riudecanyes Principat
    +#> 590                                    Riudecols Principat
    +#> 591                                      Riudoms Principat
    +#> 592         Vandellòs i l'Hospitalet de l'Infant Principat
    +#> 593                       Vilanova d'Escornalbou Principat
    +#> 594                                    Vilaplana Principat
    +#> 595                           Vinyols i els Arcs Principat
    +#> 596                                      Aldover Principat
    +#> 597                             Alfara de Carles Principat
    +#> 598                                   Benifallet Principat
    +#> 599                                     Camarles Principat
    +#> 600                                     Deltebre Principat
    +#> 601                                   el Perelló Principat
    +#> 602                                      l'Aldea Principat
    +#> 603                             l'Ametlla de Mar Principat
    +#> 604                                    l'Ampolla Principat
    +#> 605                                        Paüls Principat
    +#> 606                                     Roquetes Principat
    +#> 607                                      Tivenys Principat
    +#> 608                                      Tortosa Principat
    +#> 609                                        Xerta Principat
    +#> 610                                       Albons Principat
    +#> 611                                        Begur Principat
    +#> 612                          Bellcaire d'Empordà Principat
    +#> 613                        Calonge i Sant Antoni Principat
    +#> 614        Castell d'Aro, Platja d'Aro i s'Agaró Principat
    +#> 615                                     Colomers Principat
    +#> 616                                        Corçà Principat
    +#> 617  Cruïlles, Monells i Sant Sadurní de l'Heura Principat
    +#> 618                                        Foixà Principat
    +#> 619                                  Fontanilles Principat
    +#> 620                                   Garrigoles Principat
    +#> 621                                       Gualta Principat
    +#> 622                                        Jafre Principat
    +#> 623                          la Bisbal d'Empordà Principat
    +#> 624                                      la Pera Principat
    +#> 625                         la Tallada d'Empordà Principat
    +#> 626                                     Mont-ras Principat
    +#> 627                                  Palafrugell Principat
    +#> 628                                      Palamós Principat
    +#> 629                                  Palau-sator Principat
    +#> 630                                         Pals Principat
    +#> 631                                      Parlavà Principat
    +#> 632                                     Regencós Principat
    +#> 633                                        Rupià Principat
    +#> 634                        Sant Feliu de Guíxols Principat
    +#> 635                         Santa Cristina d'Aro Principat
    +#> 636                                Serra de Daró Principat
    +#> 637                                      Torrent Principat
    +#> 638                         Torroella de Montgrí Principat
    +#> 639                                         Ullà Principat
    +#> 640                                    Ullastret Principat
    +#> 641                                    Ultramort Principat
    +#> 642                                Vall-llobrega Principat
    +#> 643                                       Verges Principat
    +#> 644                                     Vilopriu Principat
    +#> 645             Vulpellac, Fonteta i Peratallada Principat
    +#> 646                                       Abrera Principat
    +#> 647                                       Begues Principat
    +#> 648                                Castelldefels Principat
    +#> 649                         Castellví de Rosanes Principat
    +#> 650                                     Cervelló Principat
    +#> 651                                     Collbató Principat
    +#> 652                         Corbera de Llobregat Principat
    +#> 653                        Cornellà de Llobregat Principat
    +#> 654                                    el Papiol Principat
    +#> 655                         el Prat de Llobregat Principat
    +#> 656                                 Esparreguera Principat
    +#> 657                       Esplugues de Llobregat Principat
    +#> 658                                         Gavà Principat
    +#> 659                         la Palma de Cervelló Principat
    +#> 660                                    Martorell Principat
    +#> 661                                Molins de Rei Principat
    +#> 662                          Olesa de Montserrat Principat
    +#> 663                                      Pallejà Principat
    +#> 664                      Sant Andreu de la Barca Principat
    +#> 665                        Sant Boi de Llobregat Principat
    +#> 666                    Sant Climent de Llobregat Principat
    +#> 667                       Sant Esteve Sesrovires Principat
    +#> 668                      Sant Feliu de Llobregat Principat
    +#> 669                              Sant Joan Despí Principat
    +#> 670                            Sant Just Desvern Principat
    +#> 671                       Sant Vicenç dels Horts Principat
    +#> 672                     Santa Coloma de Cervelló Principat
    +#> 673                       Torrelles de Llobregat Principat
    +#> 674                                    Vallirana Principat
    +#> 675                                   Viladecans Principat
    +#> 676                                    Albinyana Principat
    +#> 677                         Banyeres del Penedès Principat
    +#> 678                                      Bellvei Principat
    +#> 679                                     Bonastre Principat
    +#> 680                                     Calafell Principat
    +#> 681                                        Cunit Principat
    +#> 682                                  el Montmell Principat
    +#> 683                                  el Vendrell Principat
    +#> 684                                      l'Arboç Principat
    +#> 685                        la Bisbal del Penedès Principat
    +#> 686                          Llorenç del Penedès Principat
    +#> 687                                   Masllorenç Principat
    +#> 688                      Sant Jaume dels Domenys Principat
    +#> 689                                  Santa Oliva Principat
    +#> 690                                     Badalona Principat
    +#> 691                                    Barcelona Principat
    +#> 692                    l'Hospitalet de Llobregat Principat
    +#> 693                          Sant Adrià de Besòs Principat
    +#> 694                     Santa Coloma de Gramenet Principat
    +#> 695                                         Avià Principat
    +#> 696                                         Bagà Principat
    +#> 697                                        Berga Principat
    +#> 698                                      Borredà Principat
    +#> 699                                      Capolat Principat
    +#> 700                                    Casserres Principat
    +#> 701                           Castell de l'Areny Principat
    +#> 702                           Castellar de n'Hug Principat
    +#> 703                            Castellar del Riu Principat
    +#> 704                                        Cercs Principat
    +#> 705                                       Fígols Principat
    +#> 706                                    Gironella Principat
    +#> 707                                   Gisclareny Principat
    +#> 708                                        Gósol Principat
    +#> 709                        Guardiola de Berguedà Principat
    +#> 710                                  l'Espunyola Principat
    +#> 711                           la Nou de Berguedà Principat
    +#> 712                           la Pobla de Lillet Principat
    +#> 713                                      la Quar Principat
    +#> 714                                     Montclar Principat
    +#> 715                                    Montmajor Principat
    +#> 716                                        Olvan Principat
    +#> 717                                    Puig-reig Principat
    +#> 718                                        Sagàs Principat
    +#> 719                                       Saldes Principat
    +#> 720                      Sant Jaume de Frontanyà Principat
    +#> 721                     Sant Julià de Cerdanyola Principat
    +#> 722                        Santa Maria de Merlès Principat
    +#> 723                                    Vallcebre Principat
    +#> 724                                       Vilada Principat
    +#> 725                            Viver i Serrateix Principat
    +#> 726                                          Alp Principat
    +#> 727                          Bellver de Cerdanya Principat
    +#> 728                                       Bolvir Principat
    +#> 729                                          Das Principat
    +#> 730                        Fontanals de Cerdanya Principat
    +#> 731                                          Ger Principat
    +#> 732                            Guils de Cerdanya Principat
    +#> 733                                       Isòvol Principat
    +#> 734                             Lles de Cerdanya Principat
    +#> 735                                       Llívia Principat
    +#> 736                                     Meranges Principat
    +#> 737                          Montellà i Martinet Principat
    +#> 738                               Prats i Sansor Principat
    +#> 739                                     Prullans Principat
    +#> 740                                    Puigcerdà Principat
    +#> 741                              Riu de Cerdanya Principat
    +#> 742                                         Urús Principat
    +#> 743                          Barberà de la Conca Principat
    +#> 744                                   Blancafort Principat
    +#> 745                                       Conesa Principat
    +#> 746                                        Forès Principat
    +#> 747                        l'Espluga de Francolí Principat
    +#> 748                                    les Piles Principat
    +#> 749                                       Llorac Principat
    +#> 750                                    Montblanc Principat
    +#> 751                         Passanant i Belltall Principat
    +#> 752                                         Pira Principat
    +#> 753                                      Pontils Principat
    +#> 754                          Rocafort de Queralt Principat
    +#> 755                      Santa Coloma de Queralt Principat
    +#> 756                                       Sarral Principat
    +#> 757                           Savallà del Comtat Principat
    +#> 758                                        Senan Principat
    +#> 759                                    Solivella Principat
    +#> 760                                    Vallclara Principat
    +#> 761                        Vallfogona de Riucorb Principat
    +#> 762                           Vilanova de Prades Principat
    +#> 763                                     Vilaverd Principat
    +#> 764                             Vimbodí i Poblet Principat
    +#> 765                                    Canyelles Principat
    +#> 766                                     Cubelles Principat
    +#> 767                                     Olivella Principat
    +#> 768                           Sant Pere de Ribes Principat
    +#> 769                                       Sitges Principat
    +#> 770                         Vilanova i la Geltrú Principat
    +#> 771                                       Arbeca Principat
    +#> 772                                  Bellaguarda Principat
    +#> 773                                       Bovera Principat
    +#> 774                                  Castelldans Principat
    +#> 775                      Cervià de les Garrigues Principat
    +#> 776                                     el Cogul Principat
    +#> 777                                   el Soleràs Principat
    +#> 778                                  el Vilosell Principat
    +#> 779                                 els Omellons Principat
    +#> 780                                    els Torms Principat
    +#> 781                                      Fulleda Principat
    +#> 782                    Granyena de les Garrigues Principat
    +#> 783                                      Juncosa Principat
    +#> 784                                       Juneda Principat
    +#> 785                                    l'Albagés Principat
    +#> 786                                       l'Albi Principat
    +#> 787                              l'Espluga Calba Principat
    +#> 788                                  la Floresta Principat
    +#> 789                                la Granadella Principat
    +#> 790                         la Pobla de Cérvoles Principat
    +#> 791                          les Borges Blanques Principat
    +#> 792                                     Puiggròs Principat
    +#> 793                                       Tarrés Principat
    +#> 794                                      Vinaixa Principat
    +#> 795                                   Argelaguer Principat
    +#> 796                                       Besalú Principat
    +#> 797                                        Beuda Principat
    +#> 798                     Castellfollit de la Roca Principat
    +#> 799                             la Vall d'en Bas Principat
    +#> 800                            la Vall de Bianya Principat
    +#> 801                        les Planes d'Hostoles Principat
    +#> 802                                   les Preses Principat
    +#> 803                              Maià de Montcal Principat
    +#> 804                                       Mieres Principat
    +#> 805                               Montagut i Oix Principat
    +#> 806                                         Olot Principat
    +#> 807                                     Riudaura Principat
    +#> 808                             Sales de Llierca Principat
    +#> 809                      Sant Aniol de Finestres Principat
    +#> 810                      Sant Feliu de Pallerols Principat
    +#> 811                                 Sant Ferriol Principat
    +#> 812                        Sant Jaume de Llierca Principat
    +#> 813                          Sant Joan les Fonts Principat
    +#> 814                                    Santa Pau Principat
    +#> 815                                     Tortellà Principat
    +#> 816                                    Aiguaviva Principat
    +#> 817                                      Bescanó Principat
    +#> 818                                      Bordils Principat
    +#> 819                                    Campllong Principat
    +#> 820                                 Canet d'Adri Principat
    +#> 821                            Cassà de la Selva Principat
    +#> 822                                        Celrà Principat
    +#> 823                                Cervià de Ter Principat
    +#> 824                                        Flaçà Principat
    +#> 825                         Fornells de la Selva Principat
    +#> 826                                       Girona Principat
    +#> 827                                         Juià Principat
    +#> 828                                   Llagostera Principat
    +#> 829                                   Llambilles Principat
    +#> 830                                   Madremanya Principat
    +#> 831                                        Quart Principat
    +#> 832                                         Salt Principat
    +#> 833                            Sant Andreu Salou Principat
    +#> 834                                 Sant Gregori Principat
    +#> 835                          Sant Joan de Mollet Principat
    +#> 836                          Sant Jordi Desvalls Principat
    +#> 837                          Sant Julià de Ramis Principat
    +#> 838                        Sant Martí de Llémena Principat
    +#> 839                              Sant Martí Vell Principat
    +#> 840                                Sarrià de Ter Principat
    +#> 841                                  Vilablareix Principat
    +#> 842                                   Viladasens Principat
    +#> 843                                       Alpens Principat
    +#> 844                                        Lluçà Principat
    +#> 845                                        Olost Principat
    +#> 846                                       Oristà Principat
    +#> 847                                     Perafita Principat
    +#> 848                            Prats de Lluçanès Principat
    +#> 849                          Sant Martí d'Albars Principat
    +#> 850                                    Sobremunt Principat
    +#> 851                                       Alella Principat
    +#> 852                                Arenys de Mar Principat
    +#> 853                               Arenys de Munt Principat
    +#> 854                                    Argentona Principat
    +#> 855                               Cabrera de Mar Principat
    +#> 856                                      Cabrils Principat
    +#> 857                              Caldes d'Estrac Principat
    +#> 858                                      Calella Principat
    +#> 859                                 Canet de Mar Principat
    +#> 860                                      Dosrius Principat
    +#> 861                                    el Masnou Principat
    +#> 862                               Malgrat de Mar Principat
    +#> 863                                       Mataró Principat
    +#> 864                                      Montgat Principat
    +#> 865                                       Òrrius Principat
    +#> 866                                    Palafolls Principat
    +#> 867                                Pineda de Mar Principat
    +#> 868                               Premià de Dalt Principat
    +#> 869                                Premià de Mar Principat
    +#> 870                    Sant Andreu de Llavaneres Principat
    +#> 871                      Sant Cebrià de Vallalta Principat
    +#> 872                       Sant Iscle de Vallalta Principat
    +#> 873                              Sant Pol de Mar Principat
    +#> 874                       Sant Vicenç de Montalt Principat
    +#> 875                                Santa Susanna Principat
    +#> 876                                         Teià Principat
    +#> 877                                        Tiana Principat
    +#> 878                                      Tordera Principat
    +#> 879                             Vilassar de Dalt Principat
    +#> 880                              Vilassar de Mar Principat
    +#> 881                                      Calders Principat
    +#> 882                                   Castellcir Principat
    +#> 883                                Castellterçol Principat
    +#> 884                                  Collsuspina Principat
    +#> 885                                      Granera Principat
    +#> 886                                     l'Estany Principat
    +#> 887                                         Moià Principat
    +#> 888                         Monistrol de Calders Principat
    +#> 889                           Sant Quirze Safaja Principat
    +#> 890                            Santa Maria d'Oló Principat
    +#> 891                                      Alcanar Principat
    +#> 892                                      Amposta Principat
    +#> 893                                    Freginals Principat
    +#> 894                                       Godall Principat
    +#> 895                                    la Galera Principat
    +#> 896                                    la Ràpita Principat
    +#> 897                                     la Sénia Principat
    +#> 898                             Mas de Barberans Principat
    +#> 899                                  Masdenverge Principat
    +#> 900                          Sant Jaume d'Enveja Principat
    +#> 901                                Santa Bàrbara Principat
    +#> 902                                    Ulldecona Principat
    +#> 903                                         Àger Principat
    +#> 904                                       Albesa Principat
    +#> 905                                      Algerri Principat
    +#> 906                             Alòs de Balaguer Principat
    +#> 907                              Artesa de Segre Principat
    +#> 908                                     Balaguer Principat
    +#> 909                           Bellcaire d'Urgell Principat
    +#> 910                            Bellmunt d'Urgell Principat
    +#> 911                                   Cabanabona Principat
    +#> 912                                     Camarasa Principat
    +#> 913                         Castelló de Farfanya Principat
    +#> 914                                      Cubells Principat
    +#> 915                                     Foradada Principat
    +#> 916                             Ivars de Noguera Principat
    +#> 917                          la Baronia de Rialb Principat
    +#> 918                             la Sentiu de Sió Principat
    +#> 919                  les Avellanes i Santa Linya Principat
    +#> 920                                   Menàrguens Principat
    +#> 921                                      Montgai Principat
    +#> 922                                       Oliola Principat
    +#> 923                               Os de Balaguer Principat
    +#> 924                                     Penelles Principat
    +#> 925                                        Ponts Principat
    +#> 926                                     Preixens Principat
    +#> 927                                      Térmens Principat
    +#> 928                                      Tiurana Principat
    +#> 929                                   Torrelameu Principat
    +#> 930                       Vallfogona de Balaguer Principat
    +#> 931                          Vilanova de l'Aguda Principat
    +#> 932                             Vilanova de Meià Principat
    +#> 933                                      Balenyà Principat
    +#> 934                                  Calldetenes Principat
    +#> 935                                    Centelles Principat
    +#> 936                                     el Brull Principat
    +#> 937                                   Espinelves Principat
    +#> 938                                  Folgueroles Principat
    +#> 939                                         Gurb Principat
    +#> 940                                   l'Esquirol Principat
    +#> 941                           les Masies de Roda Principat
    +#> 942                       les Masies de Voltregà Principat
    +#> 943                                        Malla Principat
    +#> 944                                      Manlleu Principat
    +#> 945                                   Montesquiu Principat
    +#> 946                                   Muntanyola Principat
    +#> 947                                         Orís Principat
    +#> 948                                  Roda de Ter Principat
    +#> 949                                Rupit i Pruit Principat
    +#> 950                      Sant Agustí de Lluçanès Principat
    +#> 951                       Sant Bartomeu del Grau Principat
    +#> 952                         Sant Boi de Lluçanès Principat
    +#> 953                     Sant Hipòlit de Voltregà Principat
    +#> 954                      Sant Julià de Vilatorta Principat
    +#> 955                      Sant Martí de Centelles Principat
    +#> 956                         Sant Pere de Torelló Principat
    +#> 957                        Sant Quirze de Besora Principat
    +#> 958                      Sant Sadurní d'Osormort Principat
    +#> 959                       Sant Vicenç de Torelló Principat
    +#> 960                    Santa Cecília de Voltregà Principat
    +#> 961                       Santa Eugènia de Berga Principat
    +#> 962                   Santa Eulàlia de Riuprimer Principat
    +#> 963                        Santa Maria de Besora Principat
    +#> 964                                         Seva Principat
    +#> 965                                         Sora Principat
    +#> 966                                     Taradell Principat
    +#> 967                                   Tavèrnoles Principat
    +#> 968                                     Tavertet Principat
    +#> 969                                         Tona Principat
    +#> 970                                      Torelló Principat
    +#> 971                                          Vic Principat
    +#> 972                                        Vidrà Principat
    +#> 973                                     Viladrau Principat
    +#> 974                              Vilanova de Sau Principat
    +#> 975                           Abella de la Conca Principat
    +#> 976                               Castell de Mur Principat
    +#> 977                                Conca de Dalt Principat
    +#> 978                            Gavet de la Conca Principat
    +#> 979                          Isona i Conca Dellà Principat
    +#> 980                            la Pobla de Segur Principat
    +#> 981                         la Torre de Cabdella Principat
    +#> 982                                     Llimiana Principat
    +#> 983                             Salàs de Pallars Principat
    +#> 984                      Sant Esteve de la Sarga Principat
    +#> 985                           Sarroca de Bellera Principat
    +#> 986                                    Senterada Principat
    +#> 987                                       Talarn Principat
    +#> 988                                        Tremp Principat
    +#> 989                                        Alins Principat
    +#> 990                                     Alt Àneu Principat
    +#> 991                                 Baix Pallars Principat
    +#> 992                                        Espot Principat
    +#> 993                               Esterri d'Àneu Principat
    +#> 994                            Esterri de Cardós Principat
    +#> 995                                      Farrera Principat
    +#> 996                          la Guingueta d'Àneu Principat
    +#> 997                                     Lladorre Principat
    +#> 998                                     Llavorsí Principat
    +#> 999                                        Rialb Principat
    +#> 1000                                   Soriguera Principat
    +#> 1001                                        Sort Principat
    +#> 1002                                      Tírvia Principat
    +#> 1003                              Vall de Cardós Principat
    +#> 1004                                     Barbens Principat
    +#> 1005                          Bell-lloc d'Urgell Principat
    +#> 1006                                     Bellvís Principat
    +#> 1007                         Castellnou de Seana Principat
    +#> 1008                        el Palau d'Anglesola Principat
    +#> 1009                                     el Poal Principat
    +#> 1010                                  Fondarella Principat
    +#> 1011                                      Golmés Principat
    +#> 1012                              Ivars d'Urgell Principat
    +#> 1013                                     Linyola Principat
    +#> 1014                                   Miralcamp Principat
    +#> 1015                                  Mollerussa Principat
    +#> 1016                                     Sidamon Principat
    +#> 1017                                 Torregrossa Principat
    +#> 1018                                   Vila-sana Principat
    +#> 1019                        Vilanova de Bellpuig Principat
    +#> 1020                                    Banyoles Principat
    +#> 1021                                       Camós Principat
    +#> 1022                          Cornellà del Terri Principat
    +#> 1023                                     Crespià Principat
    +#> 1024                                   Esponellà Principat
    +#> 1025                                 Fontcoberta Principat
    +#> 1026                           Palol de Revardit Principat
    +#> 1027                                   Porqueres Principat
    +#> 1028                    Sant Miquel de Campmajor Principat
    +#> 1029                                     Serinyà Principat
    +#> 1030                                  Vilademuls Principat
    +#> 1031                        Bellmunt del Priorat Principat
    +#> 1032                                   Cabassers Principat
    +#> 1033                                    Capçanes Principat
    +#> 1034                      Cornudella de Montsant Principat
    +#> 1035                                    el Lloar Principat
    +#> 1036                                  el Masroig Principat
    +#> 1037                                    el Molar Principat
    +#> 1038                                els Guiamets Principat
    +#> 1039                                      Falset Principat
    +#> 1040                                  Gratallops Principat
    +#> 1041                       la Bisbal de Montsant Principat
    +#> 1042                                  la Figuera Principat
    +#> 1043                       la Morera de Montsant Principat
    +#> 1044                     la Torre de Fontaubella Principat
    +#> 1045                             la Vilella Alta Principat
    +#> 1046                            la Vilella Baixa Principat
    +#> 1047                                       Marçà Principat
    +#> 1048                                    Margalef Principat
    +#> 1049                                    Poboleda Principat
    +#> 1050                                     Porrera Principat
    +#> 1051                       Pradell de la Teixeta Principat
    +#> 1052                         Torroja del Priorat Principat
    +#> 1053                                 Ulldemolins Principat
    +#> 1054                                        Ascó Principat
    +#> 1055                                  Benissanet Principat
    +#> 1056                                        Flix Principat
    +#> 1057                                      Garcia Principat
    +#> 1058                                    Ginestar Principat
    +#> 1059                             la Palma d'Ebre Principat
    +#> 1060                      la Torre de l'Espanyol Principat
    +#> 1061                                     Miravet Principat
    +#> 1062                                 Móra d'Ebre Principat
    +#> 1063                                Móra la Nova Principat
    +#> 1064                                    Rasquera Principat
    +#> 1065                            Riba-roja d'Ebre Principat
    +#> 1066                                     Tivissa Principat
    +#> 1067                                     Vinebre Principat
    +#> 1068                                 Campdevànol Principat
    +#> 1069                                   Campelles Principat
    +#> 1070                                   Camprodon Principat
    +#> 1071                                     Gombrèn Principat
    +#> 1072                                 les Llosses Principat
    +#> 1073                                     Llanars Principat
    +#> 1074                                       Molló Principat
    +#> 1075                                      Ogassa Principat
    +#> 1076                                    Pardines Principat
    +#> 1077                                    Planoles Principat
    +#> 1078                                    Queralbs Principat
    +#> 1079                             Ribes de Freser Principat
    +#> 1080                                      Ripoll Principat
    +#> 1081                  Sant Joan de les Abadesses Principat
    +#> 1082                        Sant Pau de Segúries Principat
    +#> 1083                                    Setcases Principat
    +#> 1084                                       Toses Principat
    +#> 1085                      Vallfogona de Ripollès Principat
    +#> 1086                           Vilallonga de Ter Principat
    +#> 1087                                      Biosca Principat
    +#> 1088                                     Cervera Principat
    +#> 1089                            els Plans de Sió Principat
    +#> 1090                                     Estaràs Principat
    +#> 1091                                 Granyanella Principat
    +#> 1092                         Granyena de Segarra Principat
    +#> 1093                                    Guissona Principat
    +#> 1094                                      Ivorra Principat
    +#> 1095                                  les Oluges Principat
    +#> 1096                                  Massoteres Principat
    +#> 1097                         Montoliu de Segarra Principat
    +#> 1098                        Montornès de Segarra Principat
    +#> 1099                             Ribera d'Ondara Principat
    +#> 1100                                     Sanaüja Principat
    +#> 1101                      Sant Guim de Freixenet Principat
    +#> 1102                       Sant Guim de la Plana Principat
    +#> 1103                                  Sant Ramon Principat
    +#> 1104                                    Talavera Principat
    +#> 1105                          Tarroja de Segarra Principat
    +#> 1106                                        Torà Principat
    +#> 1107                       Torrefeta i Florejacs Principat
    +#> 1108                                      Aitona Principat
    +#> 1109                                  Albatàrrec Principat
    +#> 1110                                      Alcanó Principat
    +#> 1111                                    Alcarràs Principat
    +#> 1112                                   Alcoletge Principat
    +#> 1113                                    Alfarràs Principat
    +#> 1114                                       Alfés Principat
    +#> 1115                                    Alguaire Principat
    +#> 1116                                  Almacelles Principat
    +#> 1117                                    Almatret Principat
    +#> 1118                                     Almenar Principat
    +#> 1119                                     Alpicat Principat
    +#> 1120                            Artesa de Lleida Principat
    +#> 1121                                        Aspa Principat
    +#> 1122                          Benavent de Segrià Principat
    +#> 1123                                     Corbins Principat
    +#> 1124                                  els Alamús Principat
    +#> 1125               Gimenells i el Pla de la Font Principat
    +#> 1126                          la Granja d'Escarp Principat
    +#> 1127                                 la Portella Principat
    +#> 1128                                  Llardecans Principat
    +#> 1129                                      Lleida Principat
    +#> 1130                                      Maials Principat
    +#> 1131                                Massalcoreig Principat
    +#> 1132                          Montoliu de Lleida Principat
    +#> 1133                          Puigverd de Lleida Principat
    +#> 1134                                    Rosselló Principat
    +#> 1135                           Sarroca de Lleida Principat
    +#> 1136                                       Seròs Principat
    +#> 1137                                       Soses Principat
    +#> 1138                                    Sudanell Principat
    +#> 1139                                      Sunyer Principat
    +#> 1140                                Torre-serona Principat
    +#> 1141                                 Torrebesses Principat
    +#> 1142                                Torrefarrera Principat
    +#> 1143                             Torres de Segre Principat
    +#> 1144                        Vilanova de la Barca Principat
    +#> 1145                          Vilanova de Segrià Principat
    +#> 1146                                        Amer Principat
    +#> 1147                                      Anglès Principat
    +#> 1148                                    Arbúcies Principat
    +#> 1149                                      Blanes Principat
    +#> 1150                                       Breda Principat
    +#> 1151               Brunyola i Sant Martí Sapresa Principat
    +#> 1152                         Caldes de Malavella Principat
    +#> 1153                          Fogars de la Selva Principat
    +#> 1154                                   Hostalric Principat
    +#> 1155                           la Cellera de Ter Principat
    +#> 1156                               Lloret de Mar Principat
    +#> 1157                                     Maçanes Principat
    +#> 1158                         Maçanet de la Selva Principat
    +#> 1159                                        Osor Principat
    +#> 1160                            Riells i Viabrea Principat
    +#> 1161                                  Riudarenes Principat
    +#> 1162                      Riudellots de la Selva Principat
    +#> 1163                     Sant Feliu de Buixalleu Principat
    +#> 1164                          Sant Hilari Sacalm Principat
    +#> 1165               Sant Julià del Llor i Bonmatí Principat
    +#> 1166                     Santa Coloma de Farners Principat
    +#> 1167                                        Sils Principat
    +#> 1168                                    Susqueda Principat
    +#> 1169                                Tossa de Mar Principat
    +#> 1170                                    Vidreres Principat
    +#> 1171                              Vilobí d'Onyar Principat
    +#> 1172                      Castellar de la Ribera Principat
    +#> 1173                        Clariana de Cardener Principat
    +#> 1174                                     Guixers Principat
    +#> 1175                          la Coma i la Pedra Principat
    +#> 1176                                  la Molsosa Principat
    +#> 1177                                     Lladurs Principat
    +#> 1178                                     Llobera Principat
    +#> 1179                                       Navès Principat
    +#> 1180                                        Odèn Principat
    +#> 1181                                       Olius Principat
    +#> 1182                          Pinell de Solsonès Principat
    +#> 1183                                       Pinós Principat
    +#> 1184                                       Riner Principat
    +#> 1185                     Sant Llorenç de Morunys Principat
    +#> 1186                                     Solsona Principat
    +#> 1187                                   Altafulla Principat
    +#> 1188                                   Constantí Principat
    +#> 1189                                    Creixell Principat
    +#> 1190                                  el Catllar Principat
    +#> 1191                                   el Morell Principat
    +#> 1192                              els Pallaresos Principat
    +#> 1193                                  la Canonja Principat
    +#> 1194                              la Nou de Gaià Principat
    +#> 1195                         la Pobla de Mafumet Principat
    +#> 1196                       la Pobla de Montornès Principat
    +#> 1197                            la Riera de Gaià Principat
    +#> 1198                                  la Secuita Principat
    +#> 1199                                    Perafort Principat
    +#> 1200                                       Renau Principat
    +#> 1201                                Roda de Berà Principat
    +#> 1202                                      Salomó Principat
    +#> 1203                                       Salou Principat
    +#> 1204                                   Tarragona Principat
    +#> 1205                               Torredembarra Principat
    +#> 1206                            Vespella de Gaià Principat
    +#> 1207                                   Vila-seca Principat
    +#> 1208                         Vilallonga del Camp Principat
    +#> 1209                                       Arnes Principat
    +#> 1210                                       Batea Principat
    +#> 1211                                         Bot Principat
    +#> 1212                                     Caseres Principat
    +#> 1213                              Corbera d'Ebre Principat
    +#> 1214                           el Pinell de Brai Principat
    +#> 1215                                     Gandesa Principat
    +#> 1216                          Horta de Sant Joan Principat
    +#> 1217                                la Fatarella Principat
    +#> 1218                       la Pobla de Massaluca Principat
    +#> 1219                               Prat de Comte Principat
    +#> 1220                           Vilalba dels Arcs Principat
    +#> 1221                                    Agramunt Principat
    +#> 1222                                   Anglesola Principat
    +#> 1223                                    Belianes Principat
    +#> 1224                                    Bellpuig Principat
    +#> 1225                                 Castellserà Principat
    +#> 1226                                  Ciutadilla Principat
    +#> 1227                       els Omells de na Gaia Principat
    +#> 1228                                     Guimerà Principat
    +#> 1229                                  la Fuliola Principat
    +#> 1230                                       Maldà Principat
    +#> 1231                                       Nalec Principat
    +#> 1232                                 Ossó de Sió Principat
    +#> 1233                                    Preixana Principat
    +#> 1234                         Puigverd d'Agramunt Principat
    +#> 1235                       Sant Martí de Riucorb Principat
    +#> 1236                                     Tàrrega Principat
    +#> 1237                                   Tornabous Principat
    +#> 1238                      Vallbona de les Monges Principat
    +#> 1239                                       Verdú Principat
    +#> 1240                                  Vilagrassa Principat
    +#> 1241                            Badia del Vallès Principat
    +#> 1242                          Barberà del Vallès Principat
    +#> 1243                        Castellar del Vallès Principat
    +#> 1244                               Castellbisbal Principat
    +#> 1245                       Cerdanyola del Vallès Principat
    +#> 1246                                     Gallifa Principat
    +#> 1247                                  Matadepera Principat
    +#> 1248                           Montcada i Reixac Principat
    +#> 1249                    Palau-solità i Plegamans Principat
    +#> 1250                                     Polinyà Principat
    +#> 1251                                   Rellinars Principat
    +#> 1252                                    Ripollet Principat
    +#> 1253                                        Rubí Principat
    +#> 1254                                    Sabadell Principat
    +#> 1255                       Sant Cugat del Vallès Principat
    +#> 1256                         Sant Llorenç Savall Principat
    +#> 1257                      Sant Quirze del Vallès Principat
    +#> 1258                    Santa Perpètua de Mogoda Principat
    +#> 1259                                   Sentmenat Principat
    +#> 1260                                    Terrassa Principat
    +#> 1261                                  Ullastrell Principat
    +#> 1262                                  Vacarisses Principat
    +#> 1263                               Viladecavalls Principat
    +#> 1264                                  Aiguafreda Principat
    +#> 1265                     Bigues i Riells del Fai Principat
    +#> 1266                           Caldes de Montbui Principat
    +#> 1267                                     Campins Principat
    +#> 1268                                  Canovelles Principat
    +#> 1269                           Cànoves i Samalús Principat
    +#> 1270                                    Cardedeu Principat
    +#> 1271                       el Figueró i Montmany Principat
    +#> 1272                          Fogars de Montclús Principat
    +#> 1273                                  Granollers Principat
    +#> 1274                                      Gualba Principat
    +#> 1275                        l'Ametlla del Vallès Principat
    +#> 1276                                  la Garriga Principat
    +#> 1277                                 la Llagosta Principat
    +#> 1278                          la Roca del Vallès Principat
    +#> 1279                   les Franqueses del Vallès Principat
    +#> 1280                               Lliçà d'Amunt Principat
    +#> 1281                               Lliçà de Vall Principat
    +#> 1282                          Llinars del Vallès Principat
    +#> 1283                                 Martorelles Principat
    +#> 1284                           Mollet del Vallès Principat
    +#> 1285                                    Montmeló Principat
    +#> 1286                        Montornès del Vallès Principat
    +#> 1287                                    Montseny Principat
    +#> 1288                           Parets del Vallès Principat
    +#> 1289                    Sant Antoni de Vilamajor Principat
    +#> 1290                                 Sant Celoni Principat
    +#> 1291                 Sant Esteve de Palautordera Principat
    +#> 1292                       Sant Feliu de Codines Principat
    +#> 1293                  Sant Fost de Campsentelles Principat
    +#> 1294                      Sant Pere de Vilamajor Principat
    +#> 1295                    Santa Eulàlia de Ronçana Principat
    +#> 1296                  Santa Maria de Martorelles Principat
    +#> 1297                 Santa Maria de Palautordera Principat
    +#> 1298                                  Tagamanent Principat
    +#> 1299                                Vallgorguina Principat
    +#> 1300                                 Vallromanes Principat
    +#> 1301                            Vilalba Sasserra Principat
    +#> 1302                         Vilanova del Vallès Principat
    +#> 1303                                    València        PV
    +#> 1304                            Alcalà de Xivert        PV
    +#> 1305                                   Benicarló        PV
    +#> 1306                                       Càlig        PV
    +#> 1307                               Canet lo Roig        PV
    +#> 1308                           Castell de Cabres        PV
    +#> 1309                        Cervera del Maestrat        PV
    +#> 1310                                     la Jana        PV
    +#> 1311                       la Pobla de Benifassà        PV
    +#> 1312                               la Salzadella        PV
    +#> 1313                                   Peníscola        PV
    +#> 1314                                     Rossell        PV
    +#> 1315                                  Sant Jordi        PV
    +#> 1316                                  Sant Mateu        PV
    +#> 1317                          Sant Rafel del Riu        PV
    +#> 1318                   Santa Magdalena de Polpís        PV
    +#> 1319                                   Traiguera        PV
    +#> 1320                                     Vinaròs        PV
    +#> 1321                                        Xert        PV
    +#> 1322                        Guardamar del Segura        PV
    +#> 1323                                  Crevillent        PV
    +#> 1324                                         Elx        PV
    +#> 1325                                  Santa Pola        PV
    +#> 1326                      Albalat dels Tarongers        PV
    +#> 1327                        Alfara de la Baronia        PV
    +#> 1328                           Algar de Palància        PV
    +#> 1329                            Algímia d'Alfara        PV
    +#> 1330                                   Benavites        PV
    +#> 1331                      Benifairó de les Valls        PV
    +#> 1332                        Canet d'en Berenguer        PV
    +#> 1333                                   Estivella        PV
    +#> 1334                                       Faura        PV
    +#> 1335                                       Gilet        PV
    +#> 1336                                      Petrés        PV
    +#> 1337                          Quart de les Valls        PV
    +#> 1338                                    Quartell        PV
    +#> 1339                                      Sagunt        PV
    +#> 1340                                      Segart        PV
    +#> 1341                               Torres Torres        PV
    +#> 1342                                  Benaguasil        PV
    +#> 1343                                   Benissanó        PV
    +#> 1344                                      Bétera        PV
    +#> 1345                                     Casinos        PV
    +#> 1346                                    l'Eliana        PV
    +#> 1347                        la Pobla de Vallbona        PV
    +#> 1348                                      Llíria        PV
    +#> 1349                                     Nàquera        PV
    +#> 1350                                      Olocau        PV
    +#> 1351                          Riba-roja de Túria        PV
    +#> 1352                                       Serra        PV
    +#> 1353                                 Vilamarxant        PV
    +#> 1354                                       Agres        PV
    +#> 1355                                    Alcoleja        PV
    +#> 1356                                    Alcosser        PV
    +#> 1357                                    Alfafara        PV
    +#> 1358                                   Almudaina        PV
    +#> 1359                                     Balones        PV
    +#> 1360                                     Benasau        PV
    +#> 1361                                   Beniarrés        PV
    +#> 1362                                   Benilloba        PV
    +#> 1363                                    Benillup        PV
    +#> 1364                                 Benimarfull        PV
    +#> 1365                                  Benimassot        PV
    +#> 1366                                  Cocentaina        PV
    +#> 1367                                      Fageca        PV
    +#> 1368                                     Famorca        PV
    +#> 1369                                     Gaianes        PV
    +#> 1370                                       Gorga        PV
    +#> 1371                          l'Alqueria d'Asnar        PV
    +#> 1372                                      l'Orxa        PV
    +#> 1373                                     Millena        PV
    +#> 1374                                Muro d'Alcoi        PV
    +#> 1375                                      Planes        PV
    +#> 1376                               Quatretondeta        PV
    +#> 1377                                      Tollos        PV
    +#> 1378                        el Fondó de les Neus        PV
    +#> 1379                        el Fondó dels Frares        PV
    +#> 1380                                    el Pinós        PV
    +#> 1381                                  l'Alguenya        PV
    +#> 1382                                   la Romana        PV
    +#> 1383                                     Monòver        PV
    +#> 1384                                     Novelda        PV
    +#> 1385                                      Petrer        PV
    +#> 1386                                 Castellfort        PV
    +#> 1387                                  Cinctorres        PV
    +#> 1388                                  el Forcall        PV
    +#> 1389                                     Herbers        PV
    +#> 1390                          la Mata de Morella        PV
    +#> 1391                                la Todolella        PV
    +#> 1392                                     Morella        PV
    +#> 1393                                   Palanques        PV
    +#> 1394                          Portell de Morella        PV
    +#> 1395                                      Sorita        PV
    +#> 1396                                   Vallibona        PV
    +#> 1397                                  Vilafranca        PV
    +#> 1398                                    Villores        PV
    +#> 1399                                       Agost        PV
    +#> 1400                                      Aigües        PV
    +#> 1401                                     Alacant        PV
    +#> 1402                                       Busot        PV
    +#> 1403                                 el Campello        PV
    +#> 1404                     la Torre de les Maçanes        PV
    +#> 1405                                    Mutxamel        PV
    +#> 1406                         Sant Joan d'Alacant        PV
    +#> 1407                     Sant Vicent del Raspeig        PV
    +#> 1408                                      Xixona        PV
    +#> 1409                                      Costur        PV
    +#> 1410                                  Figueroles        PV
    +#> 1411                                    l'Alcora        PV
    +#> 1412                                  les Useres        PV
    +#> 1413                                     Llucena        PV
    +#> 1414                     Vistabella del Maestrat        PV
    +#> 1415                                       Xodos        PV
    +#> 1416                                       Alcoi        PV
    +#> 1417                         Banyeres de Mariola        PV
    +#> 1418                                  Benifallim        PV
    +#> 1419                                    Castalla        PV
    +#> 1420                                         Ibi        PV
    +#> 1421                                        Onil        PV
    +#> 1422                                   Penàguila        PV
    +#> 1423                                        Tibi        PV
    +#> 1424                                  Albocàsser        PV
    +#> 1425                           Ares del Maestrat        PV
    +#> 1426                       Atzeneta del Maestrat        PV
    +#> 1427                                   Benafigos        PV
    +#> 1428                                    Benassal        PV
    +#> 1429                                        Catí        PV
    +#> 1430                                       Culla        PV
    +#> 1431                               la Serratella        PV
    +#> 1432                        la Torre d'en Besora        PV
    +#> 1433                                       Tírig        PV
    +#> 1434                              Vilar de Canes        PV
    +#> 1435                                   Beneixama        PV
    +#> 1436                                        Biar        PV
    +#> 1437                            el Camp de Mirra        PV
    +#> 1438                                  la Canyada        PV
    +#> 1439                        Albalat dels Sorells        PV
    +#> 1440                                    Alboraia        PV
    +#> 1441                                    Albuixec        PV
    +#> 1442                        Alfara del Patriarca        PV
    +#> 1443                                   Almàssera        PV
    +#> 1444                        Bonrepòs i Mirambell        PV
    +#> 1445                                   Burjassot        PV
    +#> 1446                      el Puig de Santa Maria        PV
    +#> 1447                                   Emperador        PV
    +#> 1448                                       Foios        PV
    +#> 1449                                     Godella        PV
    +#> 1450                         la Pobla de Farnals        PV
    +#> 1451                                Massalfassar        PV
    +#> 1452                                Massamagrell        PV
    +#> 1453                                     Meliana        PV
    +#> 1454                                    Montcada        PV
    +#> 1455                                     Museros        PV
    +#> 1456                                     Paterna        PV
    +#> 1457                                       Puçol        PV
    +#> 1458                                 Rafelbunyol        PV
    +#> 1459                                    Rocafort        PV
    +#> 1460                           Tavernes Blanques        PV
    +#> 1461                                    Vinalesa        PV
    +#> 1462                                     Alaquàs        PV
    +#> 1463                                       Albal        PV
    +#> 1464                                    Alcàsser        PV
    +#> 1465                                      Aldaia        PV
    +#> 1466                                     Alfafar        PV
    +#> 1467                                  Benetússer        PV
    +#> 1468                                 Beniparrell        PV
    +#> 1469                                   Catarroja        PV
    +#> 1470                        Llocnou de la Corona        PV
    +#> 1471                                     Manises        PV
    +#> 1472                                  Massanassa        PV
    +#> 1473                                     Mislata        PV
    +#> 1474                                    Paiporta        PV
    +#> 1475                                     Picanya        PV
    +#> 1476                                   Picassent        PV
    +#> 1477                             Quart de Poblet        PV
    +#> 1478                                      Sedaví        PV
    +#> 1479                                       Silla        PV
    +#> 1480                                     Torrent        PV
    +#> 1481                                   Xirivella        PV
    +#> 1482                                     Barxeta        PV
    +#> 1483                                      Canals        PV
    +#> 1484                                       Cerdà        PV
    +#> 1485                                  el Genovés        PV
    +#> 1486                                    Estubeny        PV
    +#> 1487                       l'Alcúdia de Crespins        PV
    +#> 1488                       la Font de la Figuera        PV
    +#> 1489                     la Granja de la Costera        PV
    +#> 1490                           la Llosa de Ranes        PV
    +#> 1491                            Llanera de Ranes        PV
    +#> 1492                       Llocnou d'en Fenollet        PV
    +#> 1493                                     Moixent        PV
    +#> 1494                                     Montesa        PV
    +#> 1495                                     Novetlè        PV
    +#> 1496                            Rotglà i Corberà        PV
    +#> 1497                                    Torrella        PV
    +#> 1498                                     Vallada        PV
    +#> 1499                                      Vallés        PV
    +#> 1500                                      Xàtiva        PV
    +#> 1501                                    Alcalalí        PV
    +#> 1502                                  Beniarbeig        PV
    +#> 1503                                  Benidoleig        PV
    +#> 1504                                  Benigembla        PV
    +#> 1505                                    Benimeli        PV
    +#> 1506                                     Benissa        PV
    +#> 1507                                        Calp        PV
    +#> 1508                         Castell de Castells        PV
    +#> 1509                                       Dénia        PV
    +#> 1510                 el Poble Nou de Benitatxell        PV
    +#> 1511                          el Ràfol d'Almúnia        PV
    +#> 1512                                   el Verger        PV
    +#> 1513                                 els Poblets        PV
    +#> 1514                              Gata de Gorgos        PV
    +#> 1515                                   l'Atzúbia        PV
    +#> 1516                            la Vall d'Alcalà        PV
    +#> 1517                               la Vall d'Ebo        PV
    +#> 1518                        la Vall de Gallinera        PV
    +#> 1519                           la Vall de Laguar        PV
    +#> 1520                                      Llíber        PV
    +#> 1521                                       Murla        PV
    +#> 1522                                      Ondara        PV
    +#> 1523                                        Orba        PV
    +#> 1524                                     Parcent        PV
    +#> 1525                                   Pedreguer        PV
    +#> 1526                                        Pego        PV
    +#> 1527                                       Sagra        PV
    +#> 1528                         Sanet i els Negrals        PV
    +#> 1529                                      Senija        PV
    +#> 1530                                     Teulada        PV
    +#> 1531                                      Tormos        PV
    +#> 1532                                       Xàbia        PV
    +#> 1533                                        Xaló        PV
    +#> 1534                                       Altea        PV
    +#> 1535                                    Beniardà        PV
    +#> 1536                                    Benidorm        PV
    +#> 1537                                    Benifato        PV
    +#> 1538                                 Benimantell        PV
    +#> 1539                                     Bolulla        PV
    +#> 1540                         Callosa d'en Sarrià        PV
    +#> 1541                                   Confrides        PV
    +#> 1542                     el Castell de Guadalest        PV
    +#> 1543                                   Finestrat        PV
    +#> 1544                              l'Alfàs del Pi        PV
    +#> 1545                                    la Nucia        PV
    +#> 1546                              la Vila Joiosa        PV
    +#> 1547                                      Orxeta        PV
    +#> 1548                                       Polop        PV
    +#> 1549                                      Relleu        PV
    +#> 1550                                       Sella        PV
    +#> 1551                                     Tàrbena        PV
    +#> 1552                                   Almassora        PV
    +#> 1553                                  Benicàssim        PV
    +#> 1554                                     Benlloc        PV
    +#> 1555                                     Borriol        PV
    +#> 1556                                     Cabanes        PV
    +#> 1557                        Castelló de la Plana        PV
    +#> 1558                            la Pobla Tornesa        PV
    +#> 1559                      la Serra d'en Galceran        PV
    +#> 1560                       la Torre d'en Doménec        PV
    +#> 1561                              la Vall d'Alba        PV
    +#> 1562                        les Coves de Vinromà        PV
    +#> 1563                                      Orpesa        PV
    +#> 1564                           Sant Joan de Moró        PV
    +#> 1565                                 Torreblanca        PV
    +#> 1566                                   Vilafamés        PV
    +#> 1567                          Vilanova d'Alcolea        PV
    +#> 1568                                         Aín        PV
    +#> 1569                               Alfondeguilla        PV
    +#> 1570                                    Almenara        PV
    +#> 1571                                      Artana        PV
    +#> 1572                                       Betxí        PV
    +#> 1573                                    Borriana        PV
    +#> 1574                                      Eslida        PV
    +#> 1575                            l'Alcúdia de Veo        PV
    +#> 1576                                    la Llosa        PV
    +#> 1577                              la Vall d'Uixó        PV
    +#> 1578                                la Vilavella        PV
    +#> 1579                               les Alqueries        PV
    +#> 1580                                     Moncofa        PV
    +#> 1581                                       Nules        PV
    +#> 1582                                        Onda        PV
    +#> 1583                                  Ribesalbes        PV
    +#> 1584                                       Suera        PV
    +#> 1585                                       Tales        PV
    +#> 1586                                   Vila-real        PV
    +#> 1587                                      Xilxes        PV
    +#> 1588                                     Alberic        PV
    +#> 1589                         Alcàntera de Xúquer        PV
    +#> 1590                                      Alfarb        PV
    +#> 1591                                    Algemesí        PV
    +#> 1592                                     Alginet        PV
    +#> 1593                                      Alzira        PV
    +#> 1594                                     Antella        PV
    +#> 1595                                   Beneixida        PV
    +#> 1596                                    Benifaió        PV
    +#> 1597                                    Benimodo        PV
    +#> 1598                                  Benimuslem        PV
    +#> 1599                                  Carcaixent        PV
    +#> 1600                                      Càrcer        PV
    +#> 1601                                      Carlet        PV
    +#> 1602                                    Castelló        PV
    +#> 1603                                     Catadau        PV
    +#> 1604                                       Cotes        PV
    +#> 1605                                     Gavarda        PV
    +#> 1606                                  Guadassuar        PV
    +#> 1607                                   l'Alcúdia        PV
    +#> 1608                                     l'Énova        PV
    +#> 1609                             la Pobla Llarga        PV
    +#> 1610                                     Llombai        PV
    +#> 1611                                      Manuel        PV
    +#> 1612                                  Massalavés        PV
    +#> 1613                                     Montroi        PV
    +#> 1614                                  Montserrat        PV
    +#> 1615                                 Rafelguaraf        PV
    +#> 1616                                        Real        PV
    +#> 1617                                 Sant Joanet        PV
    +#> 1618                                     Sellent        PV
    +#> 1619                                     Senyera        PV
    +#> 1620                                  Sumacàrcer        PV
    +#> 1621                                       Torís        PV
    +#> 1622                        Albalat de la Ribera        PV
    +#> 1623                                  Almussafes        PV
    +#> 1624                          Benicull de Xúquer        PV
    +#> 1625                                     Corbera        PV
    +#> 1626                                     Cullera        PV
    +#> 1627                                      Favara        PV
    +#> 1628                                   Fortaleny        PV
    +#> 1629                                      Llaurí        PV
    +#> 1630                           Polinyà de Xúquer        PV
    +#> 1631                                       Riola        PV
    +#> 1632                                     Sollana        PV
    +#> 1633                                       Sueca        PV
    +#> 1634                                        Ador        PV
    +#> 1635                                     Alfauir        PV
    +#> 1636                                    Almiserà        PV
    +#> 1637                                    Almoines        PV
    +#> 1638                                        Barx        PV
    +#> 1639                                 Bellreguard        PV
    +#> 1640                                    Beniarjó        PV
    +#> 1641                   Benifairó de la Valldigna        PV
    +#> 1642                                     Beniflà        PV
    +#> 1643                                  Benirredrà        PV
    +#> 1644                 Castellonet de la Conquesta        PV
    +#> 1645                                      Daimús        PV
    +#> 1646                           el Real de Gandia        PV
    +#> 1647                                      Gandia        PV
    +#> 1648                       Guardamar de la Safor        PV
    +#> 1649                   l'Alqueria de la Comtessa        PV
    +#> 1650                         la Font d'en Carròs        PV
    +#> 1651                      Llocnou de Sant Jeroni        PV
    +#> 1652                                     Miramar        PV
    +#> 1653                                       Oliva        PV
    +#> 1654                             Palma de Gandia        PV
    +#> 1655                                     Palmera        PV
    +#> 1656                                       Piles        PV
    +#> 1657                                     Potries        PV
    +#> 1658                                  Rafelcofer        PV
    +#> 1659                                      Ròtova        PV
    +#> 1660                       Simat de la Valldigna        PV
    +#> 1661                    Tavernes de la Valldigna        PV
    +#> 1662                                  Vilallonga        PV
    +#> 1663                                      Xeraco        PV
    +#> 1664                                      Xeresa        PV
    +#> 1665                                    Agullent        PV
    +#> 1666                           Aielo de Malferit        PV
    +#> 1667                              Aielo de Rugat        PV
    +#> 1668                                     Albaida        PV
    +#> 1669                                   Alfarrasí        PV
    +#> 1670                          Atzeneta d'Albaida        PV
    +#> 1671                                     Bèlgida        PV
    +#> 1672                                      Bellús        PV
    +#> 1673                                   Beniatjar        PV
    +#> 1674                                   Benicolet        PV
    +#> 1675                                   Benigànim        PV
    +#> 1676                                   Benissoda        PV
    +#> 1677                                  Benissuera        PV
    +#> 1678                                   Bocairent        PV
    +#> 1679                                      Bufali        PV
    +#> 1680                                   Carrícola        PV
    +#> 1681                           Castelló de Rugat        PV
    +#> 1682                                  el Palomar        PV
    +#> 1683                           el Ràfol de Salem        PV
    +#> 1684                     Fontanars dels Alforins        PV
    +#> 1685                               Guadasséquies        PV
    +#> 1686                                   l'Olleria        PV
    +#> 1687                            la Pobla del Duc        PV
    +#> 1688                                    Llutxent        PV
    +#> 1689                                 Montaverner        PV
    +#> 1690                                 Montitxelvo        PV
    +#> 1691                                   Ontinyent        PV
    +#> 1692                                        Otos        PV
    +#> 1693                                       Pinet        PV
    +#> 1694                                 Quatretonda        PV
    +#> 1695                                       Rugat        PV
    +#> 1696                                       Salem        PV
    +#> 1697                                     Sempere        PV
    +#> 1698                                   Terrateig        PV
    +#> 1699                                    l'Alguer  Sardenya
    +#>                                                   name
    +#> 1                                            Naut Aran
    +#> 2                                                Arres
    +#> 3                                               Bausen
    +#> 4                                              Bossòst
    +#> 5                                              Canejan
    +#> 6                                            Es Bòrdes
    +#> 7                                                  Les
    +#> 8                                     Vielha e Mijaran
    +#> 9                                              Vilamòs
    +#> 10                 Angoustrine-Villeneuve-des-Escaldes
    +#> 11                                            Bolquère
    +#> 12                                              Dorres
    +#> 13                                                Égat
    +#> 14                                                Eyne
    +#> 15                                             Enveitg
    +#> 16                                                 Err
    +#> 17                                             Estavar
    +#> 18                              Font-Romeu-Odeillo-Via
    +#> 19                                        La Cabanasse
    +#> 20                                        Bourg-Madame
    +#> 21                                     Latour-de-Carol
    +#> 22                                                 Llo
    +#> 23                                          Mont-Louis
    +#> 24                                              Nahuja
    +#> 25                                              Osséja
    +#> 26                                   Palau-de-Cerdagne
    +#> 27                                               Porta
    +#> 28                                     Porté-Puymorens
    +#> 29                                         Saillagouse
    +#> 30                                     Sainte-Léocadie
    +#> 31                                          Targasonne
    +#> 32                                                  Ur
    +#> 33                                        Valcebollère
    +#> 34                                          Les Angles
    +#> 35                                        Fontrabiouse
    +#> 36                                         Formiguères
    +#> 37                                            Matemale
    +#> 38                                          Puyvalador
    +#> 39                                                Réal
    +#> 40                                    Ayguatébia-Talau
    +#> 41                                          Arboussols
    +#> 42                                             Campôme
    +#> 43                                         Canaveilles
    +#> 44                                             Casteil
    +#> 45                                             Catllar
    +#> 46                                 Caudiès-de-Conflent
    +#> 47                                               Sansa
    +#> 48                                     Clara-Villerach
    +#> 49                                             Codalet
    +#> 50                                               Conat
    +#> 51                               Corneilla-de-Conflent
    +#> 52                                              Escaro
    +#> 53                                  Espira-de-Conflent
    +#> 54                                             Estoher
    +#> 55                                                 Eus
    +#> 56                                             Fillols
    +#> 57                                           Finestret
    +#> 58                                        Fontpédrouse
    +#> 59                                              Fuilla
    +#> 60                                           Glorianes
    +#> 61                                                Joch
    +#> 62                                              Jujols
    +#> 63                                          La Bastide
    +#> 64                                         La Llagonne
    +#> 65                                           Los Masos
    +#> 66                                         Marquixanes
    +#> 67                                              Mantet
    +#> 68                                    Molitg-les-Bains
    +#> 69                                              Mosset
    +#> 70                                             Nohèdes
    +#> 71                                                Nyer
    +#> 72                                              Olette
    +#> 73                                             Urbanya
    +#> 74                                             Oreilla
    +#> 75                                                  Py
    +#> 76                                              Planès
    +#> 77                                              Prades
    +#> 78                                             Railleu
    +#> 79                                          Ria-Sirach
    +#> 80                                             Rigarda
    +#> 81                                               Rodès
    +#> 82                                        Saint-Marsal
    +#> 83                           Saint-Pierre-dels-Forcats
    +#> 84                                             Sahorre
    +#> 85                                               Sauto
    +#> 86                                            Serdinya
    +#> 87                                            Souanyas
    +#> 88                                            Tarerach
    +#> 89                                            Taurinya
    +#> 90                                   Thuès-Entre-Valls
    +#> 91                                         Baillestavy
    +#> 92                                            Valmanya
    +#> 93                                    Vernet-les-Bains
    +#> 94                            Villefranche-de-Conflent
    +#> 95                                               Vinça
    +#> 96                                            Ansignan
    +#> 97                                             Bélesta
    +#> 98                                           Campoussy
    +#> 99                                            Caramany
    +#> 100                                          Cassagnes
    +#> 101                            Caudiès-de-Fenouillèdes
    +#> 102                                        Saint-Arnac
    +#> 103                                          Le Vivier
    +#> 104                                           Feilluns
    +#> 105                                         Fenouillet
    +#> 106                                              Fosse
    +#> 107                                          Lesquerde
    +#> 108                                   Latour-de-France
    +#> 109                                             Lansac
    +#> 110                                              Maury
    +#> 111                                Montalba-le-Château
    +#> 112                                Pézilla-de-Conflent
    +#> 113                                           Planèzes
    +#> 114                                   Prats-de-Sournia
    +#> 115                                          Prugnanes
    +#> 116                                         Rasiguères
    +#> 117                                         Rabouillet
    +#> 118                         Saint-Martin-de-Fenouillet
    +#> 119                           Saint-Paul-de-Fenouillet
    +#> 120                                            Sournia
    +#> 121                                         Trévillach
    +#> 122                                             Trilla
    +#> 123                                               Vira
    +#> 124                                             Alénya
    +#> 125                                    Argelès-sur-Mer
    +#> 126                                              Bages
    +#> 127                                             Baixas
    +#> 128                                    Banyuls-sur-Mer
    +#> 129                                Banyuls-dels-Aspres
    +#> 130                                               Baho
    +#> 131                                             Bompas
    +#> 132                                           Brouilla
    +#> 133                                      Boule-d'Amont
    +#> 134                                       Bouleternère
    +#> 135                                          Cabestany
    +#> 136                                              Calce
    +#> 137                                         Calmeilles
    +#> 138                                            Camélas
    +#> 139                                Canet-en-Roussillon
    +#> 140                                            Canohès
    +#> 141                                          Casefabre
    +#> 142                                      Cases-de-Pène
    +#> 143                                          Castelnou
    +#> 144                                            Cerbère
    +#> 145                                             Claira
    +#> 146                                            Corbère
    +#> 147                               Corneilla-la-Rivière
    +#> 148                               Corneilla-del-Vercol
    +#> 149                                          Collioure
    +#> 150                                        Le Barcarès
    +#> 151                                           Le Soler
    +#> 152                                          Le Boulou
    +#> 153                                               Elne
    +#> 154                                   Espira-de-l'Agly
    +#> 155                                            Estagel
    +#> 156                                           Fourques
    +#> 157                                       Ille-sur-Têt
    +#> 158                                Corbère-les-Cabanes
    +#> 159                                Laroque-des-Albères
    +#> 160                                    Latour-Bas-Elne
    +#> 161                                             Llauro
    +#> 162                                             Llupia
    +#> 163                                             Millas
    +#> 164                                          Montescot
    +#> 165                            Montesquieu-des-Albères
    +#> 166                                            Montner
    +#> 167                                         Montauriol
    +#> 168                                            Néfiach
    +#> 169                                                Oms
    +#> 170                                     Opoul-Périllos
    +#> 171                                            Ortaffa
    +#> 172                                              Passa
    +#> 173                                    Palau-del-Vidre
    +#> 174                                       Peyrestortes
    +#> 175                                          Perpignan
    +#> 176                                 Pézilla-la-Rivière
    +#> 177                                                Pia
    +#> 178                                         Pollestres
    +#> 179                                          Ponteilla
    +#> 180                                       Port-Vendres
    +#> 181                                  Prunet-et-Belpuig
    +#> 182                                             Caixas
    +#> 183                                         Rivesaltes
    +#> 184                                          Saleilles
    +#> 185                                  Salses-le-Château
    +#> 186                                        Saint-André
    +#> 187                                      Saint-Cyprien
    +#> 188                                       Saint-Estève
    +#> 189                                Saint-Féliu-d'Amont
    +#> 190                                Saint-Féliu-d'Avall
    +#> 191                          Saint-Génis-des-Fontaines
    +#> 192                                    Saint-Hippolyte
    +#> 193                               Saint-Jean-Lasseille
    +#> 194                       Saint-Laurent-de-la-Salanque
    +#> 195                             Saint-Michel-de-Llotes
    +#> 196                                      Saint-Nazaire
    +#> 197                   Sainte-Colombe-de-la-Commanderie
    +#> 198                                Sainte-Marie-la-Mer
    +#> 199                                             Sorède
    +#> 200                                           Tautavel
    +#> 201                                            Terrats
    +#> 202                                              Théza
    +#> 203                                          Toulouges
    +#> 204                                           Tordères
    +#> 205                                         Torreilles
    +#> 206                                          Tresserre
    +#> 207                                          Trouillas
    +#> 208                                              Thuir
    +#> 209                         Villelongue-de-la-Salanque
    +#> 210                             Villelongue-dels-Monts
    +#> 211                                       Villemolaque
    +#> 212                              Villeneuve-la-Rivière
    +#> 213                              Villeneuve-de-la-Raho
    +#> 214                                            Vingrau
    +#> 215                                     Arles-sur-Tech
    +#> 216                                              Céret
    +#> 217                                            Corsavy
    +#> 218                                         Coustouges
    +#> 219                                         Le Perthus
    +#> 220                                            Le Tech
    +#> 221                           Amélie-les-Bains-Palalda
    +#> 222                                           L'Albère
    +#> 223                                           Lamanère
    +#> 224                                         Les Cluses
    +#> 225                                           Montbolo
    +#> 226                                         Montferrer
    +#> 227                               Maureillas-las-Illas
    +#> 228                           Prats-de-Mollo-la-Preste
    +#> 229                                             Reynès
    +#> 230                            Saint-Jean-Pla-de-Corts
    +#> 231                           Saint-Laurent-de-Cerdans
    +#> 232                                        Serralongue
    +#> 233                                            Taillet
    +#> 234                                             Taulis
    +#> 235                                              Vivès
    +#> 236                  Aguaviva / Aiguaviva de Bergantes
    +#> 237          Belmonte de San José / Bellmunt de Mesquí
    +#> 238          La Cañada de Verich / la Canyada de Beric
    +#> 239                         La Codoñera / la Codonyera
    +#> 240                        La Ginebrosa / la Ginebrosa
    +#> 241                        La Cerollera / la Sorollera
    +#> 242                    Torrevelilla / Torre de Vilella
    +#> 243                                       Fayón / Faió
    +#> 244                                    Fabara / Favara
    +#> 245                                             Maella
    +#> 246                                   Nonaspe / Nonasp
    +#> 247                                              Fraga
    +#> 248                            Mequinenza / Mequinensa
    +#> 249                                     Zaidín / Saidí
    +#> 250               Torrente de Cinca / Torrent de Cinca
    +#> 251                                   Velilla de Cinca
    +#> 252                                            Albelda
    +#> 253                                             Baells
    +#> 254                                        Camporrells
    +#> 255                        Castillonroy / Castellonroi
    +#> 256                             Alcampell / el Campell
    +#> 257                            Altorricón / el Torricó
    +#> 258                                Peralta de Calasanz
    +#> 259     San Esteban de Litera / Sant Esteve de Llitera
    +#> 260                                       Azanuy-Alins
    +#> 261            Tamarite de Litera / Tamarit de Llitera
    +#> 262                              Baldellou / Valdellou
    +#> 263                               Vencillón / Vensilló
    +#> 264                   Arens de Lledó / Arenys de Lledó
    +#> 265                                   Beceite / Beseit
    +#> 266                               Calaceite / Calaceit
    +#> 267                        Fuentespalda / Fontdespatla
    +#> 268                                 Fórnoles / Fórnols
    +#> 269                         La Fresneda / la Freixneda
    +#> 270                                      La Portellada
    +#> 271              Torre del Compte / la Torre del Comte
    +#> 272                    Valdeltormo / la Vall del Tormo
    +#> 273                             Lledó / Lledó d'Algars
    +#> 274                                Mazaleón / Massalió
    +#> 275                                 Monroyo / Montroig
    +#> 276    Peñarroya de Tastavins / Pena-roja de Tastavins
    +#> 277                                  Cretas / Queretes
    +#> 278                                   Ráfales / Ràfels
    +#> 279                      Torre de Arcas / Torredarques
    +#> 280                      Valderrobres / Vall de Roures
    +#> 281                         Valjunquera / Valljunquera
    +#> 282                            Arén / Areny de Noguera
    +#> 283                              Benabarre / Benavarri
    +#> 284                                            Beranuy
    +#> 285                                            Bonansa
    +#> 286                                         Castigaleu
    +#> 287                 Estopiñán del Castillo / Estopanyà
    +#> 288                                            Isábena
    +#> 289                              Lascuarre / Lasquarri
    +#> 290                              Laspaúles / Les Paüls
    +#> 291             Monesma y Cajigar / Monesma i Caixigar
    +#> 292                                Montanuy / Montanui
    +#> 293           Puente de Montañana / Pont de Montanyana
    +#> 294                                            Sopeira
    +#> 295                                      Tolva / Tolba
    +#> 296                                    Torre la Ribera
    +#> 297                 Viacamp y Litera/Viacamp i Lliterà
    +#> 298                                            Eivissa
    +#> 299                            Sant Antoni de Portmany
    +#> 300                              Sant Joan de Labritja
    +#> 301                            Sant Josep de sa Talaia
    +#> 302                              Santa Eulària des Riu
    +#> 303                                         Formentera
    +#> 304                                               Artà
    +#> 305                                          Capdepera
    +#> 306                                            Manacor
    +#> 307                         Sant Llorenç des Cardassar
    +#> 308                                        Son Servera
    +#> 309                                             Alaior
    +#> 310                                         Ciutadella
    +#> 311                                         es Castell
    +#> 312                                        es Mercadal
    +#> 313                                    es Migjorn Gran
    +#> 314                                          Ferreries
    +#> 315                                                Maó
    +#> 316                                         Sant Lluís
    +#> 317                                             Campos
    +#> 318                                           Felanitx
    +#> 319                                          Llucmajor
    +#> 320                                           Santanyí
    +#> 321                                        ses Salines
    +#> 322                                              Palma
    +#> 323                                            Algaida
    +#> 324                                             Ariany
    +#> 325                                            Costitx
    +#> 326                               Lloret de Vistalegre
    +#> 327                                              Llubí
    +#> 328                                  Maria de la Salut
    +#> 329                                           Montuïri
    +#> 330                                               Muro
    +#> 331                                              Petra
    +#> 332                                           Porreres
    +#> 333                                          Sant Joan
    +#> 334                                      Santa Eugènia
    +#> 335                                    Santa Margalida
    +#> 336                                          Sencelles
    +#> 337                                              Sineu
    +#> 338                               Vilafranca de Bonany
    +#> 339                                              Alaró
    +#> 340                                            Alcúdia
    +#> 341                                         Binissalem
    +#> 342                                              Búger
    +#> 343                                           Campanet
    +#> 344                                            Consell
    +#> 345                                               Inca
    +#> 346                                            Lloseta
    +#> 347                                  Mancor de la Vall
    +#> 348                                           Marratxí
    +#> 349                                           sa Pobla
    +#> 350                               Santa Maria del Camí
    +#> 351                                              Selva
    +#> 352                                            Andratx
    +#> 353                                        Banyalbufar
    +#> 354                                            Bunyola
    +#> 355                                             Calvià
    +#> 356                                               Deià
    +#> 357                                            Escorca
    +#> 358                                           Esporles
    +#> 359                                         Estellencs
    +#> 360                                          Fornalutx
    +#> 361                                           Pollença
    +#> 362                                        Puigpunyent
    +#> 363                                             Sóller
    +#> 364                                        Valldemossa
    +#> 365                                        Aiguamúrcia
    +#> 366                                            Alcover
    +#> 367                                               Alió
    +#> 368                                             Bràfim
    +#> 369                                     Cabra del Camp
    +#> 370                                            el Milà
    +#> 371                              el Pla de Santa Maria
    +#> 372                                el Pont d'Armentera
    +#> 373                                         el Rourell
    +#> 374                                      els Garidells
    +#> 375                                 Figuerola del Camp
    +#> 376                                            la Masó
    +#> 377                                            la Riba
    +#> 378                                           Mont-ral
    +#> 379                                          Montferri
    +#> 380                                             Nulles
    +#> 381                                          Puigpelat
    +#> 382                                             Querol
    +#> 383                                            Rodonyà
    +#> 384                                           Vallmoll
    +#> 385                                              Valls
    +#> 386                                        Vila-rodona
    +#> 387                                          Vilabella
    +#> 388                                           Agullana
    +#> 389                                            Albanyà
    +#> 390                            Avinyonet de Puigventós
    +#> 391                                            Bàscara
    +#> 392                                              Biure
    +#> 393                            Boadella i les Escaules
    +#> 394                                           Borrassà
    +#> 395                                         Cabanelles
    +#> 396                                            Cabanes
    +#> 397                                           Cadaqués
    +#> 398                                            Capmany
    +#> 399                                         Cantallops
    +#> 400                                Castelló d'Empúries
    +#> 401                                           Cistella
    +#> 402                                             Colera
    +#> 403                                            Darnius
    +#> 404                                   el Far d'Empordà
    +#> 405                                el Port de la Selva
    +#> 406                                            Espolla
    +#> 407                                           Figueres
    +#> 408                                             Fortià
    +#> 409                                           Garrigàs
    +#> 410                                        Garriguella
    +#> 411                                        l'Armentera
    +#> 412                                           l'Escala
    +#> 413                                        la Jonquera
    +#> 414                                    la Selva de Mar
    +#> 415                                           la Vajol
    +#> 416                                             Llançà
    +#> 417                                              Lladó
    +#> 418                                              Llers
    +#> 419                                Maçanet de Cabrenys
    +#> 420                               Masarac i Vilarnadal
    +#> 421                                 Mollet de Peralada
    +#> 422                                             Navata
    +#> 423                                              Ordis
    +#> 424                             Palau de Santa Eulàlia
    +#> 425                                    Palau-saverdera
    +#> 426                                                Pau
    +#> 427                                     Pedret i Marzà
    +#> 428                                           Peralada
    +#> 429                                     Pont de Molins
    +#> 430                                             Pontós
    +#> 431                                            Portbou
    +#> 432                                              Rabós
    +#> 433                                            Riumors
    +#> 434                                              Roses
    +#> 435                              Sant Climent Sescebes
    +#> 436                            Sant Llorenç de la Muga
    +#> 437                              Sant Miquel de Fluvià
    +#> 438                                          Sant Mori
    +#> 439                                 Sant Pere Pescador
    +#> 440                            Santa Llogaia d'Àlguema
    +#> 441                        Saus, Camallera i Llampaies
    +#> 442                                            Siurana
    +#> 443                                           Terrades
    +#> 444                                Torroella de Fluvià
    +#> 445                                           Ventalló
    +#> 446                                         Vila-sacra
    +#> 447                                        Vilabertran
    +#> 448                                          Viladamat
    +#> 449                                           Vilafant
    +#> 450                                          Vilajuïga
    +#> 451                                        Vilamacolum
    +#> 452                                          Vilamalla
    +#> 453                                       Vilamaniscle
    +#> 454                                           Vilanant
    +#> 455                                             Vilaür
    +#> 456                              Avinyonet del Penedès
    +#> 457                              Castellet i la Gornal
    +#> 458                              Castellví de la Marca
    +#> 459                                 el Pla del Penedès
    +#> 460                                          Font-rubí
    +#> 461                                             Gelida
    +#> 462                                         la Granada
    +#> 463                                       les Cabanyes
    +#> 464                                            Mediona
    +#> 465                                           Olèrdola
    +#> 466                                Olesa de Bonesvalls
    +#> 467                                   Pacs del Penedès
    +#> 468                                            Pontons
    +#> 469                                         Puigdàlber
    +#> 470                            Sant Cugat Sesgarrigues
    +#> 471                             Sant Llorenç d'Hortons
    +#> 472                                 Sant Martí Sarroca
    +#> 473                          Sant Pere de Riudebitlles
    +#> 474                             Sant Quintí de Mediona
    +#> 475                               Sant Sadurní d'Anoia
    +#> 476                               Santa Fe del Penedès
    +#> 477                       Santa Margarida i els Monjos
    +#> 478                                           Subirats
    +#> 479                                         Torrelavit
    +#> 480                                  Torrelles de Foix
    +#> 481                             Vilafranca del Penedès
    +#> 482                                 Vilobí del Penedès
    +#> 483                                        Alàs i Cerc
    +#> 484                                           Arsèguel
    +#> 485                                           Bassella
    +#> 486                                               Cabó
    +#> 487                                               Cava
    +#> 488                                      Coll de Nargó
    +#> 489                                     el Pont de Bar
    +#> 490                                          Estamariu
    +#> 491                                    Fígols i Alinyà
    +#> 492                                      Josa i Tuixén
    +#> 493                                    la Seu d'Urgell
    +#> 494                                 la Vansa i Fórnols
    +#> 495                                les Valls d'Aguilar
    +#> 496                                les Valls de Valira
    +#> 497                             Montferrer i Castellbò
    +#> 498                                             Oliana
    +#> 499                                            Organyà
    +#> 500                                           Peramola
    +#> 501                                  Ribera d'Urgellet
    +#> 502                                   el Pont de Suert
    +#> 503                                     la Vall de Boí
    +#> 504                                           Vilaller
    +#> 505                                          Argençola
    +#> 506                                           Bellprat
    +#> 507                                    Cabrera d'Anoia
    +#> 508                                              Calaf
    +#> 509                                 Calonge de Segarra
    +#> 510                                         Capellades
    +#> 511                                              Carme
    +#> 512                         Castellfollit de Riubregós
    +#> 513                                         Castellolí
    +#> 514                                             Copons
    +#> 515                                            el Bruc
    +#> 516                           els Hostalets de Pierola
    +#> 517                                   els Prats de Rei
    +#> 518                                           Igualada
    +#> 519                                              Jorba
    +#> 520                                         la Llacuna
    +#> 521                              la Pobla de Claramunt
    +#> 522                              la Torre de Claramunt
    +#> 523                                           Masquefa
    +#> 524                                          Montmaneu
    +#> 525                                              Òdena
    +#> 526                                               Orpí
    +#> 527                                              Piera
    +#> 528                                             Pujalt
    +#> 529                                              Rubió
    +#> 530                                 Sant Martí de Tous
    +#> 531                             Sant Martí Sesgueioles
    +#> 532                              Sant Pere Sallavinera
    +#> 533                         Santa Margarida de Montbui
    +#> 534                            Santa Maria de Miralles
    +#> 535                                   Vallbona d'Anoia
    +#> 536                                            Veciana
    +#> 537                                  Vilanova del Camí
    +#> 538                                 Aguilar de Segarra
    +#> 539                                              Artés
    +#> 540                                             Avinyó
    +#> 541                                          Balsareny
    +#> 542                                             Callús
    +#> 543                                            Cardona
    +#> 544                             Castellbell i el Vilar
    +#> 545                             Castellfollit del Boix
    +#> 546                                        Castellgalí
    +#> 547                                Castellnou de Bages
    +#> 548                     el Pont de Vilomara i Rocafort
    +#> 549                                          Fonollosa
    +#> 550                                               Gaià
    +#> 551                                            Manresa
    +#> 552                                          Marganell
    +#> 553                            Monistrol de Montserrat
    +#> 554                                               Mura
    +#> 555                                          Navarcles
    +#> 556                                              Navàs
    +#> 557                                           Rajadell
    +#> 558                                            Sallent
    +#> 559                                Sant Feliu Sasserra
    +#> 560                              Sant Fruitós de Bages
    +#> 561                           Sant Joan de Vilatorrada
    +#> 562                                Sant Mateu de Bages
    +#> 563                         Sant Salvador de Guardiola
    +#> 564                           Sant Vicenç de Castellet
    +#> 565                                          Santpedor
    +#> 566                                              Súria
    +#> 567                                          Talamanca
    +#> 568                                            Alforja
    +#> 569                                           Almoster
    +#> 570                                             Arbolí
    +#> 571                                           Botarell
    +#> 572                                           Cambrils
    +#> 573                                          Capafonts
    +#> 574                               Castellvell del Camp
    +#> 575                                          Colldejou
    +#> 576                                         Duesaigües
    +#> 577                                           l'Albiol
    +#> 578                                          l'Aleixar
    +#> 579                                        l'Argentera
    +#> 580                                           la Febró
    +#> 581                                  la Selva del Camp
    +#> 582                                les Borges del Camp
    +#> 583                                          Maspujols
    +#> 584                                 Mont-roig del Camp
    +#> 585                                  Montbrió del Camp
    +#> 586                                             Prades
    +#> 587                                            Pratdip
    +#> 588                                               Reus
    +#> 589                                        Riudecanyes
    +#> 590                                          Riudecols
    +#> 591                                            Riudoms
    +#> 592               Vandellòs i l'Hospitalet de l'Infant
    +#> 593                             Vilanova d'Escornalbou
    +#> 594                                          Vilaplana
    +#> 595                                 Vinyols i els Arcs
    +#> 596                                            Aldover
    +#> 597                                   Alfara de Carles
    +#> 598                                         Benifallet
    +#> 599                                           Camarles
    +#> 600                                           Deltebre
    +#> 601                                         el Perelló
    +#> 602                                            l'Aldea
    +#> 603                                   l'Ametlla de Mar
    +#> 604                                          l'Ampolla
    +#> 605                                              Paüls
    +#> 606                                           Roquetes
    +#> 607                                            Tivenys
    +#> 608                                            Tortosa
    +#> 609                                              Xerta
    +#> 610                                             Albons
    +#> 611                                              Begur
    +#> 612                                Bellcaire d'Empordà
    +#> 613                              Calonge i Sant Antoni
    +#> 614              Castell d'Aro, Platja d'Aro i s'Agaró
    +#> 615                                           Colomers
    +#> 616                                              Corçà
    +#> 617        Cruïlles, Monells i Sant Sadurní de l'Heura
    +#> 618                                              Foixà
    +#> 619                                        Fontanilles
    +#> 620                                         Garrigoles
    +#> 621                                             Gualta
    +#> 622                                              Jafre
    +#> 623                                la Bisbal d'Empordà
    +#> 624                                            la Pera
    +#> 625                               la Tallada d'Empordà
    +#> 626                                           Mont-ras
    +#> 627                                        Palafrugell
    +#> 628                                            Palamós
    +#> 629                                        Palau-sator
    +#> 630                                               Pals
    +#> 631                                            Parlavà
    +#> 632                                           Regencós
    +#> 633                                              Rupià
    +#> 634                              Sant Feliu de Guíxols
    +#> 635                               Santa Cristina d'Aro
    +#> 636                                      Serra de Daró
    +#> 637                                            Torrent
    +#> 638                               Torroella de Montgrí
    +#> 639                                               Ullà
    +#> 640                                          Ullastret
    +#> 641                                          Ultramort
    +#> 642                                      Vall-llobrega
    +#> 643                                             Verges
    +#> 644                                           Vilopriu
    +#> 645                                           Forallac
    +#> 646                                             Abrera
    +#> 647                                             Begues
    +#> 648                                      Castelldefels
    +#> 649                               Castellví de Rosanes
    +#> 650                                           Cervelló
    +#> 651                                           Collbató
    +#> 652                               Corbera de Llobregat
    +#> 653                              Cornellà de Llobregat
    +#> 654                                          el Papiol
    +#> 655                               el Prat de Llobregat
    +#> 656                                       Esparreguera
    +#> 657                             Esplugues de Llobregat
    +#> 658                                               Gavà
    +#> 659                               la Palma de Cervelló
    +#> 660                                          Martorell
    +#> 661                                      Molins de Rei
    +#> 662                                Olesa de Montserrat
    +#> 663                                            Pallejà
    +#> 664                            Sant Andreu de la Barca
    +#> 665                              Sant Boi de Llobregat
    +#> 666                          Sant Climent de Llobregat
    +#> 667                             Sant Esteve Sesrovires
    +#> 668                            Sant Feliu de Llobregat
    +#> 669                                    Sant Joan Despí
    +#> 670                                  Sant Just Desvern
    +#> 671                             Sant Vicenç dels Horts
    +#> 672                           Santa Coloma de Cervelló
    +#> 673                             Torrelles de Llobregat
    +#> 674                                          Vallirana
    +#> 675                                         Viladecans
    +#> 676                                          Albinyana
    +#> 677                               Banyeres del Penedès
    +#> 678                                            Bellvei
    +#> 679                                           Bonastre
    +#> 680                                           Calafell
    +#> 681                                              Cunit
    +#> 682                                        el Montmell
    +#> 683                                        el Vendrell
    +#> 684                                            l'Arboç
    +#> 685                              la Bisbal del Penedès
    +#> 686                                Llorenç del Penedès
    +#> 687                                         Masllorenç
    +#> 688                            Sant Jaume dels Domenys
    +#> 689                                        Santa Oliva
    +#> 690                                           Badalona
    +#> 691                                          Barcelona
    +#> 692                          l'Hospitalet de Llobregat
    +#> 693                                Sant Adrià de Besòs
    +#> 694                           Santa Coloma de Gramenet
    +#> 695                                               Avià
    +#> 696                                               Bagà
    +#> 697                                              Berga
    +#> 698                                            Borredà
    +#> 699                                            Capolat
    +#> 700                                          Casserres
    +#> 701                                 Castell de l'Areny
    +#> 702                                 Castellar de n'Hug
    +#> 703                                  Castellar del Riu
    +#> 704                                              Cercs
    +#> 705                                             Fígols
    +#> 706                                          Gironella
    +#> 707                                         Gisclareny
    +#> 708                                              Gósol
    +#> 709                              Guardiola de Berguedà
    +#> 710                                        l'Espunyola
    +#> 711                                 la Nou de Berguedà
    +#> 712                                 la Pobla de Lillet
    +#> 713                                            la Quar
    +#> 714                                           Montclar
    +#> 715                                          Montmajor
    +#> 716                                              Olvan
    +#> 717                                          Puig-reig
    +#> 718                                              Sagàs
    +#> 719                                             Saldes
    +#> 720                            Sant Jaume de Frontanyà
    +#> 721                           Sant Julià de Cerdanyola
    +#> 722                              Santa Maria de Merlès
    +#> 723                                          Vallcebre
    +#> 724                                             Vilada
    +#> 725                                  Viver i Serrateix
    +#> 726                                                Alp
    +#> 727                                Bellver de Cerdanya
    +#> 728                                             Bolvir
    +#> 729                                                Das
    +#> 730                              Fontanals de Cerdanya
    +#> 731                                                Ger
    +#> 732                                  Guils de Cerdanya
    +#> 733                                             Isòvol
    +#> 734                                   Lles de Cerdanya
    +#> 735                                             Llívia
    +#> 736                                           Meranges
    +#> 737                                Montellà i Martinet
    +#> 738                                     Prats i Sansor
    +#> 739                                           Prullans
    +#> 740                                          Puigcerdà
    +#> 741                                    Riu de Cerdanya
    +#> 742                                               Urús
    +#> 743                                Barberà de la Conca
    +#> 744                                         Blancafort
    +#> 745                                             Conesa
    +#> 746                                              Forès
    +#> 747                              l'Espluga de Francolí
    +#> 748                                          les Piles
    +#> 749                                             Llorac
    +#> 750                                          Montblanc
    +#> 751                               Passanant i Belltall
    +#> 752                                               Pira
    +#> 753                                            Pontils
    +#> 754                                Rocafort de Queralt
    +#> 755                            Santa Coloma de Queralt
    +#> 756                                             Sarral
    +#> 757                                 Savallà del Comtat
    +#> 758                                              Senan
    +#> 759                                          Solivella
    +#> 760                                          Vallclara
    +#> 761                              Vallfogona de Riucorb
    +#> 762                                 Vilanova de Prades
    +#> 763                                           Vilaverd
    +#> 764                                   Vimbodí i Poblet
    +#> 765                                          Canyelles
    +#> 766                                           Cubelles
    +#> 767                                           Olivella
    +#> 768                                 Sant Pere de Ribes
    +#> 769                                             Sitges
    +#> 770                               Vilanova i la Geltrú
    +#> 771                                             Arbeca
    +#> 772                                        Bellaguarda
    +#> 773                                             Bovera
    +#> 774                                        Castelldans
    +#> 775                            Cervià de les Garrigues
    +#> 776                                           el Cogul
    +#> 777                                         el Soleràs
    +#> 778                                        el Vilosell
    +#> 779                                       els Omellons
    +#> 780                                          els Torms
    +#> 781                                            Fulleda
    +#> 782                          Granyena de les Garrigues
    +#> 783                                            Juncosa
    +#> 784                                             Juneda
    +#> 785                                          l'Albagés
    +#> 786                                             l'Albi
    +#> 787                                    l'Espluga Calba
    +#> 788                                        la Floresta
    +#> 789                                      la Granadella
    +#> 790                               la Pobla de Cérvoles
    +#> 791                                les Borges Blanques
    +#> 792                                           Puiggròs
    +#> 793                                             Tarrés
    +#> 794                                            Vinaixa
    +#> 795                                         Argelaguer
    +#> 796                                             Besalú
    +#> 797                                              Beuda
    +#> 798                           Castellfollit de la Roca
    +#> 799                                   la Vall d'en Bas
    +#> 800                                  la Vall de Bianya
    +#> 801                              les Planes d'Hostoles
    +#> 802                                         les Preses
    +#> 803                                    Maià de Montcal
    +#> 804                                             Mieres
    +#> 805                                     Montagut i Oix
    +#> 806                                               Olot
    +#> 807                                           Riudaura
    +#> 808                                   Sales de Llierca
    +#> 809                            Sant Aniol de Finestres
    +#> 810                            Sant Feliu de Pallerols
    +#> 811                                       Sant Ferriol
    +#> 812                              Sant Jaume de Llierca
    +#> 813                                Sant Joan les Fonts
    +#> 814                                          Santa Pau
    +#> 815                                           Tortellà
    +#> 816                                          Aiguaviva
    +#> 817                                            Bescanó
    +#> 818                                            Bordils
    +#> 819                                          Campllong
    +#> 820                                       Canet d'Adri
    +#> 821                                  Cassà de la Selva
    +#> 822                                              Celrà
    +#> 823                                      Cervià de Ter
    +#> 824                                              Flaçà
    +#> 825                               Fornells de la Selva
    +#> 826                                             Girona
    +#> 827                                               Juià
    +#> 828                                         Llagostera
    +#> 829                                         Llambilles
    +#> 830                                         Madremanya
    +#> 831                                              Quart
    +#> 832                                               Salt
    +#> 833                                  Sant Andreu Salou
    +#> 834                                       Sant Gregori
    +#> 835                                Sant Joan de Mollet
    +#> 836                                Sant Jordi Desvalls
    +#> 837                                Sant Julià de Ramis
    +#> 838                              Sant Martí de Llémena
    +#> 839                                    Sant Martí Vell
    +#> 840                                      Sarrià de Ter
    +#> 841                                        Vilablareix
    +#> 842                                         Viladasens
    +#> 843                                             Alpens
    +#> 844                                              Lluçà
    +#> 845                                              Olost
    +#> 846                                             Oristà
    +#> 847                                           Perafita
    +#> 848                                  Prats de Lluçanès
    +#> 849                                Sant Martí d'Albars
    +#> 850                                          Sobremunt
    +#> 851                                             Alella
    +#> 852                                      Arenys de Mar
    +#> 853                                     Arenys de Munt
    +#> 854                                          Argentona
    +#> 855                                     Cabrera de Mar
    +#> 856                                            Cabrils
    +#> 857                                    Caldes d'Estrac
    +#> 858                                            Calella
    +#> 859                                       Canet de Mar
    +#> 860                                            Dosrius
    +#> 861                                          el Masnou
    +#> 862                                     Malgrat de Mar
    +#> 863                                             Mataró
    +#> 864                                            Montgat
    +#> 865                                             Òrrius
    +#> 866                                          Palafolls
    +#> 867                                      Pineda de Mar
    +#> 868                                     Premià de Dalt
    +#> 869                                      Premià de Mar
    +#> 870                          Sant Andreu de Llavaneres
    +#> 871                            Sant Cebrià de Vallalta
    +#> 872                             Sant Iscle de Vallalta
    +#> 873                                    Sant Pol de Mar
    +#> 874                             Sant Vicenç de Montalt
    +#> 875                                      Santa Susanna
    +#> 876                                               Teià
    +#> 877                                              Tiana
    +#> 878                                            Tordera
    +#> 879                                   Vilassar de Dalt
    +#> 880                                    Vilassar de Mar
    +#> 881                                            Calders
    +#> 882                                         Castellcir
    +#> 883                                      Castellterçol
    +#> 884                                        Collsuspina
    +#> 885                                            Granera
    +#> 886                                           l'Estany
    +#> 887                                               Moià
    +#> 888                               Monistrol de Calders
    +#> 889                                 Sant Quirze Safaja
    +#> 890                                  Santa Maria d'Oló
    +#> 891                                            Alcanar
    +#> 892                                            Amposta
    +#> 893                                          Freginals
    +#> 894                                             Godall
    +#> 895                                          la Galera
    +#> 896                                          la Ràpita
    +#> 897                                           la Sénia
    +#> 898                                   Mas de Barberans
    +#> 899                                        Masdenverge
    +#> 900                                Sant Jaume d'Enveja
    +#> 901                                      Santa Bàrbara
    +#> 902                                          Ulldecona
    +#> 903                                               Àger
    +#> 904                                             Albesa
    +#> 905                                            Algerri
    +#> 906                                   Alòs de Balaguer
    +#> 907                                    Artesa de Segre
    +#> 908                                           Balaguer
    +#> 909                                 Bellcaire d'Urgell
    +#> 910                                  Bellmunt d'Urgell
    +#> 911                                         Cabanabona
    +#> 912                                           Camarasa
    +#> 913                               Castelló de Farfanya
    +#> 914                                            Cubells
    +#> 915                                           Foradada
    +#> 916                                   Ivars de Noguera
    +#> 917                                la Baronia de Rialb
    +#> 918                                   la Sentiu de Sió
    +#> 919                        les Avellanes i Santa Linya
    +#> 920                                         Menàrguens
    +#> 921                                            Montgai
    +#> 922                                             Oliola
    +#> 923                                     Os de Balaguer
    +#> 924                                           Penelles
    +#> 925                                              Ponts
    +#> 926                                           Preixens
    +#> 927                                            Térmens
    +#> 928                                            Tiurana
    +#> 929                                         Torrelameu
    +#> 930                             Vallfogona de Balaguer
    +#> 931                                Vilanova de l'Aguda
    +#> 932                                   Vilanova de Meià
    +#> 933                                            Balenyà
    +#> 934                                        Calldetenes
    +#> 935                                          Centelles
    +#> 936                                           el Brull
    +#> 937                                         Espinelves
    +#> 938                                        Folgueroles
    +#> 939                                               Gurb
    +#> 940                                         l'Esquirol
    +#> 941                                 les Masies de Roda
    +#> 942                             les Masies de Voltregà
    +#> 943                                              Malla
    +#> 944                                            Manlleu
    +#> 945                                         Montesquiu
    +#> 946                                         Muntanyola
    +#> 947                                               Orís
    +#> 948                                        Roda de Ter
    +#> 949                                      Rupit i Pruit
    +#> 950                            Sant Agustí de Lluçanès
    +#> 951                             Sant Bartomeu del Grau
    +#> 952                               Sant Boi de Lluçanès
    +#> 953                           Sant Hipòlit de Voltregà
    +#> 954                            Sant Julià de Vilatorta
    +#> 955                            Sant Martí de Centelles
    +#> 956                               Sant Pere de Torelló
    +#> 957                              Sant Quirze de Besora
    +#> 958                            Sant Sadurní d'Osormort
    +#> 959                             Sant Vicenç de Torelló
    +#> 960                          Santa Cecília de Voltregà
    +#> 961                             Santa Eugènia de Berga
    +#> 962                         Santa Eulàlia de Riuprimer
    +#> 963                              Santa Maria de Besora
    +#> 964                                               Seva
    +#> 965                                               Sora
    +#> 966                                           Taradell
    +#> 967                                         Tavèrnoles
    +#> 968                                           Tavertet
    +#> 969                                               Tona
    +#> 970                                            Torelló
    +#> 971                                                Vic
    +#> 972                                              Vidrà
    +#> 973                                           Viladrau
    +#> 974                                    Vilanova de Sau
    +#> 975                                 Abella de la Conca
    +#> 976                                     Castell de Mur
    +#> 977                                      Conca de Dalt
    +#> 978                                  Gavet de la Conca
    +#> 979                                Isona i Conca Dellà
    +#> 980                                  la Pobla de Segur
    +#> 981                               la Torre de Cabdella
    +#> 982                                           Llimiana
    +#> 983                                   Salàs de Pallars
    +#> 984                            Sant Esteve de la Sarga
    +#> 985                                 Sarroca de Bellera
    +#> 986                                          Senterada
    +#> 987                                             Talarn
    +#> 988                                              Tremp
    +#> 989                                              Alins
    +#> 990                                           Alt Àneu
    +#> 991                                       Baix Pallars
    +#> 992                                              Espot
    +#> 993                                     Esterri d'Àneu
    +#> 994                                  Esterri de Cardós
    +#> 995                                            Farrera
    +#> 996                                la Guingueta d'Àneu
    +#> 997                                           Lladorre
    +#> 998                                           Llavorsí
    +#> 999                                              Rialp
    +#> 1000                                         Soriguera
    +#> 1001                                              Sort
    +#> 1002                                            Tírvia
    +#> 1003                                    Vall de Cardós
    +#> 1004                                           Barbens
    +#> 1005                                Bell-lloc d'Urgell
    +#> 1006                                           Bellvís
    +#> 1007                               Castellnou de Seana
    +#> 1008                              el Palau d'Anglesola
    +#> 1009                                           el Poal
    +#> 1010                                        Fondarella
    +#> 1011                                            Golmés
    +#> 1012                                    Ivars d'Urgell
    +#> 1013                                           Linyola
    +#> 1014                                         Miralcamp
    +#> 1015                                        Mollerussa
    +#> 1016                                           Sidamon
    +#> 1017                                       Torregrossa
    +#> 1018                                         Vila-sana
    +#> 1019                              Vilanova de Bellpuig
    +#> 1020                                          Banyoles
    +#> 1021                                             Camós
    +#> 1022                                Cornellà del Terri
    +#> 1023                                           Crespià
    +#> 1024                                         Esponellà
    +#> 1025                                       Fontcoberta
    +#> 1026                                 Palol de Revardit
    +#> 1027                                         Porqueres
    +#> 1028                          Sant Miquel de Campmajor
    +#> 1029                                           Serinyà
    +#> 1030                                        Vilademuls
    +#> 1031                              Bellmunt del Priorat
    +#> 1032                                           Cabacés
    +#> 1033                                          Capçanes
    +#> 1034                            Cornudella de Montsant
    +#> 1035                                          el Lloar
    +#> 1036                                        el Masroig
    +#> 1037                                          el Molar
    +#> 1038                                      els Guiamets
    +#> 1039                                            Falset
    +#> 1040                                        Gratallops
    +#> 1041                             la Bisbal de Montsant
    +#> 1042                                        la Figuera
    +#> 1043                             la Morera de Montsant
    +#> 1044                           la Torre de Fontaubella
    +#> 1045                                   la Vilella Alta
    +#> 1046                                  la Vilella Baixa
    +#> 1047                                             Marçà
    +#> 1048                                          Margalef
    +#> 1049                                          Poboleda
    +#> 1050                                           Porrera
    +#> 1051                             Pradell de la Teixeta
    +#> 1052                               Torroja del Priorat
    +#> 1053                                       Ulldemolins
    +#> 1054                                              Ascó
    +#> 1055                                        Benissanet
    +#> 1056                                              Flix
    +#> 1057                                            Garcia
    +#> 1058                                          Ginestar
    +#> 1059                                   la Palma d'Ebre
    +#> 1060                            la Torre de l'Espanyol
    +#> 1061                                           Miravet
    +#> 1062                                       Móra d'Ebre
    +#> 1063                                      Móra la Nova
    +#> 1064                                          Rasquera
    +#> 1065                                  Riba-roja d'Ebre
    +#> 1066                                           Tivissa
    +#> 1067                                           Vinebre
    +#> 1068                                       Campdevànol
    +#> 1069                                         Campelles
    +#> 1070                                         Camprodon
    +#> 1071                                           Gombrèn
    +#> 1072                                       les Llosses
    +#> 1073                                           Llanars
    +#> 1074                                             Molló
    +#> 1075                                            Ogassa
    +#> 1076                                          Pardines
    +#> 1077                                          Planoles
    +#> 1078                                          Queralbs
    +#> 1079                                   Ribes de Freser
    +#> 1080                                            Ripoll
    +#> 1081                        Sant Joan de les Abadesses
    +#> 1082                              Sant Pau de Segúries
    +#> 1083                                          Setcases
    +#> 1084                                             Toses
    +#> 1085                            Vallfogona de Ripollès
    +#> 1086                                 Vilallonga de Ter
    +#> 1087                                            Biosca
    +#> 1088                                           Cervera
    +#> 1089                                  els Plans de Sió
    +#> 1090                                           Estaràs
    +#> 1091                                       Granyanella
    +#> 1092                               Granyena de Segarra
    +#> 1093                                          Guissona
    +#> 1094                                            Ivorra
    +#> 1095                                        les Oluges
    +#> 1096                                        Massoteres
    +#> 1097                               Montoliu de Segarra
    +#> 1098                              Montornès de Segarra
    +#> 1099                                   Ribera d'Ondara
    +#> 1100                                           Sanaüja
    +#> 1101                            Sant Guim de Freixenet
    +#> 1102                             Sant Guim de la Plana
    +#> 1103                                        Sant Ramon
    +#> 1104                                          Talavera
    +#> 1105                                Tarroja de Segarra
    +#> 1106                                              Torà
    +#> 1107                             Torrefeta i Florejacs
    +#> 1108                                            Aitona
    +#> 1109                                        Albatàrrec
    +#> 1110                                            Alcanó
    +#> 1111                                          Alcarràs
    +#> 1112                                         Alcoletge
    +#> 1113                                          Alfarràs
    +#> 1114                                             Alfés
    +#> 1115                                          Alguaire
    +#> 1116                                        Almacelles
    +#> 1117                                          Almatret
    +#> 1118                                           Almenar
    +#> 1119                                           Alpicat
    +#> 1120                                  Artesa de Lleida
    +#> 1121                                              Aspa
    +#> 1122                                Benavent de Segrià
    +#> 1123                                           Corbins
    +#> 1124                                        els Alamús
    +#> 1125                     Gimenells i el Pla de la Font
    +#> 1126                                la Granja d'Escarp
    +#> 1127                                       la Portella
    +#> 1128                                        Llardecans
    +#> 1129                                            Lleida
    +#> 1130                                            Maials
    +#> 1131                                      Massalcoreig
    +#> 1132                                Montoliu de Lleida
    +#> 1133                                Puigverd de Lleida
    +#> 1134                                          Rosselló
    +#> 1135                                 Sarroca de Lleida
    +#> 1136                                             Seròs
    +#> 1137                                             Soses
    +#> 1138                                          Sudanell
    +#> 1139                                            Sunyer
    +#> 1140                                      Torre-serona
    +#> 1141                                       Torrebesses
    +#> 1142                                      Torrefarrera
    +#> 1143                                   Torres de Segre
    +#> 1144                              Vilanova de la Barca
    +#> 1145                                Vilanova de Segrià
    +#> 1146                                              Amer
    +#> 1147                                            Anglès
    +#> 1148                                          Arbúcies
    +#> 1149                                            Blanes
    +#> 1150                                             Breda
    +#> 1151                     Brunyola i Sant Martí Sapresa
    +#> 1152                               Caldes de Malavella
    +#> 1153                                Fogars de la Selva
    +#> 1154                                         Hostalric
    +#> 1155                                 la Cellera de Ter
    +#> 1156                                     Lloret de Mar
    +#> 1157                                          Massanes
    +#> 1158                               Maçanet de la Selva
    +#> 1159                                              Osor
    +#> 1160                                  Riells i Viabrea
    +#> 1161                                        Riudarenes
    +#> 1162                            Riudellots de la Selva
    +#> 1163                           Sant Feliu de Buixalleu
    +#> 1164                                Sant Hilari Sacalm
    +#> 1165                     Sant Julià del Llor i Bonmatí
    +#> 1166                           Santa Coloma de Farners
    +#> 1167                                              Sils
    +#> 1168                                          Susqueda
    +#> 1169                                      Tossa de Mar
    +#> 1170                                          Vidreres
    +#> 1171                                    Vilobí d'Onyar
    +#> 1172                            Castellar de la Ribera
    +#> 1173                              Clariana de Cardener
    +#> 1174                                           Guixers
    +#> 1175                                la Coma i la Pedra
    +#> 1176                                        la Molsosa
    +#> 1177                                           Lladurs
    +#> 1178                                           Llobera
    +#> 1179                                             Navès
    +#> 1180                                              Odèn
    +#> 1181                                             Olius
    +#> 1182                                Pinell de Solsonès
    +#> 1183                                             Pinós
    +#> 1184                                             Riner
    +#> 1185                           Sant Llorenç de Morunys
    +#> 1186                                           Solsona
    +#> 1187                                         Altafulla
    +#> 1188                                         Constantí
    +#> 1189                                          Creixell
    +#> 1190                                        el Catllar
    +#> 1191                                         el Morell
    +#> 1192                                    els Pallaresos
    +#> 1193                                        la Canonja
    +#> 1194                                    la Nou de Gaià
    +#> 1195                               la Pobla de Mafumet
    +#> 1196                             la Pobla de Montornès
    +#> 1197                                  la Riera de Gaià
    +#> 1198                                        la Secuita
    +#> 1199                                          Perafort
    +#> 1200                                             Renau
    +#> 1201                                      Roda de Berà
    +#> 1202                                            Salomó
    +#> 1203                                             Salou
    +#> 1204                                         Tarragona
    +#> 1205                                     Torredembarra
    +#> 1206                                  Vespella de Gaià
    +#> 1207                                         Vila-seca
    +#> 1208                               Vilallonga del Camp
    +#> 1209                                             Arnes
    +#> 1210                                             Batea
    +#> 1211                                               Bot
    +#> 1212                                           Caseres
    +#> 1213                                    Corbera d'Ebre
    +#> 1214                                 el Pinell de Brai
    +#> 1215                                           Gandesa
    +#> 1216                                Horta de Sant Joan
    +#> 1217                                      la Fatarella
    +#> 1218                             la Pobla de Massaluca
    +#> 1219                                     Prat de Comte
    +#> 1220                                 Vilalba dels Arcs
    +#> 1221                                          Agramunt
    +#> 1222                                         Anglesola
    +#> 1223                                          Belianes
    +#> 1224                                          Bellpuig
    +#> 1225                                       Castellserà
    +#> 1226                                        Ciutadilla
    +#> 1227                             els Omells de na Gaia
    +#> 1228                                           Guimerà
    +#> 1229                                        la Fuliola
    +#> 1230                                             Maldà
    +#> 1231                                             Nalec
    +#> 1232                                       Ossó de Sió
    +#> 1233                                          Preixana
    +#> 1234                               Puigverd d'Agramunt
    +#> 1235                             Sant Martí de Riucorb
    +#> 1236                                           Tàrrega
    +#> 1237                                         Tornabous
    +#> 1238                            Vallbona de les Monges
    +#> 1239                                             Verdú
    +#> 1240                                        Vilagrassa
    +#> 1241                                  Badia del Vallès
    +#> 1242                                Barberà del Vallès
    +#> 1243                              Castellar del Vallès
    +#> 1244                                     Castellbisbal
    +#> 1245                             Cerdanyola del Vallès
    +#> 1246                                           Gallifa
    +#> 1247                                        Matadepera
    +#> 1248                                 Montcada i Reixac
    +#> 1249                          Palau-solità i Plegamans
    +#> 1250                                           Polinyà
    +#> 1251                                         Rellinars
    +#> 1252                                          Ripollet
    +#> 1253                                              Rubí
    +#> 1254                                          Sabadell
    +#> 1255                             Sant Cugat del Vallès
    +#> 1256                               Sant Llorenç Savall
    +#> 1257                            Sant Quirze del Vallès
    +#> 1258                          Santa Perpètua de Mogoda
    +#> 1259                                         Sentmenat
    +#> 1260                                          Terrassa
    +#> 1261                                        Ullastrell
    +#> 1262                                        Vacarisses
    +#> 1263                                     Viladecavalls
    +#> 1264                                        Aiguafreda
    +#> 1265                           Bigues i Riells del Fai
    +#> 1266                                 Caldes de Montbui
    +#> 1267                                           Campins
    +#> 1268                                        Canovelles
    +#> 1269                                 Cànoves i Samalús
    +#> 1270                                          Cardedeu
    +#> 1271                                   Figaró-Montmany
    +#> 1272                                Fogars de Montclús
    +#> 1273                                        Granollers
    +#> 1274                                            Gualba
    +#> 1275                              l'Ametlla del Vallès
    +#> 1276                                        la Garriga
    +#> 1277                                       la Llagosta
    +#> 1278                                la Roca del Vallès
    +#> 1279                         les Franqueses del Vallès
    +#> 1280                                     Lliçà d'Amunt
    +#> 1281                                     Lliçà de Vall
    +#> 1282                                Llinars del Vallès
    +#> 1283                                       Martorelles
    +#> 1284                                 Mollet del Vallès
    +#> 1285                                          Montmeló
    +#> 1286                              Montornès del Vallès
    +#> 1287                                          Montseny
    +#> 1288                                 Parets del Vallès
    +#> 1289                          Sant Antoni de Vilamajor
    +#> 1290                                       Sant Celoni
    +#> 1291                       Sant Esteve de Palautordera
    +#> 1292                             Sant Feliu de Codines
    +#> 1293                        Sant Fost de Campsentelles
    +#> 1294                            Sant Pere de Vilamajor
    +#> 1295                          Santa Eulàlia de Ronçana
    +#> 1296                        Santa Maria de Martorelles
    +#> 1297                       Santa Maria de Palautordera
    +#> 1298                                        Tagamanent
    +#> 1299                                      Vallgorguina
    +#> 1300                                       Vallromanes
    +#> 1301                                  Vilalba Sasserra
    +#> 1302                               Vilanova del Vallès
    +#> 1303                                          València
    +#> 1304                                  Alcalà de Xivert
    +#> 1305                                         Benicarló
    +#> 1306                                             Càlig
    +#> 1307                                     Canet lo Roig
    +#> 1308                                 Castell de Cabres
    +#> 1309                               Cervera del Maestre
    +#> 1310                                           la Jana
    +#> 1311                             la Pobla de Benifassà
    +#> 1312                                     la Salzadella
    +#> 1313                             Peníscola / Peñíscola
    +#> 1314                                           Rossell
    +#> 1315                            Sant Jordi / San Jorge
    +#> 1316                                        Sant Mateu
    +#> 1317                                Sant Rafel del Riu
    +#> 1318                         Santa Magdalena de Pulpis
    +#> 1319                                         Traiguera
    +#> 1320                                           Vinaròs
    +#> 1321                                              Xert
    +#> 1322                              Guardamar del Segura
    +#> 1323                                        Crevillent
    +#> 1324                                       Elx / Elche
    +#> 1325                                        Santa Pola
    +#> 1326                            Albalat dels Tarongers
    +#> 1327                              Alfara de la Baronia
    +#> 1328                                 Algar de Palància
    +#> 1329                                  Algímia d'Alfara
    +#> 1330                                         Benavites
    +#> 1331                            Benifairó de les Valls
    +#> 1332                              Canet d'en Berenguer
    +#> 1333                                         Estivella
    +#> 1334                                             Faura
    +#> 1335                                             Gilet
    +#> 1336                                            Petrés
    +#> 1337                                Quart de les Valls
    +#> 1338                                          Quartell
    +#> 1339                                  Sagunt / Sagunto
    +#> 1340                                            Segart
    +#> 1341                                     Torres Torres
    +#> 1342                                        Benaguasil
    +#> 1343                                         Benissanó
    +#> 1344                                            Bétera
    +#> 1345                                           Casinos
    +#> 1346                                          l'Eliana
    +#> 1347                              la Pobla de Vallbona
    +#> 1348                                            Llíria
    +#> 1349                                 Nàquera / Náquera
    +#> 1350                                            Olocau
    +#> 1351                                Riba-roja de Túria
    +#> 1352                                             Serra
    +#> 1353                                       Vilamarxant
    +#> 1354                                             Agres
    +#> 1355                                          Alcoleja
    +#> 1356                                          Alcosser
    +#> 1357                                          Alfafara
    +#> 1358                                         Almudaina
    +#> 1359                                           Balones
    +#> 1360                                           Benasau
    +#> 1361                                         Beniarrés
    +#> 1362                                         Benilloba
    +#> 1363                                          Benillup
    +#> 1364                                       Benimarfull
    +#> 1365                                        Benimassot
    +#> 1366                                        Cocentaina
    +#> 1367                                            Fageca
    +#> 1368                                           Famorca
    +#> 1369                                           Gaianes
    +#> 1370                                             Gorga
    +#> 1371                                l'Alqueria d'Asnar
    +#> 1372                                   l'Orxa / Lorcha
    +#> 1373                                           Millena
    +#> 1374                                     Muro de Alcoy
    +#> 1375                                            Planes
    +#> 1376                                     Quatretondeta
    +#> 1377                                            Tollos
    +#> 1378       el Fondó de les Neus / Hondón de las Nieves
    +#> 1379                             Hondón de los Frailes
    +#> 1380                                 el Pinós / Pinoso
    +#> 1381                                           Algueña
    +#> 1382                                         la Romana
    +#> 1383                                 Monòver / Monóvar
    +#> 1384                                           Novelda
    +#> 1385                                            Petrer
    +#> 1386                                       Castellfort
    +#> 1387                                        Cinctorres
    +#> 1388                                           Forcall
    +#> 1389                                           Herbers
    +#> 1390                                la Mata de Morella
    +#> 1391                                         Todolella
    +#> 1392                                           Morella
    +#> 1393                                         Palanques
    +#> 1394                                Portell de Morella
    +#> 1395                             Zorita del Maestrazgo
    +#> 1396                                         Vallibona
    +#> 1397                  Vilafranca / Villafranca del Cid
    +#> 1398                                          Villores
    +#> 1399                                             Agost
    +#> 1400                                            Aigües
    +#> 1401                                Alacant / Alicante
    +#> 1402                                             Busot
    +#> 1403                                       el Campello
    +#> 1404           la Torre de les Maçanes / Torremanzanas
    +#> 1405                                          Mutxamel
    +#> 1406                               Sant Joan d'Alacant
    +#> 1407 Sant Vicent del Raspeig / San Vicente del Raspeig
    +#> 1408                                   Xixona / Jijona
    +#> 1409                                            Costur
    +#> 1410                                        Figueroles
    +#> 1411                                          l'Alcora
    +#> 1412                               les Useres / Useras
    +#> 1413                          Llucena / Lucena del Cid
    +#> 1414                           Vistabella del Maestrat
    +#> 1415                                    Xodos / Chodos
    +#> 1416                                     Alcoi / Alcoy
    +#> 1417                               Banyeres de Mariola
    +#> 1418                                        Benifallim
    +#> 1419                                          Castalla
    +#> 1420                                               Ibi
    +#> 1421                                              Onil
    +#> 1422                                         Penàguila
    +#> 1423                                              Tibi
    +#> 1424                                        Albocàsser
    +#> 1425                                 Ares del Maestrat
    +#> 1426                             Atzeneta del Maestrat
    +#> 1427                                         Benafigos
    +#> 1428                                          Benassal
    +#> 1429                                              Catí
    +#> 1430                                             Culla
    +#> 1431                                     la Serratella
    +#> 1432                              la Torre d'en Besora
    +#> 1433                                             Tírig
    +#> 1434                                    Vilar de Canes
    +#> 1435                                         Beneixama
    +#> 1436                                              Biar
    +#> 1437                 el Camp de Mirra / Campo de Mirra
    +#> 1438                                            Cañada
    +#> 1439                              Albalat dels Sorells
    +#> 1440                               Alboraia / Alboraya
    +#> 1441                                         Albuixech
    +#> 1442                              Alfara del Patriarca
    +#> 1443                                         Almàssera
    +#> 1444                              Bonrepòs i Mirambell
    +#> 1445                                         Burjassot
    +#> 1446                            el Puig de Santa Maria
    +#> 1447                                         Emperador
    +#> 1448                                             Foios
    +#> 1449                                           Godella
    +#> 1450                               la Pobla de Farnals
    +#> 1451                                      Massalfassar
    +#> 1452                                      Massamagrell
    +#> 1453                                           Meliana
    +#> 1454                                Montcada / Moncada
    +#> 1455                                           Museros
    +#> 1456                                           Paterna
    +#> 1457                                             Puçol
    +#> 1458                                       Rafelbunyol
    +#> 1459                                          Rocafort
    +#> 1460                                 Tavernes Blanques
    +#> 1461                                          Vinalesa
    +#> 1462                                           Alaquàs
    +#> 1463                                             Albal
    +#> 1464                                          Alcàsser
    +#> 1465                                            Aldaia
    +#> 1466                                           Alfafar
    +#> 1467                                        Benetússer
    +#> 1468                                       Beniparrell
    +#> 1469                                         Catarroja
    +#> 1470                              Llocnou de la Corona
    +#> 1471                                           Manises
    +#> 1472                                        Massanassa
    +#> 1473                                           Mislata
    +#> 1474                                          Paiporta
    +#> 1475                                           Picanya
    +#> 1476                                         Picassent
    +#> 1477                                   Quart de Poblet
    +#> 1478                                            Sedaví
    +#> 1479                                             Silla
    +#> 1480                                           Torrent
    +#> 1481                                         Xirivella
    +#> 1482                                           Barxeta
    +#> 1483                                            Canals
    +#> 1484                                             Cerdà
    +#> 1485                                        el Genovés
    +#> 1486                                          Estubeny
    +#> 1487                             l'Alcúdia de Crespins
    +#> 1488                             la Font de la Figuera
    +#> 1489                           la Granja de la Costera
    +#> 1490                                 la Llosa de Ranes
    +#> 1491                                  Llanera de Ranes
    +#> 1492                             Llocnou d'en Fenollet
    +#> 1493                                 Moixent / Mogente
    +#> 1494                                           Montesa
    +#> 1495                                           Novetlè
    +#> 1496                                  Rotglà i Corberà
    +#> 1497                                          Torrella
    +#> 1498                                           Vallada
    +#> 1499                                            Vallés
    +#> 1500                                            Xàtiva
    +#> 1501                                          Alcalalí
    +#> 1502                                        Beniarbeig
    +#> 1503                                        Benidoleig
    +#> 1504                                        Benigembla
    +#> 1505                                          Benimeli
    +#> 1506                                           Benissa
    +#> 1507                                              Calp
    +#> 1508                               Castell de Castells
    +#> 1509                                             Dénia
    +#> 1510         el Poble Nou de Benitatxell / Benitachell
    +#> 1511                                el Ràfol d'Almúnia
    +#> 1512                                         el Verger
    +#> 1513                                       els Poblets
    +#> 1514                                    Gata de Gorgos
    +#> 1515                                         l'Atzúbia
    +#> 1516                                  la Vall d'Alcalà
    +#> 1517                                     la Vall d'Ebo
    +#> 1518                              la Vall de Gallinera
    +#> 1519                                 la Vall de Laguar
    +#> 1520                                            Llíber
    +#> 1521                                             Murla
    +#> 1522                                            Ondara
    +#> 1523                                              Orba
    +#> 1524                                           Parcent
    +#> 1525                                         Pedreguer
    +#> 1526                                              Pego
    +#> 1527                                             Sagra
    +#> 1528                                   Sanet y Negrals
    +#> 1529                                            Senija
    +#> 1530                                           Teulada
    +#> 1531                                            Tormos
    +#> 1532                                     Xàbia / Jávea
    +#> 1533                                              Xaló
    +#> 1534                                             Altea
    +#> 1535                                          Beniardà
    +#> 1536                                          Benidorm
    +#> 1537                                          Benifato
    +#> 1538                                       Benimantell
    +#> 1539                                           Bolulla
    +#> 1540                               Callosa d'en Sarrià
    +#> 1541                                         Confrides
    +#> 1542                           el Castell de Guadalest
    +#> 1543                                         Finestrat
    +#> 1544                                    l'Alfàs del Pi
    +#> 1545                                          la Nucia
    +#> 1546                      la Vila Joiosa / Villajoyosa
    +#> 1547                                            Orxeta
    +#> 1548                                             Polop
    +#> 1549                                            Relleu
    +#> 1550                                             Sella
    +#> 1551                                           Tàrbena
    +#> 1552                                         Almassora
    +#> 1553                            Benicàssim / Benicasim
    +#> 1554                                           Benlloc
    +#> 1555                                           Borriol
    +#> 1556                                           Cabanes
    +#> 1557                              Castelló de la Plana
    +#> 1558                                  la Pobla Tornesa
    +#> 1559                                 Sierra Engarcerán
    +#> 1560                             la Torre d'en Doménec
    +#> 1561                                       Vall d'Alba
    +#> 1562                              les Coves de Vinromà
    +#> 1563                          Orpesa / Oropesa del Mar
    +#> 1564                                 Sant Joan de Moró
    +#> 1565                                       Torreblanca
    +#> 1566                                         Vilafamés
    +#> 1567                                Vilanova d'Alcolea
    +#> 1568                                               Aín
    +#> 1569                                     Alfondeguilla
    +#> 1570                                          Almenara
    +#> 1571                                            Artana
    +#> 1572                                             Betxí
    +#> 1573                               Borriana / Burriana
    +#> 1574                                            Eslida
    +#> 1575                                    Alcudia de Veo
    +#> 1576                                          la Llosa
    +#> 1577                                    la Vall d'Uixó
    +#> 1578                                      la Vilavella
    +#> 1579        les Alqueries / Alquerías del Niño Perdido
    +#> 1580                                           Moncofa
    +#> 1581                                             Nules
    +#> 1582                                              Onda
    +#> 1583                                        Ribesalbes
    +#> 1584                                    Suera / Sueras
    +#> 1585                                             Tales
    +#> 1586                                         Vila-real
    +#> 1587                                 Xilxes / Chilches
    +#> 1588                                           Alberic
    +#> 1589                               Alcàntera de Xúquer
    +#> 1590                                            Alfarb
    +#> 1591                                          Algemesí
    +#> 1592                                           Alginet
    +#> 1593                                            Alzira
    +#> 1594                                           Antella
    +#> 1595                                         Beneixida
    +#> 1596                                          Benifaió
    +#> 1597                                          Benimodo
    +#> 1598                                        Benimuslem
    +#> 1599                                        Carcaixent
    +#> 1600                                            Càrcer
    +#> 1601                                            Carlet
    +#> 1602                                          Castelló
    +#> 1603                                           Catadau
    +#> 1604                                             Cotes
    +#> 1605                                           Gavarda
    +#> 1606                                        Guadassuar
    +#> 1607                                         l'Alcúdia
    +#> 1608                                           l'Énova
    +#> 1609                                   la Pobla Llarga
    +#> 1610                                           Llombai
    +#> 1611                                            Manuel
    +#> 1612                                        Massalavés
    +#> 1613                                 Montroi / Montroy
    +#> 1614                                        Montserrat
    +#> 1615                                       Rafelguaraf
    +#> 1616                                              Real
    +#> 1617                                       Sant Joanet
    +#> 1618                                           Sellent
    +#> 1619                                           Senyera
    +#> 1620                                        Sumacàrcer
    +#> 1621                                             Turís
    +#> 1622                              Albalat de la Ribera
    +#> 1623                                        Almussafes
    +#> 1624                                Benicull de Xúquer
    +#> 1625                                           Corbera
    +#> 1626                                           Cullera
    +#> 1627                                            Favara
    +#> 1628                                         Fortaleny
    +#> 1629                                            Llaurí
    +#> 1630                                 Polinyà de Xúquer
    +#> 1631                                             Riola
    +#> 1632                                           Sollana
    +#> 1633                                             Sueca
    +#> 1634                                              Ador
    +#> 1635                                           Alfauir
    +#> 1636                                          Almiserà
    +#> 1637                                          Almoines
    +#> 1638                                              Barx
    +#> 1639                                       Bellreguard
    +#> 1640                                          Beniarjó
    +#> 1641                         Benifairó de la Valldigna
    +#> 1642                                           Beniflà
    +#> 1643                                        Benirredrà
    +#> 1644                       Castellonet de la Conquesta
    +#> 1645                                            Daimús
    +#> 1646                                 el Real de Gandia
    +#> 1647                                            Gandia
    +#> 1648                             Guardamar de la Safor
    +#> 1649                         l'Alqueria de la Comtessa
    +#> 1650                               la Font d'en Carròs
    +#> 1651                            Llocnou de Sant Jeroni
    +#> 1652                                           Miramar
    +#> 1653                                             Oliva
    +#> 1654                                   Palma de Gandía
    +#> 1655                                           Palmera
    +#> 1656                                             Piles
    +#> 1657                                           Potries
    +#> 1658                                        Rafelcofer
    +#> 1659                                            Ròtova
    +#> 1660                             Simat de la Valldigna
    +#> 1661                          Tavernes de la Valldigna
    +#> 1662                           Vilallonga / Villalonga
    +#> 1663                                            Xeraco
    +#> 1664                                            Xeresa
    +#> 1665                                          Agullent
    +#> 1666                                 Aielo de Malferit
    +#> 1667                                    Aielo de Rugat
    +#> 1668                                           Albaida
    +#> 1669                                         Alfarrasí
    +#> 1670                                Atzeneta d'Albaida
    +#> 1671                                           Bèlgida
    +#> 1672                                            Bellús
    +#> 1673                                         Beniatjar
    +#> 1674                                         Benicolet
    +#> 1675                                         Benigànim
    +#> 1676                                         Benissoda
    +#> 1677                                        Benissuera
    +#> 1678                                         Bocairent
    +#> 1679                                            Bufali
    +#> 1680                                         Carrícola
    +#> 1681                                 Castelló de Rugat
    +#> 1682                                        el Palomar
    +#> 1683                                    Ráfol de Salem
    +#> 1684                           Fontanars dels Alforins
    +#> 1685                                     Guadasséquies
    +#> 1686                                         l'Olleria
    +#> 1687                                  la Pobla del Duc
    +#> 1688                                          Llutxent
    +#> 1689                                       Montaverner
    +#> 1690                         Montitxelvo / Montichelvo
    +#> 1691                                         Ontinyent
    +#> 1692                                              Otos
    +#> 1693                                             Pinet
    +#> 1694                                       Quatretonda
    +#> 1695                                             Rugat
    +#> 1696                                             Salem
    +#> 1697                                           Sempere
    +#> 1698                                         Terrateig
    +#> 1699                                  l'Alguer/Alghero
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/territoris.html b/docs/reference/territoris.html new file mode 100644 index 0000000..9e03356 --- /dev/null +++ b/docs/reference/territoris.html @@ -0,0 +1,112 @@ + +Territoris dels Països Catalans — territoris • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Dades dels territoris dels Països Catalans.

    +
    + +
    +

    Ús

    +
    territoris
    +
    + +
    +

    Format

    +

    Un data.frame amb dades dels 10 territoris per les següents 7 variables.

    name:ca
    +

    Etiqueta name:ca.

    + +
    regio
    +

    Nom de la regió ["Andorra", "Aran", "CatNord", "Franja", "Illes", "Múrcia", "Principat", "PV"].

    + +
    osm_id
    +

    Número identificador a OSM.

    + +
    osm_type
    +

    Tipus d'objecte d'OSM.

    + +
    name
    +

    Etiqueta name.

    + +
    wikipedia
    +

    Etiqueta wikipedia.

    + +
    wikidata
    +

    Etiqueta wikidata.

    + + +
    +
    +

    Vegeu també

    +

    Altres bases de dades de referència: + municipis, comarques, PPCC, loc_admin_centre_municipis.

    +
    + +
    +

    Exemples

    +
    territoris[, c("regio", "name")]
    +#>        regio                                       name
    +#> 1    Andorra                                    Andorra
    +#> 2       Aran                                 Val d'Aran
    +#> 3    CatNord                         Catalunya del Nord
    +#> 4     Franja                           Franja de Ponent
    +#> 5      Illes                              Illes Balears
    +#> 6      Illes                                   Pitiüses
    +#> 7      Illes                                   Mallorca
    +#> 8      Illes                                    Menorca
    +#> 9     Múrcia                                  El Carche
    +#> 10 Principat    Català com a llengua pròpia a Catalunya
    +#> 11 Principat                                  Catalunya
    +#> 12        PV                       Comunitat Valenciana
    +#> 13        PV Municipis de Predomini Lingüístic Valencià
    +
    +
    +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/reference/versio_canvis_html.html b/docs/reference/versio_canvis_html.html new file mode 100644 index 0000000..2cc12d4 --- /dev/null +++ b/docs/reference/versio_canvis_html.html @@ -0,0 +1,75 @@ + +Mostra les versions que introdueixen canvis en html — versio_canvis_html • monitorOSM + Salta als continguts + + +
    +
    +
    + +
    +

    Funció pensada per usar en fitxers .qmd o .Rmd.

    +
    + +
    +

    Ús

    +
    versio_canvis_html(x)
    +
    + +
    +

    Paràmetres

    + + +
    x
    +

    Una llista de canvis retornada per cerca_versio_canvis().

    + +
    +
    +

    Valor

    +

    Mostra les taules html amb informació del conjunt de canvis que ha modificat etiquetes.

    +
    + +
    + + +
    + + + +
    + + + + + + + diff --git a/docs/search.json b/docs/search.json new file mode 100644 index 0000000..0480701 --- /dev/null +++ b/docs/search.json @@ -0,0 +1 @@ +[{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"GNU General Public License","title":"GNU General Public License","text":"Version 3, 29 June 2007Copyright © 2007 Free Software Foundation, Inc.  Everyone permitted copy distribute verbatim copies license document, changing allowed.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"preamble","dir":"","previous_headings":"","what":"Preamble","title":"GNU General Public License","text":"GNU General Public License free, copyleft license software kinds works. licenses software practical works designed take away freedom share change works. contrast, GNU General Public License intended guarantee freedom share change versions program–make sure remains free software users. , Free Software Foundation, use GNU General Public License software; applies also work released way authors. can apply programs, . speak free software, referring freedom, price. General Public Licenses designed make sure freedom distribute copies free software (charge wish), receive source code can get want , can change software use pieces new free programs, know can things. protect rights, need prevent others denying rights asking surrender rights. Therefore, certain responsibilities distribute copies software, modify : responsibilities respect freedom others. example, distribute copies program, whether gratis fee, must pass recipients freedoms received. must make sure , , receive can get source code. must show terms know rights. Developers use GNU GPL protect rights two steps: (1) assert copyright software, (2) offer License giving legal permission copy, distribute /modify . developers’ authors’ protection, GPL clearly explains warranty free software. users’ authors’ sake, GPL requires modified versions marked changed, problems attributed erroneously authors previous versions. devices designed deny users access install run modified versions software inside , although manufacturer can . fundamentally incompatible aim protecting users’ freedom change software. systematic pattern abuse occurs area products individuals use, precisely unacceptable. Therefore, designed version GPL prohibit practice products. problems arise substantially domains, stand ready extend provision domains future versions GPL, needed protect freedom users. Finally, every program threatened constantly software patents. States allow patents restrict development use software general-purpose computers, , wish avoid special danger patents applied free program make effectively proprietary. prevent , GPL assures patents used render program non-free. precise terms conditions copying, distribution modification follow.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_0-definitions","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"0. Definitions","title":"GNU General Public License","text":"“License” refers version 3 GNU General Public License. “Copyright” also means copyright-like laws apply kinds works, semiconductor masks. “Program” refers copyrightable work licensed License. licensee addressed “”. “Licensees” “recipients” may individuals organizations. “modify” work means copy adapt part work fashion requiring copyright permission, making exact copy. resulting work called “modified version” earlier work work “based ” earlier work. “covered work” means either unmodified Program work based Program. “propagate” work means anything , without permission, make directly secondarily liable infringement applicable copyright law, except executing computer modifying private copy. Propagation includes copying, distribution (without modification), making available public, countries activities well. “convey” work means kind propagation enables parties make receive copies. Mere interaction user computer network, transfer copy, conveying. interactive user interface displays “Appropriate Legal Notices” extent includes convenient prominently visible feature (1) displays appropriate copyright notice, (2) tells user warranty work (except extent warranties provided), licensees may convey work License, view copy License. interface presents list user commands options, menu, prominent item list meets criterion.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_1-source-code","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"1. Source Code","title":"GNU General Public License","text":"“source code” work means preferred form work making modifications . “Object code” means non-source form work. “Standard Interface” means interface either official standard defined recognized standards body, , case interfaces specified particular programming language, one widely used among developers working language. “System Libraries” executable work include anything, work whole, () included normal form packaging Major Component, part Major Component, (b) serves enable use work Major Component, implement Standard Interface implementation available public source code form. “Major Component”, context, means major essential component (kernel, window system, ) specific operating system () executable work runs, compiler used produce work, object code interpreter used run . “Corresponding Source” work object code form means source code needed generate, install, (executable work) run object code modify work, including scripts control activities. However, include work’s System Libraries, general-purpose tools generally available free programs used unmodified performing activities part work. example, Corresponding Source includes interface definition files associated source files work, source code shared libraries dynamically linked subprograms work specifically designed require, intimate data communication control flow subprograms parts work. Corresponding Source need include anything users can regenerate automatically parts Corresponding Source. Corresponding Source work source code form work.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_2-basic-permissions","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"2. Basic Permissions","title":"GNU General Public License","text":"rights granted License granted term copyright Program, irrevocable provided stated conditions met. License explicitly affirms unlimited permission run unmodified Program. output running covered work covered License output, given content, constitutes covered work. License acknowledges rights fair use equivalent, provided copyright law. may make, run propagate covered works convey, without conditions long license otherwise remains force. may convey covered works others sole purpose make modifications exclusively , provide facilities running works, provided comply terms License conveying material control copyright. thus making running covered works must exclusively behalf, direction control, terms prohibit making copies copyrighted material outside relationship . Conveying circumstances permitted solely conditions stated . Sublicensing allowed; section 10 makes unnecessary.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_3-protecting-users-legal-rights-from-anti-circumvention-law","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"3. Protecting Users’ Legal Rights From Anti-Circumvention Law","title":"GNU General Public License","text":"covered work shall deemed part effective technological measure applicable law fulfilling obligations article 11 WIPO copyright treaty adopted 20 December 1996, similar laws prohibiting restricting circumvention measures. convey covered work, waive legal power forbid circumvention technological measures extent circumvention effected exercising rights License respect covered work, disclaim intention limit operation modification work means enforcing, work’s users, third parties’ legal rights forbid circumvention technological measures.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_4-conveying-verbatim-copies","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"4. Conveying Verbatim Copies","title":"GNU General Public License","text":"may convey verbatim copies Program’s source code receive , medium, provided conspicuously appropriately publish copy appropriate copyright notice; keep intact notices stating License non-permissive terms added accord section 7 apply code; keep intact notices absence warranty; give recipients copy License along Program. may charge price price copy convey, may offer support warranty protection fee.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_5-conveying-modified-source-versions","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"5. Conveying Modified Source Versions","title":"GNU General Public License","text":"may convey work based Program, modifications produce Program, form source code terms section 4, provided also meet conditions: ) work must carry prominent notices stating modified , giving relevant date. b) work must carry prominent notices stating released License conditions added section 7. requirement modifies requirement section 4 “keep intact notices”. c) must license entire work, whole, License anyone comes possession copy. License therefore apply, along applicable section 7 additional terms, whole work, parts, regardless packaged. License gives permission license work way, invalidate permission separately received . d) work interactive user interfaces, must display Appropriate Legal Notices; however, Program interactive interfaces display Appropriate Legal Notices, work need make . compilation covered work separate independent works, nature extensions covered work, combined form larger program, volume storage distribution medium, called “aggregate” compilation resulting copyright used limit access legal rights compilation’s users beyond individual works permit. Inclusion covered work aggregate cause License apply parts aggregate.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_6-conveying-non-source-forms","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"6. Conveying Non-Source Forms","title":"GNU General Public License","text":"may convey covered work object code form terms sections 4 5, provided also convey machine-readable Corresponding Source terms License, one ways: ) Convey object code , embodied , physical product (including physical distribution medium), accompanied Corresponding Source fixed durable physical medium customarily used software interchange. b) Convey object code , embodied , physical product (including physical distribution medium), accompanied written offer, valid least three years valid long offer spare parts customer support product model, give anyone possesses object code either (1) copy Corresponding Source software product covered License, durable physical medium customarily used software interchange, price reasonable cost physically performing conveying source, (2) access copy Corresponding Source network server charge. c) Convey individual copies object code copy written offer provide Corresponding Source. alternative allowed occasionally noncommercially, received object code offer, accord subsection 6b. d) Convey object code offering access designated place (gratis charge), offer equivalent access Corresponding Source way place charge. need require recipients copy Corresponding Source along object code. place copy object code network server, Corresponding Source may different server (operated third party) supports equivalent copying facilities, provided maintain clear directions next object code saying find Corresponding Source. Regardless server hosts Corresponding Source, remain obligated ensure available long needed satisfy requirements. e) Convey object code using peer--peer transmission, provided inform peers object code Corresponding Source work offered general public charge subsection 6d. separable portion object code, whose source code excluded Corresponding Source System Library, need included conveying object code work. “User Product” either (1) “consumer product”, means tangible personal property normally used personal, family, household purposes, (2) anything designed sold incorporation dwelling. determining whether product consumer product, doubtful cases shall resolved favor coverage. particular product received particular user, “normally used” refers typical common use class product, regardless status particular user way particular user actually uses, expects expected use, product. product consumer product regardless whether product substantial commercial, industrial non-consumer uses, unless uses represent significant mode use product. “Installation Information” User Product means methods, procedures, authorization keys, information required install execute modified versions covered work User Product modified version Corresponding Source. information must suffice ensure continued functioning modified object code case prevented interfered solely modification made. convey object code work section , , specifically use , User Product, conveying occurs part transaction right possession use User Product transferred recipient perpetuity fixed term (regardless transaction characterized), Corresponding Source conveyed section must accompanied Installation Information. requirement apply neither third party retains ability install modified object code User Product (example, work installed ROM). requirement provide Installation Information include requirement continue provide support service, warranty, updates work modified installed recipient, User Product modified installed. Access network may denied modification materially adversely affects operation network violates rules protocols communication across network. Corresponding Source conveyed, Installation Information provided, accord section must format publicly documented (implementation available public source code form), must require special password key unpacking, reading copying.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_7-additional-terms","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"7. Additional Terms","title":"GNU General Public License","text":"“Additional permissions” terms supplement terms License making exceptions one conditions. Additional permissions applicable entire Program shall treated though included License, extent valid applicable law. additional permissions apply part Program, part may used separately permissions, entire Program remains governed License without regard additional permissions. convey copy covered work, may option remove additional permissions copy, part . (Additional permissions may written require removal certain cases modify work.) may place additional permissions material, added covered work, can give appropriate copyright permission. Notwithstanding provision License, material add covered work, may (authorized copyright holders material) supplement terms License terms: ) Disclaiming warranty limiting liability differently terms sections 15 16 License; b) Requiring preservation specified reasonable legal notices author attributions material Appropriate Legal Notices displayed works containing ; c) Prohibiting misrepresentation origin material, requiring modified versions material marked reasonable ways different original version; d) Limiting use publicity purposes names licensors authors material; e) Declining grant rights trademark law use trade names, trademarks, service marks; f) Requiring indemnification licensors authors material anyone conveys material (modified versions ) contractual assumptions liability recipient, liability contractual assumptions directly impose licensors authors. non-permissive additional terms considered “restrictions” within meaning section 10. Program received , part , contains notice stating governed License along term restriction, may remove term. license document contains restriction permits relicensing conveying License, may add covered work material governed terms license document, provided restriction survive relicensing conveying. add terms covered work accord section, must place, relevant source files, statement additional terms apply files, notice indicating find applicable terms. Additional terms, permissive non-permissive, may stated form separately written license, stated exceptions; requirements apply either way.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_8-termination","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"8. Termination","title":"GNU General Public License","text":"may propagate modify covered work except expressly provided License. attempt otherwise propagate modify void, automatically terminate rights License (including patent licenses granted third paragraph section 11). However, cease violation License, license particular copyright holder reinstated () provisionally, unless copyright holder explicitly finally terminates license, (b) permanently, copyright holder fails notify violation reasonable means prior 60 days cessation. Moreover, license particular copyright holder reinstated permanently copyright holder notifies violation reasonable means, first time received notice violation License (work) copyright holder, cure violation prior 30 days receipt notice. Termination rights section terminate licenses parties received copies rights License. rights terminated permanently reinstated, qualify receive new licenses material section 10.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_9-acceptance-not-required-for-having-copies","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"9. Acceptance Not Required for Having Copies","title":"GNU General Public License","text":"required accept License order receive run copy Program. Ancillary propagation covered work occurring solely consequence using peer--peer transmission receive copy likewise require acceptance. However, nothing License grants permission propagate modify covered work. actions infringe copyright accept License. Therefore, modifying propagating covered work, indicate acceptance License .","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_10-automatic-licensing-of-downstream-recipients","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"10. Automatic Licensing of Downstream Recipients","title":"GNU General Public License","text":"time convey covered work, recipient automatically receives license original licensors, run, modify propagate work, subject License. responsible enforcing compliance third parties License. “entity transaction” transaction transferring control organization, substantially assets one, subdividing organization, merging organizations. propagation covered work results entity transaction, party transaction receives copy work also receives whatever licenses work party’s predecessor interest give previous paragraph, plus right possession Corresponding Source work predecessor interest, predecessor can get reasonable efforts. may impose restrictions exercise rights granted affirmed License. example, may impose license fee, royalty, charge exercise rights granted License, may initiate litigation (including cross-claim counterclaim lawsuit) alleging patent claim infringed making, using, selling, offering sale, importing Program portion .","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_11-patents","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"11. Patents","title":"GNU General Public License","text":"“contributor” copyright holder authorizes use License Program work Program based. work thus licensed called contributor’s “contributor version”. contributor’s “essential patent claims” patent claims owned controlled contributor, whether already acquired hereafter acquired, infringed manner, permitted License, making, using, selling contributor version, include claims infringed consequence modification contributor version. purposes definition, “control” includes right grant patent sublicenses manner consistent requirements License. contributor grants non-exclusive, worldwide, royalty-free patent license contributor’s essential patent claims, make, use, sell, offer sale, import otherwise run, modify propagate contents contributor version. following three paragraphs, “patent license” express agreement commitment, however denominated, enforce patent (express permission practice patent covenant sue patent infringement). “grant” patent license party means make agreement commitment enforce patent party. convey covered work, knowingly relying patent license, Corresponding Source work available anyone copy, free charge terms License, publicly available network server readily accessible means, must either (1) cause Corresponding Source available, (2) arrange deprive benefit patent license particular work, (3) arrange, manner consistent requirements License, extend patent license downstream recipients. “Knowingly relying” means actual knowledge , patent license, conveying covered work country, recipient’s use covered work country, infringe one identifiable patents country reason believe valid. , pursuant connection single transaction arrangement, convey, propagate procuring conveyance , covered work, grant patent license parties receiving covered work authorizing use, propagate, modify convey specific copy covered work, patent license grant automatically extended recipients covered work works based . patent license “discriminatory” include within scope coverage, prohibits exercise , conditioned non-exercise one rights specifically granted License. may convey covered work party arrangement third party business distributing software, make payment third party based extent activity conveying work, third party grants, parties receive covered work , discriminatory patent license () connection copies covered work conveyed (copies made copies), (b) primarily connection specific products compilations contain covered work, unless entered arrangement, patent license granted, prior 28 March 2007. Nothing License shall construed excluding limiting implied license defenses infringement may otherwise available applicable patent law.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_12-no-surrender-of-others-freedom","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"12. No Surrender of Others’ Freedom","title":"GNU General Public License","text":"conditions imposed (whether court order, agreement otherwise) contradict conditions License, excuse conditions License. convey covered work satisfy simultaneously obligations License pertinent obligations, consequence may convey . example, agree terms obligate collect royalty conveying convey Program, way satisfy terms License refrain entirely conveying Program.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_13-use-with-the-gnu-affero-general-public-license","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"13. Use with the GNU Affero General Public License","title":"GNU General Public License","text":"Notwithstanding provision License, permission link combine covered work work licensed version 3 GNU Affero General Public License single combined work, convey resulting work. terms License continue apply part covered work, special requirements GNU Affero General Public License, section 13, concerning interaction network apply combination .","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_14-revised-versions-of-this-license","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"14. Revised Versions of this License","title":"GNU General Public License","text":"Free Software Foundation may publish revised /new versions GNU General Public License time time. new versions similar spirit present version, may differ detail address new problems concerns. version given distinguishing version number. Program specifies certain numbered version GNU General Public License “later version” applies , option following terms conditions either numbered version later version published Free Software Foundation. Program specify version number GNU General Public License, may choose version ever published Free Software Foundation. Program specifies proxy can decide future versions GNU General Public License can used, proxy’s public statement acceptance version permanently authorizes choose version Program. Later license versions may give additional different permissions. However, additional obligations imposed author copyright holder result choosing follow later version.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_15-disclaimer-of-warranty","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"15. Disclaimer of Warranty","title":"GNU General Public License","text":"WARRANTY PROGRAM, EXTENT PERMITTED APPLICABLE LAW. EXCEPT OTHERWISE STATED WRITING COPYRIGHT HOLDERS /PARTIES PROVIDE PROGRAM “” WITHOUT WARRANTY KIND, EITHER EXPRESSED IMPLIED, INCLUDING, LIMITED , IMPLIED WARRANTIES MERCHANTABILITY FITNESS PARTICULAR PURPOSE. ENTIRE RISK QUALITY PERFORMANCE PROGRAM . PROGRAM PROVE DEFECTIVE, ASSUME COST NECESSARY SERVICING, REPAIR CORRECTION.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_16-limitation-of-liability","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"16. Limitation of Liability","title":"GNU General Public License","text":"EVENT UNLESS REQUIRED APPLICABLE LAW AGREED WRITING COPYRIGHT HOLDER, PARTY MODIFIES /CONVEYS PROGRAM PERMITTED , LIABLE DAMAGES, INCLUDING GENERAL, SPECIAL, INCIDENTAL CONSEQUENTIAL DAMAGES ARISING USE INABILITY USE PROGRAM (INCLUDING LIMITED LOSS DATA DATA RENDERED INACCURATE LOSSES SUSTAINED THIRD PARTIES FAILURE PROGRAM OPERATE PROGRAMS), EVEN HOLDER PARTY ADVISED POSSIBILITY DAMAGES.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"id_17-interpretation-of-sections-15-and-16","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"17. Interpretation of Sections 15 and 16","title":"GNU General Public License","text":"disclaimer warranty limitation liability provided given local legal effect according terms, reviewing courts shall apply local law closely approximates absolute waiver civil liability connection Program, unless warranty assumption liability accompanies copy Program return fee. END TERMS CONDITIONS","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html","id":"how-to-apply-these-terms-to-your-new-programs","dir":"","previous_headings":"","what":"How to Apply These Terms to Your New Programs","title":"GNU General Public License","text":"develop new program, want greatest possible use public, best way achieve make free software everyone can redistribute change terms. , attach following notices program. safest attach start source file effectively state exclusion warranty; file least “copyright” line pointer full notice found. Also add information contact electronic paper mail. program terminal interaction, make output short notice like starts interactive mode: hypothetical commands show w show c show appropriate parts General Public License. course, program’s commands might different; GUI interface, use “box”. also get employer (work programmer) school, , sign “copyright disclaimer” program, necessary. information , apply follow GNU GPL, see . GNU General Public License permit incorporating program proprietary programs. program subroutine library, may consider useful permit linking proprietary applications library. want , use GNU Lesser General Public License instead License. first, please read .","code":" Copyright (C) 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 . Copyright (C) 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."},{"path":"https://osm-catalan.github.io/monitorOSM/docs/authors.html","id":null,"dir":"","previous_headings":"","what":"Autors","title":"Autors i citació","text":"Joan Maspons. Autor, mantenidor.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citació","title":"Autors i citació","text":"Maspons J (2024). monitorOSM: Monitor d'OSM. R package version 0.0.4, https://osm-catalan.github.io/monitorOSM/, https://github.com/OSM-Catalan/monitorOSM.","code":"@Manual{, title = {monitorOSM: Monitor d'OSM}, author = {Joan Maspons}, year = {2024}, note = {R package version 0.0.4, https://osm-catalan.github.io/monitorOSM/}, url = {https://github.com/OSM-Catalan/monitorOSM}, }"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/index.html","id":"monitorosm-","dir":"","previous_headings":"","what":"Monitor d'OSM","title":"Monitor d'OSM","text":"monitorOSM és un repositori que serveix per monitoritzar canvis OpenStreetMap comparant els objectes amb bases de dades de referència. Podeu veure els informes que s’actualitzen diàriament https://osm-catalan.github.io/monitorOSM. Els informes de canvis mostren taules amb l’estat de les etiquetes OSM les bases de dades de referència: També es mostra quins conjunts de canvis han trencat les etiquetes amb enllaços per si es vol deixar comentaris.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/index.html","id":"afegir-nous-objectes-a-les-bases-de-dades","dir":"","previous_headings":"","what":"Afegir nous objectes a les bases de dades","title":"Monitor d'OSM","text":"Si voleu afegir objectes amb les seves etiquetes les bases de dades, podeu obrir un tiquet o podeu provar de fer un PR amb les instruccions que trobareu aquí. Fora bo que els estats de referència dels objectes siguin consensuats amb la Comunitat d’OpenStreetmap en català.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/index.html","id":"paquet-dr","dir":"","previous_headings":"","what":"Paquet d’R","title":"Monitor d'OSM","text":"La consulta, comparació amb bases de dades de referència renderització de la web es fan amb un paquet d’R accions de github. El paquet també inclou funcions per restaurar els objectes de manera ràpida, però com projecte comunitari, és important intentar parlar amb els usuaris que discrepen de les bases de dades de referència. Vegeu la documentació del paquet d’R per més detalls.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/index.html","id":"exemples-dús-del-paquet","dir":"","previous_headings":"Paquet d’R","what":"Exemples d’ús del paquet","title":"Monitor d'OSM","text":"Instal·leu el paquet d’R:","code":"# install.packages(\"remotes\") remotes::install_github(\"OSM-Catalan/monitorOSM\")"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/index.html","id":"generació-dels-informes-locals","dir":"","previous_headings":"Paquet d’R","what":"Generació dels informes locals","title":"Monitor d'OSM","text":"Per refrescar els informes localment veure la web, podeu clonar el repositori des d’R situat la carpeta del projecte:","code":"# install.packages(\"quarto\") library(quarto) quarto_render()"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/index.html","id":"exemple-de-restauració","dir":"","previous_headings":"Paquet d’R > Generació dels informes locals","what":"Exemple de restauració","title":"Monitor d'OSM","text":"Restauració de les etiquetes name wikipedia de les comarques del País Valencià: Retorna l’identificador del conjunt de canvis.","code":"library(monitorOSM) id <- modifica_etiquetes_osm( comarques[comarques$regio == \"PV\", ], claus = c(\"name\", \"wikipedia\"), comentari = \"Restaura els noms de les comarques dels País Valencià\", hashtags = \"monitorOSM\" )"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/PPCC.html","id":null,"dir":"Reference","previous_headings":"","what":"Països Catalans — PPCC","title":"Països Catalans — PPCC","text":"Dades dels Països Catalans OSM.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/PPCC.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Països Catalans — PPCC","text":"","code":"PPCC"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/PPCC.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Països Catalans — PPCC","text":"Un data.frame amb les dades de la relació «Països Catalans» per les següents 6 variables. name:ca Etiqueta name:ca. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. name Etiqueta name. wikipedia Etiqueta wikipedia. wikidata Etiqueta wikidata.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/PPCC.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Exemples","title":"Països Catalans — PPCC","text":"","code":"PPCC[, 1:3] #> name:ca osm_id osm_type #> 1 Països Catalans 11747082 relation"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/canvis_html.html","id":null,"dir":"Reference","previous_headings":"","what":"Canvis en html — canvis_html","title":"Canvis en html — canvis_html","text":"Mostra diferències de taules en html si n'hi ha. Funció pensada per usar en fitxers .qmd o .Rmd.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/canvis_html.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Canvis en html — canvis_html","text":"","code":"canvis_html(x)"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/canvis_html.html","id":"par-metres","dir":"Reference","previous_headings":"","what":"Paràmetres","title":"Canvis en html — canvis_html","text":"x un objecte de compareDF::compare_df().","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/canvis_html.html","id":"valor","dir":"Reference","previous_headings":"","what":"Valor","title":"Canvis en html — canvis_html","text":"La taula html amb les diferències o una cadena de text indicant que hi ha diferències.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/capitals.html","id":null,"dir":"Reference","previous_headings":"","what":"Capitals d'estats del mon — capitals","title":"Capitals d'estats del mon — capitals","text":"Dades de les capitals d'estats del mon, objectes amb etiquetes `capital = 2`, `capital = yes` o nodes amb el rol d'`admin_centre` de de relacions d'estats.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/capitals.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Capitals d'estats del mon — capitals","text":"","code":"capitals"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/capitals.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Capitals d'estats del mon — capitals","text":"Un data.frame amb dades de les 155 capitals per les següents 8 variables. name:ca Etiqueta name:ca. name Etiqueta name. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. alt_name Etiqueta alt_name. alt_name:ca Etiqueta name. place Etiqueta place. wikidata Etiqueta wikidata.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/capitals.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Exemples","title":"Capitals d'estats del mon — capitals","text":"","code":"capitals[, c(\"name:ca\", \"name\", \"wikidata\")] #> name:ca name wikidata #> 1 کابل Q5838 #> 2 Episkopi Cantonment #> 3 Tirana Tiranë Q19689 #> 4 Berlín Berlin Q64 #> 5 Alger Alger ⴷⵣⴰⵢⴻⵔ الجزائر Q3561 #> 6 Andorra la Vella Andorra la Vella Q1863 #> 7 Luanda Q3897 #> 8 The Valley Q30994 #> 9 St. John's Q36262 #> 10 Al-Riyad الرياض Q3692 #> 11 Buenos Aires Q1486 #> 12 Erevan Երևան Q1953 #> 13 Canberra Q3114 #> 14 Viena Wien Q1741 #> 15 Bakú Bakı Q9248 #> 16 Nassau Q2467 #> 17 Al-Manama المنامة Q3882 #> 18 ঢাকা Q1354 #> 19 Bridgetown Q36168 #> 20 Brussel·les Bruxelles - Brussel Q239 #> 21 Belmopan Q3043 #> 22 Porto-Novo Porto-Novo Q3799 #> 23 Hamilton Hamilton Q30985 #> 24 ཐིམ་ཕུ Q9270 #> 25 Мінск Q2280 #> 26 Sucre Q2907 #> 27 La Paz Q1491 #> 28 Sarajevo Q11194 #> 29 Gaborone Q3919 #> 30 Brasília Q2844 #> 31 Bandar Seri Begawan Q9279 #> 32 Sofia София Q472 #> 33 Ouagadougou Ouagadougou Q3777 #> 34 Gitega Q167551 #> 35 រាជធានីភ្នំពេញ Q1850 #> 36 Yaoundé Q3808 #> 37 Ottawa Q1930 #> 38 Praia Q3751 #> 39 Ciutat del Vaticà Civitas Vaticana - Città del Vaticano Q237 #> 40 Bogotà Bogotá Q2841 #> 41 Moroni موروني Q3901 #> 42 Brazzaville Q3844 #> 43 Pyongyang 평양시 Q18808 #> 44 Seül 서울 Q8684 #> 45 Yamoussoukro Q3768 #> 46 San José Q3070 #> 47 Zagreb Zagreb Q1435 #> 48 l'Havana La Habana Q1563 #> 49 Copenhaguen København Q1748 #> 50 Djibouti Djibouti جيبوتي Q3604 #> 51 Roseau Roseau Q36281 #> 52 el Caire القاهرة Q85 #> 53 San Salvador Q3110 #> 54 أبو ظبي Q1519 #> 55 Quito Q2900 #> 56 ኣስመራ Asmara أسمرة Q3642 #> 57 Bratislava Q1780 #> 58 Ljubljana Q437 #> 59 Madrid Madrid Q2807 #> 60 Washington DC Washington Q61 #> 61 Tallinn Q1770 #> 62 Addis Abeba አዲስ አበባ / Addis Ababa Q3624 #> 63 Suva Q38807 #> 64 Manila Manila Q1461 #> 65 Hèlsinki Helsinki Q1757 #> 66 París Paris Q90 #> 67 Libreville Q3825 #> 68 Banjul Q3726 #> 69 Tbilissi თბილისი Q994 #> 70 Accra Q3761 #> 71 Gibraltar Q1410 #> 72 Atenes Αθήνα Q1524 #> 73 St. George's Q41547 #> 74 Nuuk Q226 #> 75 Ciutat de Guatemala Ciudad de Guatemala Q1555 #> 76 St Peter Port Q174262 #> 77 Conakry Q3733 #> 78 Bissau Q3739 #> 79 Malabo Q3818 #> 80 Georgetown Q10717 #> 81 Port-au-Prince Q34261 #> 82 Tegucigalpa Q3238 #> 83 Budapest Budapest Q1781 #> 84 Sanà صنعاء Q2471 #> 85 Douglas Q18569 #> 86 Brades Q31006 #> 87 George Town Q172996 #> 88 Avarua Avarua Q170482 #> 89 Tórshavn Q10704 #> 90 King Edward Point Q393878 #> 91 Stanley Q12245 #> 92 Adamstown Q48273 #> 93 Cockburn Town Q34205 #> 94 Road Town Q179431 #> 95 Nova Delhi New Delhi Q987 #> 96 Jakarta Q3630 #> 97 Teheran تهران Q3616 #> 98 Bagdad بغداد Q1530 #> 99 Dublín Dublin Q1761 #> 100 Reykjavík Q1764 #> 101 Jerusalem ירושלים Q1218 #> 102 Roma Roma Q220 #> 103 Kingston Q34692 #> 104 Tòquio 東京都 Q1490 #> 105 St Helier Q147738 #> 106 عمان Q3805 #> 107 Astana Астана Q1520 #> 108 Nairobi Q3870 #> 109 Bixkek Бишкек Q9361 #> 110 Prishtinë Q25270 #> 111 Al-Kuwait مدينة الكويت Q35178 #> 112 ວຽງຈັນ Q9326 #> 113 Maseru Q3909 #> 114 Riga Rīga Q1773 #> 115 بيروت Q3820 #> 116 Monròvia Monrovia Q3748 #> 117 Trípoli طرابلس Q3579 #> 118 Vaduz Q1844 #> 119 Vílnius Vilnius Q216 #> 120 Ciutat de Luxemburg Luxembourg Q1842 #> 121 Скопје Q384 #> 122 Antananarivo Antananarivo #> 123 Kuala Lumpur Q1865 #> 124 Lilongwe Q3876 #> 125 މާލެ Q9347 #> 126 Bamako Q3703 #> 127 La Valletta Valletta Q23800 #> 128 Rabat ⵔⴱⴰⵟ الرباط Q3551 #> 129 Port Louis Port Louis Q3929 #> 130 نواكشوط Q3688 #> 131 Ciutat de Mèxic Ciudad de México Q1489 #> 132 Palikir Palikir Q42751 #> 133 Maputo Maputo Q3889 #> 134 Chișinău Q21197 #> 135 Mònaco Monaco Q235 #> 136 Ulan Bator Улаанбаатар ᠤᠯᠠᠭᠠᠨᠪᠠᠭᠠᠲᠤᠷ Q23430 #> 137 Podgorica Q23564 #> 138 နေပြည်တော် Q37400 #> 139 Windhoek Windhoek Q3935 #> 140 Yaren Yaren Q31026 #> 141 Katmandú काठमाडौं Q3037 #> 142 Managua Q3274 #> 143 Niamey Q3674 #> 144 Abuja Q3787 #> 145 Alofi Alofi Q30966 #> 146 Oslo Oslo Q585 #> 147 Wellington Q23661 #> 148 Masqat مسقط Q3826 #> 149 Amsterdam Q727 #> 150 اسلام آباد Q1362 #> 151 Ngerulmud Q515229 #> 152 Panamà Panamá Q3306 #> 153 Port Moresby Q36526 #> 154 Asunción Q2933 #> 155 Lima Q2868 #> 156 Varsòvia Warszawa Q270 #> 157 Lisboa Q597 #> 158 Doha الدوحة Q3861 #> 159 Londres London Q84 #> 160 Bangui Bangui Q3832 #> 161 Kinshasa Q3838 #> 162 Santo Domingo Q34820 #> 163 Bucarest București Q19660 #> 164 Moscou Москва Q649 #> 165 Kigali Q3859 #> 166 Basseterre Q41295 #> 167 Castries Q41699 #> 168 Kingstown Q41474 #> 169 Honiara Q40921 #> 170 Apia Q36260 #> 171 Ciutat de San Marino Città di San Marino Q1848 #> 172 São Tomé Q3932 #> 173 Dakar Q3718 #> 174 Belgrad Београд Q3711 #> 175 Victòria Victoria Q3940 #> 176 Freetown Q3780 #> 177 Singapur Singapore Q334 #> 178 Damasc دمشق Q3766 #> 179 Mogadixo Muqdisho مقديشو Q2449 #> 180 Colombo Q35381 #> 181 Pretòria Pretoria Q3926 #> 182 Khartum الخرطوم Q1963 #> 183 Juba Juba Q1947 #> 184 Estocolm Stockholm Q1754 #> 185 Berna Bern Q70 #> 186 Paramaribo Q3001 #> 187 Mbabane Mbabane Q3904 #> 188 Duixanbe Душанбе Q9365 #> 189 กรุงเทพมหานคร Q1861 #> 190 Taipei 臺北市 Q1867 #> 191 Dodoma Q3866 #> 192 Camp Thunder Cove Q5027293 #> 193 Dili Q9310 #> 194 Lomé Q3792 #> 195 Fakaofo Q2140263 #> 196 Nuku'alofa Nukuʻalofa Q38834 #> 197 Port of Spain Q39178 #> 198 Tunísia تونس Q3572 #> 199 Aşgabat Q23438 #> 200 Ankara Q3640 #> 201 Funafuti Q34126 #> 202 N'Djamena N'Djaména انجمينا Q3659 #> 203 Praga Praha Q1085 #> 204 Kíiv Київ Q1899 #> 205 Kampala Q3894 #> 206 Montevideo Q1335 #> 207 Taixkent Toshkent Q269 #> 208 Port Vila Port Vila Q37806 #> 209 Caracas Q1533 #> 210 Hanoi Hà Nội Q1858 #> 211 Santiago Q2887 #> 212 Pequín 北京市 Q956 #> 213 Nicòsia Λευκωσία - Lefkoşa Q3856 #> 214 Lusaka Q3881 #> 215 Harare Q3921 #> 216 Alger Alger Q141026 #> 217 Astana Астана Q1520 #> 218 Ciutat del Cap Cape Town Q5465 #> 219 Erevan Երևան Q1953 #> 220 Hèlsinki Helsinki Q1757 #> 221 l'Havana La Habana Q12588 #> 222 Lomé Lomé Q3792 #> 223 Majuro Mājro Q12919 #> 224 París Paris Q90 #> 225 Taipei 臺北市 Q1867 #> 226 Taixkent Toshkent Q269 #> 227 Tallinn Tallinn Q1770 #> 228 Tarawa Sud South Tarawa Q131233 #> 229 Teheran شهر تهران Q3616 #> 230 Varsòvia Warszawa Q270 #> 231 Viena Wien Q1741 #> 232 Jamestown Q30970 #> 233 تفاريتي Q2360337 #> 234 Bloemfontein Q37701 #> 235 رام الله Q158119 #> 236 Sri Jayawardenepura Kotte Q41963 #> 237 Ciudad de la Paz Q1140136 #> 238 Hargeysa هرجيسا Q168652 #> 239 Мінск Q2280 #> 240 Saint-Denis Q47045 #> 241 Pago Pago Q51678 #> 242 Hagåtña Q30988 #> 243 Charlotte Amalie Q51681 #> 244 Basse-Terre Q167024 #> 245 Fort-de-France Q81621 #> 246 Saint-Pierre Q249884 #> 247 Nouméa Q9733 #> 248 Douglas Q18569 #> 249 Cayenne Q44401 #> 250 Chișinău Q21197 #> 251 Mariehamn Q48329 #> 252 Bakı #> 253 Reykjavíkurborg Q1764 #> 254 Zagreb Q1435 #> 255 Mamoudzou Q132676 #> 256 Bratislava Q1780 #> 257 Cantón de San José Q2536213 #> 258 София Q472 #> 259 Prishtinë Q25270 #> 260 شهر بوکان #> 261 Port-aux-Français Q839559 #> 262 Belmopan Q3043"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/cerca_versio_canvis.html","id":null,"dir":"Reference","previous_headings":"","what":"Cerca les versions que introdueixen canvis — cerca_versio_canvis","title":"Cerca les versions que introdueixen canvis — cerca_versio_canvis","text":"Cerca les versions que introdueixen canvis","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/cerca_versio_canvis.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Cerca les versions que introdueixen canvis — cerca_versio_canvis","text":"","code":"cerca_versio_canvis(x)"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/cerca_versio_canvis.html","id":"par-metres","dir":"Reference","previous_headings":"","what":"Paràmetres","title":"Cerca les versions que introdueixen canvis — cerca_versio_canvis","text":"x El resultat de comprova_canvis_osm() o similar.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/cerca_versio_canvis.html","id":"valor","dir":"Reference","previous_headings":"","what":"Valor","title":"Cerca les versions que introdueixen canvis — cerca_versio_canvis","text":"Retorna una llista de les versions que introdueixen canvis per cada etiqueta.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/cerca_versio_canvis.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Exemples","title":"Cerca les versions que introdueixen canvis — cerca_versio_canvis","text":"","code":"if (FALSE) { # \\dontrun{ comarques_canviades <- comarques[, setdiff(names(comarques), \"regio\")] comarques_canviades$name[1] <- \"Malnom\" canvis <- comprova_canvis_osm(comarques_canviades) versions_canvi <- cerca_versio_canvis(canvis) versions_canvi } # }"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comarques.html","id":null,"dir":"Reference","previous_headings":"","what":"Comarques dels Països Catalans — comarques","title":"Comarques dels Països Catalans — comarques","text":"Dades de les Comarques dels Països Catalans.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comarques.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Comarques dels Països Catalans — comarques","text":"","code":"comarques"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comarques.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Comarques dels Països Catalans — comarques","text":"Un data.frame amb dades de les 95 comarques per les següents 9 variables. name:ca Etiqueta name:ca. regio Subdivisió [\"Andorra\", \"CatNord\", \"Franja\", \"Illes\", \"Múrcia\", \"Principat\", \"PV\"]. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. name Etiqueta name. wikipedia Etiqueta wikipedia. wikidata Etiqueta wikidata. admin_level Etiqueta admin_level. historic:admin_level Etiqueta historic:admin_level.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comarques.html","id":"nota","dir":"Reference","previous_headings":"","what":"Nota","title":"Comarques dels Països Catalans — comarques","text":"Les parròquies d'Andorra corresponen comarques (admin_level = \"7\") s'inclouen comarques.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comarques.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Exemples","title":"Comarques dels Països Catalans — comarques","text":"","code":"comarques[, c(\"name:ca\", \"regio\", \"name\")] #> name:ca regio name #> 1 Andorra la Vella Andorra Andorra la Vella #> 2 Canillo Andorra Canillo #> 3 Encamp Andorra Encamp #> 4 Escaldes-Engordany Andorra Escaldes-Engordany #> 5 La Massana Andorra La Massana #> 6 Ordino Andorra Ordino #> 7 Sant Julià de Lòria Andorra Sant Julià de Lòria #> 8 Alta Cerdanya CatNord Alta Cerdanya #> 9 Capcir CatNord Capcir #> 10 Conflent CatNord Conflent #> 11 Fenolledès CatNord Fenolhedés #> 12 Rosselló CatNord Rosselló #> 13 Vallespir CatNord Vallespir #> 14 Baix Aragó Franja Bajo Aragón #> 15 Baix Aragó-Casp Franja Bajo Aragón-Caspe / Baix Aragó-Casp #> 16 Baix Cinca Franja Bajo Cinca / Baix Cinca #> 17 La Llitera Franja La Litera / La Llitera #> 18 Matarranya Franja Matarraña / Matarranya #> 19 Ribagorça Franja Ribagorza #> 20 Eivissa Illes Eivissa #> 21 Formentera Illes Formentera #> 22 Llevant Illes Llevant #> 23 Menorca Illes Menorca #> 24 Migjorn Illes Migjorn #> 25 Palma Illes Palma #> 26 Pla de Mallorca Illes Pla de Mallorca #> 27 Raiguer Illes Raiguer #> 28 Serra de Tramuntana Illes Serra de Tramuntana #> 29 el Carxe Múrcia El Carche #> 30 Alt Camp Principat Alt Camp #> 31 Alt Empordà Principat Alt Empordà #> 32 Alt Penedès Principat Alt Penedès #> 33 Alt Urgell Principat Alt Urgell #> 34 Alta Ribagorça Principat Alta Ribagorça #> 35 Anoia Principat Anoia #> 36 Bages Principat Bages #> 37 Baix Camp Principat Baix Camp #> 38 Baix Ebre Principat Baix Ebre #> 39 Baix Empordà Principat Baix Empordà #> 40 Baix Llobregat Principat Baix Llobregat #> 41 Baix Penedès Principat Baix Penedès #> 42 Barcelonès Principat Barcelonès #> 43 Berguedà Principat Berguedà #> 44 Cerdanya Principat Cerdanya #> 45 Conca de Barberà Principat Conca de Barberà #> 46 Garraf Principat Garraf #> 47 Garrigues Principat Garrigues #> 48 Garrotxa Principat Garrotxa #> 49 Gironès Principat Gironès #> 50 la Selva Principat la Selva #> 51 Lluçanès Principat Lluçanès #> 52 Maresme Principat Maresme #> 53 Moianès Principat Moianès #> 54 Montsià Principat Montsià #> 55 Noguera Principat Noguera #> 56 Osona Principat Osona #> 57 Pallars Jussà Principat Pallars Jussà #> 58 Pallars Sobirà Principat Pallars Sobirà #> 59 Pla d'Urgell Principat Pla d'Urgell #> 60 Pla de l'Estany Principat Pla de l'Estany #> 61 Priorat Principat Priorat #> 62 Ribera d'Ebre Principat Ribera d'Ebre #> 63 Ripollès Principat Ripollès #> 64 Segarra Principat Segarra #> 65 Segrià Principat Segrià #> 66 Solsonès Principat Solsonès #> 67 Tarragonès Principat Tarragonès #> 68 Terra Alta Principat Terra Alta #> 69 Urgell Principat Urgell #> 70 Vallès Occidental Principat Vallès Occidental #> 71 Vallès Oriental Principat Vallès Oriental #> 72 Comarca de València PV Comarca de València #> 73 el Baix Maestrat PV el Baix Maestrat #> 74 el Baix Segura PV el Baix Segura / La Vega Baja del Segura #> 75 el Baix Vinalopó PV el Baix Vinalopó #> 76 el Camp de Morvedre PV el Camp de Morvedre #> 77 el Camp de Túria PV el Camp de Túria #> 78 el Comtat PV el Comtat #> 79 el Vinalopó Mitjà PV el Vinalopó Mitjà / El Vinalopó Medio #> 80 els Ports PV els Ports #> 81 l'Alacantí PV l'Alacantí #> 82 l'Alcalatén PV l'Alcalatén #> 83 l'Alcoià PV l'Alcoià #> 84 l'Alt Maestrat PV l'Alt Maestrat #> 85 l'Alt Vinalopó PV l'Alt Vinalopó / El Alto Vinalopó #> 86 l'Horta Nord PV l'Horta Nord #> 87 l'Horta Sud PV l'Horta Sud #> 88 la Costera PV la Costera #> 89 la Marina Alta PV la Marina Alta #> 90 la Marina Baixa PV la Marina Baixa #> 91 la Plana Alta PV la Plana Alta #> 92 la Plana Baixa PV la Plana Baixa #> 93 la Ribera Alta PV la Ribera Alta #> 94 la Ribera Baixa PV la Ribera Baixa #> 95 la Safor PV la Safor #> 96 la Vall d'Albaida PV la Vall d'Albaida"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html","id":null,"dir":"Reference","previous_headings":"","what":"Comprova canvis a OSM — comprova_canvis_osm","title":"Comprova canvis a OSM — comprova_canvis_osm","text":"Compara l'estat actual d'objectes d'OSM respecte una taula de referència.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Comprova canvis a OSM — comprova_canvis_osm","text":"","code":"comprova_canvis_osm(x, centre = FALSE)"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html","id":"par-metres","dir":"Reference","previous_headings":"","what":"Paràmetres","title":"Comprova canvis a OSM — comprova_canvis_osm","text":"x un data.frame amb les columnes osm_type, osm_id etiquetes que vulguem comprovar. centre si és TRUE, afegeix les coordenades del centre de l'objecte les columnes osm_center_lon osm_center_lat.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html","id":"valor","dir":"Reference","previous_headings":"","what":"Valor","title":"Comprova canvis a OSM — comprova_canvis_osm","text":"Retorna una comparació amb compareDF::compare_df() de les diferències d'etiquetes dels objectes d'OSM d'x respecte les etiquetes actuals OSM.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html","id":"detalls","dir":"Reference","previous_headings":"","what":"Detalls","title":"Comprova canvis a OSM — comprova_canvis_osm","text":"Només es comparen les etiquetes presents com columnes d'x la resta s'ometen.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Exemples","title":"Comprova canvis a OSM — comprova_canvis_osm","text":"","code":"if (FALSE) { # \\dontrun{ comarques_canviades <- comarques[, setdiff(names(comarques), \"regio\")] comarques_canviades$name[1] <- \"Malnom\" canvis <- comprova_canvis_osm(comarques_canviades) canvis_html(canvis) } # }"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/consulta_etiquetes_osm.html","id":null,"dir":"Reference","previous_headings":"","what":"Consulta etiquetes d'OSM — consulta_etiquetes_osm","title":"Consulta etiquetes d'OSM — consulta_etiquetes_osm","text":"Consulta etiquetes d'OSM","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/consulta_etiquetes_osm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Consulta etiquetes d'OSM — consulta_etiquetes_osm","text":"","code":"consulta_etiquetes_osm(x, etiquetes, centre = FALSE)"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/consulta_etiquetes_osm.html","id":"par-metres","dir":"Reference","previous_headings":"","what":"Paràmetres","title":"Consulta etiquetes d'OSM — consulta_etiquetes_osm","text":"x un data.frame o matrix amb les columnes osm_type osm_id. etiquetes noms de les claus de les etiquetes consultar. Si s'especifica, s'afegeixen totes les etiquetes dels objectes. centre si és TRUE, afegeix les coordenades del centre de l'objecte les columnes osm_center_lon osm_center_lat.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/consulta_etiquetes_osm.html","id":"valor","dir":"Reference","previous_headings":"","what":"Valor","title":"Consulta etiquetes d'OSM — consulta_etiquetes_osm","text":"Retorna x amb les etiquetes dels objectes com columnes. Si les columnes ja existien, actualitza els valors de les etiquetes conserva l'ordre de les columnes originals afegint les noves al final.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/consulta_etiquetes_osm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Exemples","title":"Consulta etiquetes d'OSM — consulta_etiquetes_osm","text":"","code":"if (FALSE) { # \\dontrun{ territoris_etiquetes_completes <- consulta_etiquetes_osm(territoris) } # }"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/estats.html","id":null,"dir":"Reference","previous_headings":"","what":"Estats del mon — estats","title":"Estats del mon — estats","text":"Dades dels estats del mon, relacions amb etiquetes `admin_centre = 2` `boundary = administrative`.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/estats.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Estats del mon — estats","text":"","code":"estats"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/estats.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Estats del mon — estats","text":"Un data.frame amb dades dels 243 estats per les següents 9 variables. name:ca Etiqueta name:ca. name Etiqueta name. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. alt_name Etiqueta alt_name. alt_name:ca Etiqueta name. long_name Etiqueta alt_name:ca. native_name Etiqueta native_name. official_name Etiqueta official_name. official_name:ca Etiqueta official_name:ca. old_name Etiqueta old_name. old_name:ca Etiqueta old_name:ca. old_official_name Etiqueta old_official_name. old_official_name:ca Etiqueta old_official_name:ca. short_name Etiqueta short_name. short_name:ca Etiqueta short_name:ca. wikidata Etiqueta wikidata.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/estats.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Exemples","title":"Estats del mon — estats","text":"","code":"estats[, c(\"name:ca\", \"name\", \"wikidata\")] #> name:ca #> 1 Afganistan #> 2 Akrotiri i Dekélia #> 3 Albània #> 4 Alemanya #> 5 Algèria #> 6 Andorra #> 7 Angola #> 8 Anguilla #> 9 Antigua i Barbuda #> 10 Aràbia Saudita #> 11 Argentina #> 12 Armènia #> 13 Austràlia #> 14 Àustria #> 15 Azerbaidjan #> 16 Bahames #> 17 Bahrain #> 18 Bangla Desh #> 19 Barbados #> 20 Bèlgica #> 21 Belize #> 22 Benín #> 23 Bermudes #> 24 Bhutan #> 25 Bielorússia #> 26 Bolívia #> 27 Bòsnia i Hercegovina #> 28 Botswana #> 29 Brasil #> 30 Brunei #> 31 Bulgària #> 32 Burkina Faso #> 33 Burundi #> 34 Cambodja #> 35 Camerun #> 36 Canadà #> 37 Cap Verd #> 38 Ciutat del Vaticà #> 39 Colòmbia #> 40 Comores #> 41 Congo #> 42 Corea del Nord #> 43 Corea del Sud #> 44 Costa d'Ivori #> 45 Costa Rica #> 46 Croàcia #> 47 Cuba #> 48 Dinamarca #> 49 Djibouti #> 50 Dominica #> 51 Egipte #> 52 El Salvador #> 53 Emirats Àrabs Units #> 54 Equador #> 55 Eritrea #> 56 Eslovàquia #> 57 Eslovènia #> 58 Espanya #> 59 Estats Units d'Amèrica #> 60 Estònia #> 61 Eswatini #> 62 Etiòpia #> 63 Fiji #> 64 Filipines #> 65 Finlàndia #> 66 França #> 67 França - Andorra #> 68 França - Espanya #> 69 Gabon #> 70 Gàmbia #> 71 Geòrgia #> 72 Ghana #> 73 Gibraltar #> 74 Grècia #> 75 Grenada #> 76 Groenlàndia #> 77 Guatemala #> 78 Guernsey #> 79 Guinea #> 80 Guinea Bissau #> 81 Guinea Equatorial #> 82 Guyana #> 83 Haití #> 84 Hondures #> 85 Hongria #> 86 Iemen #> 87 Illa de Man #> 88 Illa de Montserrat #> 89 Illes Caiman #> 90 Illes Cook #> 91 Illes Fèroe #> 92 Illes Geòrgia del Sud i Sandwich del Sud #> 93 Illes Malvines #> 94 Illes Marshall #> 95 Illes Pitcairn #> 96 Illes Turks i Caicos #> 97 Illes Verges Britàniques #> 98 Índia #> 99 Indonèsia #> 100 Iran #> 101 Iraq #> 102 Irlanda #> 103 Islàndia #> 104 Israel #> 105 Itàlia #> 106 Jamaica #> 107 Japó #> 108 Jersey #> 109 Jordània #> 110 Kazakhstan #> 111 Kenya #> 112 Kirguizistan #> 113 Kiribati #> 114 Kosovo #> 115 Kuwait #> 116 Laos #> 117 Lesotho #> 118 Letònia #> 119 Líban #> 120 Libèria #> 121 Líbia #> 122 Liechtenstein #> 123 Lituània #> 124 Luxemburg #> 125 Macedònia del Nord #> 126 Madagascar #> 127 Malàisia #> 128 Malawi #> 129 Maldives #> 130 Mali #> 131 Malta #> 132 Marroc #> 133 Maurici #> 134 Mauritània #> 135 Mèxic #> 136 Micronèsia #> 137 Moçambic #> 138 Moldàvia #> 139 Mònaco #> 140 Mongòlia #> 141 Montenegro #> 142 Myanmar #> 143 Namíbia #> 144 Nauru #> 145 Nepal #> 146 Nicaragua #> 147 Níger #> 148 Nigèria #> 149 Niue #> 150 Noruega #> 151 Nova Zelanda #> 152 Oman #> 153 Països Baixos #> 154 Pakistan #> 155 Palau #> 156 Panamà #> 157 Papua Nova Guinea #> 158 Paraguai #> 159 Perú #> 160 Polònia #> 161 Portugal #> 162 Qatar #> 163 Regne Unit #> 164 República Àrab Sahrauí Democràtica #> 165 República Centreafricana #> 166 República Democràtica del Congo #> 167 República Dominicana #> 168 Romania #> 169 Rússia #> 170 Rwanda #> 171 Saint Kitts i Nevis #> 172 Saint Lucia #> 173 Saint Vincent i les Grenadines #> 174 Salomó #> 175 Samoa #> 176 San Marino #> 177 Santa Helena, Ascensió i Tristan da Cunha #> 178 São Tomé i Príncipe #> 179 Senegal #> 180 Sèrbia #> 181 Seychelles #> 182 Sierra Leone #> 183 Singapur #> 184 Síria #> 185 Somàlia #> 186 Sri Lanka #> 187 Sud-àfrica #> 188 Sudan #> 189 Sudan del Sud #> 190 Suècia #> 191 Suïssa #> 192 Surinam #> 193 Tadjikistan #> 194 Tailàndia #> 195 Taiwan #> 196 Tanzània #> 197 Territori Britànic de l'Oceà Índic #> 198 Timor Oriental #> 199 Togo #> 200 Tokelau #> 201 Tonga #> 202 Trinitat i Tobago #> 203 Tunísia #> 204 Turkmenistan #> 205 Turquia #> 206 Tuvalu #> 207 Txad #> 208 Txèquia #> 209 Ucraïna #> 210 Uganda #> 211 Uruguai #> 212 Uzbekistan #> 213 Vanuatu #> 214 Veneçuela #> 215 Vietnam #> 216 Xile #> 217 Xina #> 218 Xipre #> 219 Zàmbia #> 220 Zimbabwe #> 221 #> 222 #> 223 #> 224 #> 225 #> 226 #> 227 #> 228 #> 229 #> 230 #> 231 #> 232 #> 233 #> 234 #> 235 #> 236 #> 237 #> 238 #> 239 #> 240 #> 241 #> 242 #> 243 #> name #> 1 افغانستان #> 2 Akrotiri and Dhekelia #> 3 Shqipëria #> 4 Deutschland #> 5 Algérie ⵍⵣⵣⴰⵢⴻⵔ الجزائر #> 6 Andorra #> 7 Angola #> 8 Anguilla #> 9 Antigua and Barbuda #> 10 السعودية #> 11 Argentina #> 12 Հայաստան #> 13 Australia #> 14 Österreich #> 15 Azərbaycan #> 16 The Bahamas #> 17 البحرين #> 18 বাংলাদেশ #> 19 Barbados #> 20 België / Belgique / Belgien #> 21 Belize #> 22 Bénin #> 23 Bermuda #> 24 འབྲུགཡུལ་ #> 25 Беларусь #> 26 Bolivia #> 27 Bosna i Hercegovina / Босна и Херцеговина #> 28 Botswana #> 29 Brasil #> 30 Brunei #> 31 България #> 32 Burkina Faso #> 33 Burundi #> 34 ព្រះរាជាណាចក្រ​កម្ពុជា #> 35 Cameroun #> 36 Canada #> 37 Cabo Verde #> 38 Civitas Vaticana - Città del Vaticano #> 39 Colombia #> 40 Comores Komori جزر القمر #> 41 Congo #> 42 조선민주주의인민공화국 #> 43 대한민국 #> 44 Côte d’Ivoire #> 45 Costa Rica #> 46 Hrvatska #> 47 Cuba #> 48 Danmark #> 49 Djibouti جيبوتي #> 50 Dominica #> 51 مصر #> 52 El Salvador #> 53 الإمارات العربية المتحدة #> 54 Ecuador #> 55 ኤርትራ Eritrea إرتريا #> 56 Slovensko #> 57 Slovenija #> 58 España #> 59 United States #> 60 Eesti #> 61 eSwatini #> 62 ኢትዮጵያ #> 63 Viti #> 64 Pilipinas #> 65 Suomi / Finland #> 66 France #> 67 France - Andorra #> 68 France - España #> 69 Gabon #> 70 Gambia #> 71 საქართველო #> 72 Ghana #> 73 Gibraltar #> 74 Ελλάς #> 75 Grenada #> 76 Kalaallit Nunaat #> 77 Guatemala #> 78 Guernsey #> 79 Guinée #> 80 Guiné-Bissau #> 81 Guinea Ecuatorial #> 82 Guyana #> 83 Ayiti #> 84 Honduras #> 85 Magyarország #> 86 اليمن #> 87 Isle of Man #> 88 Montserrat #> 89 Cayman Islands #> 90 Kūki ʻĀirani #> 91 Føroyar #> 92 South Georgia and the South Sandwich Islands #> 93 Falkland Islands #> 94 Ṃajeḷ #> 95 Pitcairn Islands #> 96 Turks and Caicos Islands #> 97 British Virgin Islands #> 98 India #> 99 Indonesia #> 100 ایران #> 101 العراق #> 102 Éire / Ireland #> 103 Ísland #> 104 ישראל #> 105 Italia #> 106 Jamaica #> 107 日本 #> 108 Jersey #> 109 الأردن #> 110 Қазақстан #> 111 Kenya #> 112 Кыргызстан #> 113 Kiribati #> 114 Kosova / Kosovo #> 115 الكويت #> 116 ປະເທດລາວ #> 117 Lesotho #> 118 Latvija #> 119 لبنان #> 120 Liberia #> 121 ليبيا #> 122 Liechtenstein #> 123 Lietuva #> 124 Lëtzebuerg #> 125 Северна Македонија #> 126 Madagasikara / Madagascar #> 127 Malaysia #> 128 Malawi #> 129 ދިވެހިރާއްޖެ #> 130 Mali #> 131 Malta #> 132 Maroc ⵍⵎⵖⵔⵉⴱ المغرب #> 133 Mauritius / Maurice #> 134 موريتانيا #> 135 México #> 136 Micronesia #> 137 Moçambique #> 138 Moldova #> 139 Monaco #> 140 Монгол улс ᠮᠤᠩᠭᠤᠯ ᠤᠯᠤᠰ #> 141 Crna Gora / Црна Гора #> 142 မြန်မာ #> 143 Namibia #> 144 Naoero #> 145 नेपाल #> 146 Nicaragua #> 147 Niger #> 148 Nigeria #> 149 Niuē #> 150 Norge #> 151 New Zealand / Aotearoa #> 152 عمان #> 153 Nederland #> 154 پاکستان #> 155 Belau #> 156 Panamá #> 157 Papua Niugini #> 158 Paraguay / Paraguái #> 159 Perú #> 160 Polska #> 161 Portugal #> 162 قطر #> 163 United Kingdom #> 164 República Árabe Saharaui Democrática الجمهورية العربية الصحراوية الديمقراطية #> 165 Ködörösêse tî Bêafrîka / République centrafricaine #> 166 République démocratique du Congo #> 167 República Dominicana #> 168 România #> 169 Россия #> 170 Rwanda #> 171 Saint Kitts and Nevis #> 172 Saint Lucia #> 173 Saint Vincent and the Grenadines #> 174 Solomon Islands #> 175 Sāmoa #> 176 San Marino #> 177 Saint Helena, Ascension and Tristan da Cunha #> 178 São Tomé e Príncipe #> 179 Sénégal #> 180 Србија #> 181 Sesel #> 182 Sierra Leone #> 183 Singapore #> 184 سوريا #> 185 Soomaaliya الصومال #> 186 Sri Lanka #> 187 South Africa #> 188 السودان #> 189 South Sudan جنوب السودان #> 190 Sverige #> 191 Schweiz/Suisse/Svizzera/Svizra #> 192 Suriname #> 193 Тоҷикистон #> 194 ประเทศไทย #> 195 臺灣 #> 196 Tanzania #> 197 British Indian Ocean Territory #> 198 Timor-Leste #> 199 Togo #> 200 Tokelau #> 201 Tonga #> 202 Trinidad and Tobago #> 203 تونس #> 204 Türkmenistan #> 205 Türkiye #> 206 Tuvalu #> 207 Tchad تشاد #> 208 Česko #> 209 Україна #> 210 Uganda #> 211 Uruguay #> 212 Oʻzbekiston #> 213 Vanuatu #> 214 Venezuela #> 215 Việt Nam #> 216 Chile #> 217 中国 #> 218 Κύπρος - Kıbrıs #> 219 Zambia #> 220 Zimbabwe #> 221 Deutschland - Österreich #> 222 Deutschland — Schweiz / Suisse / Svizerra #> 223 France - Italy (section sud) #> 224 France - Schweiz/Suisse/Svizzera/Svizra #> 225 France - Deutschland #> 226 France - Luxembourg / Luxemburg / Lëtzebuerg #> 227 France - Belgique / België / Belgien #> 228 France - Monaco #> 229 Österreich - Schweiz #> 230 Österreich — Liechtenstein #> 231 Österreich — Schweiz / Suisse / Svizzera #> 232 Deutschland - Luxembourg / Luxemburg / Lëtzebuerg #> 233 Italia - Slovenija #> 234 Magyarország - Slovenija #> 235 Hrvatska - Slovenija #> 236 Nederland — Belgique / België / Belgien #> 237 France - Italy (section nord) #> 238 France / Suriname border #> 239 #> 240 Isla Tres Cruces #> 241 Isla Bassi #> 242 Isla Filomena Grande #> 243 Isla Verde #> wikidata #> 1 Q889 #> 2 Q37362 #> 3 Q222 #> 4 Q183 #> 5 Q262 #> 6 Q228 #> 7 Q916 #> 8 Q25228 #> 9 Q781 #> 10 Q851 #> 11 Q414 #> 12 Q399 #> 13 Q408 #> 14 Q40 #> 15 Q227 #> 16 Q778 #> 17 Q398 #> 18 Q902 #> 19 Q244 #> 20 Q31 #> 21 Q242 #> 22 Q962 #> 23 Q23635 #> 24 Q917 #> 25 Q184 #> 26 Q750 #> 27 Q225 #> 28 Q963 #> 29 Q155 #> 30 Q921 #> 31 Q219 #> 32 Q965 #> 33 Q967 #> 34 Q424 #> 35 Q1009 #> 36 Q16 #> 37 Q1011 #> 38 Q237 #> 39 Q739 #> 40 Q970 #> 41 Q971 #> 42 Q423 #> 43 Q884 #> 44 Q1008 #> 45 Q800 #> 46 Q224 #> 47 Q241 #> 48 Q35 #> 49 Q977 #> 50 Q784 #> 51 Q79 #> 52 Q792 #> 53 Q878 #> 54 Q736 #> 55 Q986 #> 56 Q214 #> 57 Q215 #> 58 Q29 #> 59 Q30 #> 60 Q191 #> 61 Q1050 #> 62 Q115 #> 63 Q712 #> 64 Q928 #> 65 Q33 #> 66 Q142 #> 67 Q2009420 #> 68 Q2637319 #> 69 Q1000 #> 70 Q1005 #> 71 Q230 #> 72 Q117 #> 73 Q1410 #> 74 Q41 #> 75 Q769 #> 76 Q223 #> 77 Q774 #> 78 Q25230 #> 79 Q1006 #> 80 Q1007 #> 81 Q983 #> 82 Q734 #> 83 Q790 #> 84 Q783 #> 85 Q28 #> 86 Q805 #> 87 Q9676 #> 88 Q13353 #> 89 Q5785 #> 90 Q26988 #> 91 Q4628 #> 92 Q35086 #> 93 Q9648 #> 94 Q709 #> 95 Q35672 #> 96 Q18221 #> 97 Q25305 #> 98 Q668 #> 99 Q252 #> 100 Q794 #> 101 Q796 #> 102 Q27 #> 103 Q189 #> 104 Q801 #> 105 Q38 #> 106 Q766 #> 107 Q17 #> 108 Q785 #> 109 Q810 #> 110 Q232 #> 111 Q114 #> 112 Q813 #> 113 Q710 #> 114 Q1246 #> 115 Q817 #> 116 Q819 #> 117 Q1013 #> 118 Q211 #> 119 Q822 #> 120 Q1014 #> 121 Q1016 #> 122 Q347 #> 123 Q37 #> 124 Q32 #> 125 Q221 #> 126 Q1019 #> 127 Q833 #> 128 Q1020 #> 129 Q826 #> 130 Q912 #> 131 Q233 #> 132 Q1028 #> 133 Q1027 #> 134 Q1025 #> 135 Q96 #> 136 Q702 #> 137 Q1029 #> 138 Q217 #> 139 Q235 #> 140 Q711 #> 141 Q236 #> 142 Q836 #> 143 Q1030 #> 144 Q697 #> 145 Q837 #> 146 Q811 #> 147 Q1032 #> 148 Q1033 #> 149 Q34020 #> 150 Q20 #> 151 Q664 #> 152 Q842 #> 153 Q29999 #> 154 Q843 #> 155 Q695 #> 156 Q804 #> 157 Q691 #> 158 Q733 #> 159 Q419 #> 160 Q36 #> 161 Q45 #> 162 Q846 #> 163 Q145 #> 164 Q40362 #> 165 Q929 #> 166 Q974 #> 167 Q786 #> 168 Q218 #> 169 Q159 #> 170 Q1037 #> 171 Q763 #> 172 Q760 #> 173 Q757 #> 174 Q685 #> 175 Q683 #> 176 Q238 #> 177 Q192184 #> 178 Q1039 #> 179 Q1041 #> 180 Q403 #> 181 Q1042 #> 182 Q1044 #> 183 Q334 #> 184 Q858 #> 185 Q1045 #> 186 Q854 #> 187 Q258 #> 188 Q1049 #> 189 Q958 #> 190 Q34 #> 191 Q39 #> 192 Q730 #> 193 Q863 #> 194 Q869 #> 195 Q865 #> 196 Q924 #> 197 Q43448 #> 198 Q574 #> 199 Q945 #> 200 Q36823 #> 201 Q678 #> 202 Q754 #> 203 Q948 #> 204 Q874 #> 205 Q43 #> 206 Q672 #> 207 Q657 #> 208 Q213 #> 209 Q212 #> 210 Q1036 #> 211 Q77 #> 212 Q265 #> 213 Q686 #> 214 Q717 #> 215 Q881 #> 216 Q298 #> 217 Q148 #> 218 Q229 #> 219 Q953 #> 220 Q954 #> 221 Q1991986 #> 222 Q1991810 #> 223 Q1991288 #> 224 Q1991697 #> 225 Q1991225 #> 226 Q3088912 #> 227 Q2052849 #> 228 Q1996372 #> 229 Q1991486 #> 230 Q1991324 #> 231 Q1991486 #> 232 Q3088708 #> 233 Q572463 #> 234 Q3088945 #> 235 Q1991311 #> 236 Q3088843 #> 237 Q1991288 #> 238 Q3088913 #> 239 #> 240 #> 241 Q31923393 #> 242 Q5921615 #> 243 Q18285634"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/loc_admin_centre_municipis.html","id":null,"dir":"Reference","previous_headings":"","what":"Centres administratius de les relacions dels municipis dels Països Catalans — loc_admin_centre_municipis","title":"Centres administratius de les relacions dels municipis dels Països Catalans — loc_admin_centre_municipis","text":"Dades de les localitats que fan d'admin_centre dels municipis dels Països Catalans.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/loc_admin_centre_municipis.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Centres administratius de les relacions dels municipis dels Països Catalans — loc_admin_centre_municipis","text":"","code":"loc_admin_centre_municipis"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/loc_admin_centre_municipis.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Centres administratius de les relacions dels municipis dels Països Catalans — loc_admin_centre_municipis","text":"Un data.frame amb dades de les 1673 localitats establertes com admin_centre de les relacions dels municipis per les següents 10 variables. name:ca Etiqueta name:ca. regio Subdivisió [\"Aran\", \"CatNord\", \"Franja\", \"Illes\", \"Principat\", \"PV\", \"Sardenya\"]. comarca Etiqueta name:ca de la comarca es troba el municipi. municipi Etiqueta name:ca del municipi en què l'element fa d'admin_centre. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. name Etiqueta name. wikipedia Etiqueta wikipedia. wikidata Etiqueta wikidata. place Etiqueta place.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/loc_admin_centre_municipis.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Exemples","title":"Centres administratius de les relacions dels municipis dels Països Catalans — loc_admin_centre_municipis","text":"","code":"loc_admin_centre_municipis[, c(\"name:ca\", \"regio\", \"municipi\", \"name\")] #> name:ca regio #> 1 Salardú Aran #> 2 Arres de Jos Aran #> 3 Bausén Aran #> 4 Bossòst Aran #> 5 Canejan Aran #> 6 es Bordes Aran #> 7 Lés Aran #> 8 Viella Aran #> 9 Vilamòs Aran #> 10 Angostrina i Vilanova de les Escaldes CatNord #> 11 Bolquera CatNord #> 12 Dorres CatNord #> 13 Èguet CatNord #> 14 Eina CatNord #> 15 Enveig CatNord #> 16 Er CatNord #> 17 Estavar CatNord #> 18 Font-romeu, Odelló i Vià CatNord #> 19 la Cabanassa CatNord #> 20 la Guingueta d'Ix CatNord #> 21 la Tor de Querol CatNord #> 22 Llo CatNord #> 23 Montlluís CatNord #> 24 Naüja CatNord #> 25 Oceja CatNord #> 26 Palau de Cerdanya CatNord #> 27 Porta CatNord #> 28 Portè CatNord #> 29 Sallagosa CatNord #> 30 Santa Llocaia CatNord #> 31 Targasona CatNord #> 32 Ur CatNord #> 33 Vallcebollera CatNord #> 34 els Angles CatNord #> 35 Font-rabiosa CatNord #> 36 Formiguera CatNord #> 37 Matamala CatNord #> 38 Puigbalador CatNord #> 39 Real CatNord #> 40 Aiguatèbia CatNord #> 41 Arboçols CatNord #> 42 Campome CatNord #> 43 Canavelles CatNord #> 44 Castell de Vernet CatNord #> 45 Catllà CatNord #> 46 Caudiers de Conflent CatNord #> 47 Sançà CatNord #> 48 Clarà CatNord #> 49 Codalet CatNord #> 50 Conat CatNord #> 51 Cornellà de Conflent CatNord #> 52 Escaró CatNord #> 53 Espirà de Conflent CatNord #> 54 Estoer CatNord #> 55 Eus CatNord #> 56 Fillols CatNord #> 57 Finestret CatNord #> 58 Fontpedrosa CatNord #> 59 Fullà CatNord #> 60 Glorianes CatNord #> 61 Jóc CatNord #> 62 Jújols CatNord #> 63 la Bastida CatNord #> 64 la Llaguna CatNord #> 65 Llonat CatNord #> 66 Marqueixanes CatNord #> 67 Mentet CatNord #> 68 Molig CatNord #> 69 Mosset CatNord #> 70 Noedes CatNord #> 71 Nyer CatNord #> 72 Oleta CatNord #> 73 Orbanyà CatNord #> 74 Orellà CatNord #> 75 Pi CatNord #> 76 Planès CatNord #> 77 Prada CatNord #> 78 Ralleu CatNord #> 79 Rià CatNord #> 80 Rigardà CatNord #> 81 Rodés CatNord #> 82 Sant Marçal CatNord #> 83 Sant Pere dels Forcats CatNord #> 84 Saorra CatNord #> 85 Sautó CatNord #> 86 Serdinyà CatNord #> 87 Soanyes CatNord #> 88 Tarerac CatNord #> 89 Taurinyà CatNord #> 90 Toès CatNord #> 91 Vallestàvia CatNord #> 92 Vallmanya CatNord #> 93 Vernet CatNord #> 94 Vilafranca de Conflent CatNord #> 95 Vinçà CatNord #> 96 Alenyà CatNord #> 97 Argelers CatNord #> 98 Bages CatNord #> 99 Baixàs CatNord #> 100 Banyuls de la Marenda CatNord #> 101 Banyuls dels Aspres CatNord #> 102 Bao CatNord #> 103 Bompàs CatNord #> 104 Brullà CatNord #> 105 Bula d'Amunt CatNord #> 106 Bulaternera CatNord #> 107 Cabestany CatNord #> 108 Calce CatNord #> 109 Calmella CatNord #> 110 Cameles CatNord #> 111 Canet de Rosselló CatNord #> 112 Cànoes CatNord #> 113 Casafabre CatNord #> 114 Cases de Pena CatNord #> 115 Castellnou dels Aspres CatNord #> 116 Cervera de la Marenda CatNord #> 117 Clairà CatNord #> 118 Corbera de Rosselló CatNord #> 119 Cornellà de la Ribera CatNord #> 120 Cornellà del Bèrcol CatNord #> 121 Cotlliure CatNord #> 122 el Barcarès CatNord #> 123 el Soler CatNord #> 124 el Voló CatNord #> 125 Elna CatNord #> 126 Espirà de l'Aglí CatNord #> 127 Estagell CatNord #> 128 Forques CatNord #> 129 Illa CatNord #> 130 la Cabana de Corbera CatNord #> 131 la Roca d'Albera CatNord #> 132 la Torre d'Elna CatNord #> 133 Llauró CatNord #> 134 Llupià CatNord #> 135 Millars CatNord #> 136 Montescot CatNord #> 137 Montesquiu d'Albera CatNord #> 138 Montner CatNord #> 139 Montoriol CatNord #> 140 Nefiac CatNord #> 141 Oms CatNord #> 142 Òpol CatNord #> 143 Ortafà CatNord #> 144 Paçà CatNord #> 145 Palau del Vidre CatNord #> 146 Paretstortes CatNord #> 147 Perpinyà CatNord #> 148 Pesillà de la Ribera CatNord #> 149 Pià CatNord #> 150 Pollestres CatNord #> 151 Pontellà CatNord #> 152 Portvendres CatNord #> 153 la Trinitat CatNord #> 154 Queixàs CatNord #> 155 Ribesaltes CatNord #> 156 Salelles CatNord #> 157 Salses CatNord #> 158 Sant Andreu de Sureda CatNord #> 159 Sant Cebrià de Rosselló CatNord #> 160 Sant Esteve del Monestir CatNord #> 161 Sant Feliu d'Amunt CatNord #> 162 Sant Feliu d'Avall CatNord #> 163 Sant Genís de Fontanes CatNord #> 164 Sant Hipòlit CatNord #> 165 Sant Joan la Cella CatNord #> 166 Sant Llorenç de la Salanca CatNord #> 167 Sant Miquel de Llotes CatNord #> 168 Sant Nazari CatNord #> 169 Santa Coloma de la Comanda CatNord #> 170 Santa Maria la Mar CatNord #> 171 Sureda CatNord #> 172 Talteüll CatNord #> 173 Terrats CatNord #> 174 Tesà CatNord #> 175 Toluges CatNord #> 176 Torderes CatNord #> 177 Torrelles de la Salanca CatNord #> 178 Trasserra CatNord #> 179 Trullars CatNord #> 180 Tuïr CatNord #> 181 Vilallonga de la Salanca CatNord #> 182 Vilallonga dels Monts CatNord #> 183 Vilamulaca CatNord #> 184 Vilanova de la Ribera CatNord #> 185 Vilanova de Raò CatNord #> 186 Vingrau CatNord #> 187 Arles CatNord #> 188 Ceret CatNord #> 189 Cortsaví CatNord #> 190 Costoja CatNord #> 191 el Pertús CatNord #> 192 el Tec CatNord #> 193 els Banys d'Arles CatNord #> 194 L'Albera CatNord #> 195 la Menera CatNord #> 196 les Cluses CatNord #> 197 Montboló CatNord #> 198 Montferrer CatNord #> 199 Morellàs i les Illes CatNord #> 200 Prats de Molló i la Presta CatNord #> 201 Reiners CatNord #> 202 Sant Joan de Pladecorts CatNord #> 203 Sant Llorenç de Cerdans CatNord #> 204 Serrallonga CatNord #> 205 Tellet CatNord #> 206 Teulís CatNord #> 207 Vivers CatNord #> 208 Aiguaviva de Bergantes Franja #> 209 Bellmunt de Mesquí Franja #> 210 la Canyada de Beric Franja #> 211 la Codonyera Franja #> 212 la Ginebrosa Franja #> 213 la Sorollera Franja #> 214 la Torre de Vilella Franja #> 215 Faió Franja #> 216 Favara de Matarranya Franja #> 217 Maella Franja #> 218 Nonasp Franja #> 219 Fraga Franja #> 220 Mequinensa Franja #> 221 Saidí Franja #> 222 Torrent de Cinca Franja #> 223 Vilella de Cinca Franja #> 224 Albelda Franja #> 225 Baells Franja #> 226 Camporrells Franja #> 227 Castillonroi Franja #> 228 el Campell Franja #> 229 el Torricó Franja #> 230 Peralta de la Sal Franja #> 231 Sant Esteve de Llitera Franja #> 232 Sanui Franja #> 233 Tamarit de Llitera Franja #> 234 Valldellou Franja #> 235 Vensilló Franja #> 236 Arenys de Lledó Franja #> 237 Beseit Franja #> 238 Calaceit Franja #> 239 Fontdespatla Franja #> 240 Fórnols Franja #> 241 la Freixneda Franja #> 242 la Portellada Franja #> 243 la Torre del Comte Franja #> 244 la Vall del Tormo Franja #> 245 Lledó d'Algars Franja #> 246 Massalió Franja #> 247 Montroig Franja #> 248 Pena-roja de Tastavins Franja #> 249 Queretes Franja #> 250 Ràfels Franja #> 251 Torredarques Franja #> 252 Vall-de-roures Franja #> 253 Valljunquera Franja #> 254 Areny de Noguera Franja #> 255 Benavarri Franja #> 256 Beranui Franja #> 257 Bonansa Franja #> 258 Castigaleu Franja #> 259 Estopanyà Franja #> 260 la Pobla de Roda Franja #> 261 Lasquarri Franja #> 262 Les Paüls Franja #> 263 Queixigar Franja #> 264 Montanui Franja #> 265 Pont de Montanyana Franja #> 266 Sopeira Franja #> 267 Tolba Franja #> 268 Tor-la-ribera Franja #> 269 Viacamp Franja #> 270 Eivissa Illes #> 271 Sant Antoni de Portmany Illes #> 272 Sant Joan de Labritja Illes #> 273 Sant Josep de sa Talaia Illes #> 274 Santa Eulària des Riu Illes #> 275 Sant Francesc de Formentera Illes #> 276 Artà Illes #> 277 Capdepera Illes #> 278 Manacor Illes #> 279 Sant Llorenç des Cardassar Illes #> 280 Son Servera Illes #> 281 Alaior Illes #> 282 Ciutadella Illes #> 283 es Castell Illes #> 284 es Mercadal Illes #> 285 es Migjorn Gran Illes #> 286 Ferreries Illes #> 287 Maó Illes #> 288 Sant Lluís Illes #> 289 Campos Illes #> 290 Felanitx Illes #> 291 Llucmajor Illes #> 292 Santanyí Illes #> 293 ses Salines Illes #> 294 Palma Illes #> 295 Algaida Illes #> 296 Ariany Illes #> 297 Costitx Illes #> 298 Lloret de Vistalegre Illes #> 299 Llubí Illes #> 300 Maria de la Salut Illes #> 301 Montuïri Illes #> 302 Muro Illes #> 303 Petra Illes #> 304 Porreres Illes #> 305 Sant Joan Illes #> 306 Santa Eugènia Illes #> 307 Santa Margalida Illes #> 308 Sencelles Illes #> 309 Sineu Illes #> 310 Vilafranca de Bonany Illes #> 311 Alaró Illes #> 312 Alcúdia Illes #> 313 Binissalem Illes #> 314 Búger Illes #> 315 Campanet Illes #> 316 Consell Illes #> 317 Inca Illes #> 318 Lloseta Illes #> 319 Mancor de la Vall Illes #> 320 sa Cabaneta Illes #> 321 sa Pobla Illes #> 322 Santa Maria del Camí Illes #> 323 Selva Illes #> 324 Andratx Illes #> 325 Banyalbufar Illes #> 326 Bunyola Illes #> 327 Calvià Illes #> 328 Deià Illes #> 329 Lluc Illes #> 330 Esporles Illes #> 331 Estellencs Illes #> 332 Fornalutx Illes #> 333 Pollença Illes #> 334 Puigpunyent Illes #> 335 Sóller Illes #> 336 Valldemossa Illes #> 337 Aiguamúrcia Principat #> 338 Alcover Principat #> 339 Alió Principat #> 340 Bràfim Principat #> 341 Cabra del Camp Principat #> 342 el Milà Principat #> 343 el Pla de Santa Maria Principat #> 344 el Pont d'Armentera Principat #> 345 el Rourell Principat #> 346 els Garidells Principat #> 347 Figuerola del Camp Principat #> 348 la Masó Principat #> 349 la Riba Principat #> 350 Mont-ral Principat #> 351 Montferri Principat #> 352 Nulles Principat #> 353 Puigpelat Principat #> 354 Querol Principat #> 355 Rodonyà Principat #> 356 Vallmoll Principat #> 357 Valls Principat #> 358 Vila-rodona Principat #> 359 Vilabella Principat #> 360 Agullana Principat #> 361 Albanyà Principat #> 362 Avinyonet de Puigventós Principat #> 363 Bàscara Principat #> 364 Biure Principat #> 365 Boadella d'Empordà Principat #> 366 Borrassà Principat #> 367 Cabanelles Principat #> 368 Cabanes Principat #> 369 Cadaqués Principat #> 370 Campmany Principat #> 371 Cantallops Principat #> 372 Castelló d'Empúries Principat #> 373 Castelló d'Empúries Principat #> 374 Cistella Principat #> 375 Colera Principat #> 376 Darnius Principat #> 377 el Far d'Empordà Principat #> 378 el Port de la Selva Principat #> 379 Espolla Principat #> 380 Figueres Principat #> 381 Fortià Principat #> 382 Garrigàs Principat #> 383 Garriguella Principat #> 384 l'Armentera Principat #> 385 l'Escala Principat #> 386 la Jonquera Principat #> 387 la Selva de Mar Principat #> 388 la Vajol Principat #> 389 Llançà Principat #> 390 Lledó d'Empordà Principat #> 391 Llers Principat #> 392 Maçanet de Cabrenys Principat #> 393 Masarac Principat #> 394 Mollet de Peralada Principat #> 395 Navata Principat #> 396 Ordis Principat #> 397 Santa Eulàlia Principat #> 398 Palau-saverdera Principat #> 399 Pau Principat #> 400 Marzà Principat #> 401 Peralada Principat #> 402 Pont de Molins Principat #> 403 Pontós Principat #> 404 Portbou Principat #> 405 Rabós Principat #> 406 Riumors Principat #> 407 Roses Principat #> 408 Sant Climent Sescebes Principat #> 409 Sant Llorenç de la Muga Principat #> 410 Sant Miquel de Fluvià Principat #> 411 Sant Mori Principat #> 412 Sant Pere Pescador Principat #> 413 Santa Llogaia d'Àlguema Principat #> 414 Camallera Principat #> 415 Siurana Principat #> 416 Terrades Principat #> 417 Torroella de Fluvià Principat #> 418 Ventalló Principat #> 419 Vila-sacra Principat #> 420 Vilabertran Principat #> 421 Viladamat Principat #> 422 Vilafant Principat #> 423 Vilajuïga Principat #> 424 Vilamacolum Principat #> 425 Vilamalla Principat #> 426 Vilamaniscle Principat #> 427 Vilanant Principat #> 428 Vilaür Principat #> 429 Avinyó Nou Principat #> 430 la Gornal Principat #> 431 la Múnia Principat #> 432 el Pla del Penedès Principat #> 433 Font-rubí Principat #> 434 Gelida Principat #> 435 la Granada Principat #> 436 les Cabanyes Principat #> 437 Sant Joan de Mediona Principat #> 438 Sant Miquel d'Olèrdola Principat #> 439 Olesa de Bonesvalls Principat #> 440 Pacs del Penedès Principat #> 441 Pontons Principat #> 442 Puigdàlber Principat #> 443 Sant Cugat Sesgarrigues Principat #> 444 Sant Llorenç d'Hortons Principat #> 445 Sant Martí Sarroca Principat #> 446 Sant Pere de Riudebitlles Principat #> 447 Sant Quintí de Mediona Principat #> 448 Sant Sadurní d'Anoia Principat #> 449 Santa Fe del Penedès Principat #> 450 Santa Margarida i els Monjos Principat #> 451 Sant Pau d'Ordal Principat #> 452 Terrassola i Lavit Principat #> 453 Torrelles de Foix Principat #> 454 Vilafranca del Penedès Principat #> 455 Vilobí del Penedès Principat #> 456 Alàs Principat #> 457 Arsèguel Principat #> 458 Bassella Principat #> 459 Cabó Principat #> 460 Ansovell Principat #> 461 Coll de Nargó Principat #> 462 Bar Principat #> 463 Estamariu Principat #> 464 Fígols Principat #> 465 Tuixent Principat #> 466 la Seu d'Urgell Principat #> 467 Fórnols Principat #> 468 Sorribes de la Vansa Principat #> 469 Noves de Segre Principat #> 470 Anserall Principat #> 471 Montferrer Principat #> 472 Oliana Principat #> 473 Organyà Principat #> 474 Peramola Principat #> 475 el Pla de Sant Tirs Principat #> 476 el Pont de Suert Principat #> 477 Barruera Principat #> 478 Vilaller Principat #> 479 Argençola Principat #> 480 Bellprat Principat #> 481 Canaletes Principat #> 482 Calaf Principat #> 483 Dusfort Principat #> 484 Capellades Principat #> 485 Carme Principat #> 486 Castellfollit de Riubregós Principat #> 487 Castellolí Principat #> 488 Copons Principat #> 489 el Bruc Principat #> 490 els Hostalets de Pierola Principat #> 491 els Prats de Rei Principat #> 492 Igualada Principat #> 493 Jorba Principat #> 494 la Llacuna Principat #> 495 la Pobla de Claramunt Principat #> 496 la Torre de Claramunt Principat #> 497 Masquefa Principat #> 498 Montmaneu Principat #> 499 Òdena Principat #> 500 Orpí Principat #> 501 Piera Principat #> 502 Pujalt Principat #> 503 Rubió Principat #> 504 Sant Martí de Tous Principat #> 505 Sant Martí Sesgueioles Principat #> 506 Sant Pere Sallavinera Principat #> 507 Santa Margarida de Montbui Principat #> 508 Santa Maria de Miralles Principat #> 509 Vallbona d'Anoia Principat #> 510 Veciana Principat #> 511 Vilanova del Camí Principat #> 512 Aguilar de Segarra Principat #> 513 Artés Principat #> 514 Avinyó Principat #> 515 Balsareny Principat #> 516 Callús Principat #> 517 Cardona Principat #> 518 el Borràs Principat #> 519 Castellfollit del Boix Principat #> 520 Castellgalí Principat #> 521 Castellnou de Bages Principat #> 522 el Pont de Vilomara Principat #> 523 Fonollosa Principat #> 524 Gaià Principat #> 525 Manresa Principat #> 526 Marganell Principat #> 527 Monistrol de Montserrat Principat #> 528 Mura Principat #> 529 Navarcles Principat #> 530 Navars Principat #> 531 Rajadell Principat #> 532 Sallent Principat #> 533 Sant Feliu Sasserra Principat #> 534 Sant Fruitós de Bages Principat #> 535 Sant Joan de Vilatorrada Principat #> 536 Sant Mateu de Bages Principat #> 537 Sant Salvador de Guardiola Principat #> 538 Sant Vicenç de Castellet Principat #> 539 Santpedor Principat #> 540 Súria Principat #> 541 Talamanca Principat #> 542 Alforja Principat #> 543 Almoster Principat #> 544 Arbolí Principat #> 545 Botarell Principat #> 546 Cambrils Principat #> 547 Capafonts Principat #> 548 Castellvell del Camp Principat #> 549 Colldejou Principat #> 550 Duesaigües Principat #> 551 l'Albiol Principat #> 552 l'Aleixar Principat #> 553 l'Argentera Principat #> 554 la Febró Principat #> 555 la Selva del Camp Principat #> 556 les Borges del Camp Principat #> 557 Maspujols Principat #> 558 Mont-roig del Camp Principat #> 559 Montbrió del Camp Principat #> 560 Prades Principat #> 561 Pratdip Principat #> 562 Reus Principat #> 563 Riudecanyes Principat #> 564 Riudecols Principat #> 565 Riudoms Principat #> 566 Vandellòs Principat #> 567 Vilanova d'Escornalbou Principat #> 568 Vilaplana Principat #> 569 Vinyols i els Arcs Principat #> 570 Aldover Principat #> 571 Alfara de Carles Principat #> 572 Benifallet Principat #> 573 Camarles Principat #> 574 Deltebre Principat #> 575 el Perelló Principat #> 576 l'Aldea Principat #> 577 l'Ametlla de Mar Principat #> 578 l'Ampolla Principat #> 579 Paüls Principat #> 580 Roquetes Principat #> 581 Tivenys Principat #> 582 Tortosa Principat #> 583 Xerta Principat #> 584 Albons Principat #> 585 Begur Principat #> 586 Bellcaire d'Empordà Principat #> 587 Calonge Principat #> 588 Platja d'Aro Principat #> 589 Colomers Principat #> 590 Corçà Principat #> 591 Sant Sadurní de l'Heura Principat #> 592 Foixà Principat #> 593 Fontanilles Principat #> 594 Garrigoles Principat #> 595 Gualta Principat #> 596 Jafre Principat #> 597 la Bisbal d'Empordà Principat #> 598 la Pera Principat #> 599 la Tallada d'Empordà Principat #> 600 Mont-ras Principat #> 601 Palafrugell Principat #> 602 Palamós Principat #> 603 Palau-sator Principat #> 604 Pals Principat #> 605 Parlavà Principat #> 606 Regencós Principat #> 607 Rupià Principat #> 608 Sant Feliu de Guíxols Principat #> 609 Santa Cristina d'Aro Principat #> 610 Serra de Daró Principat #> 611 Torrent Principat #> 612 Torroella de Montgrí Principat #> 613 Ullà Principat #> 614 Ullastret Principat #> 615 Ultramort Principat #> 616 Vall-llobrega Principat #> 617 Verges Principat #> 618 Vilopriu Principat #> 619 Vulpellac Principat #> 620 Abrera Principat #> 621 Begues Principat #> 622 Castelldefels Principat #> 623 Castellví de Rosanes Principat #> 624 Cervelló Principat #> 625 Collbató Principat #> 626 Corbera de Llobregat Principat #> 627 Cornellà de Llobregat Principat #> 628 el Papiol Principat #> 629 el Prat de Llobregat Principat #> 630 Esparreguera Principat #> 631 Esplugues de Llobregat Principat #> 632 Gavà Principat #> 633 la Palma de Cervelló Principat #> 634 Martorell Principat #> 635 Molins de Rei Principat #> 636 Olesa de Montserrat Principat #> 637 Pallejà Principat #> 638 Sant Andreu de la Barca Principat #> 639 Sant Boi de Llobregat Principat #> 640 Sant Climent de Llobregat Principat #> 641 Sant Esteve Sesrovires Principat #> 642 Sant Feliu de Llobregat Principat #> 643 Sant Joan Despí Principat #> 644 Sant Just Desvern Principat #> 645 Sant Vicenç dels Horts Principat #> 646 Santa Coloma de Cervelló Principat #> 647 Torrelles de Llobregat Principat #> 648 Vallirana Principat #> 649 Viladecans Principat #> 650 Albinyana Principat #> 651 Banyeres del Penedès Principat #> 652 Bellvei Principat #> 653 Bonastre Principat #> 654 Calafell Principat #> 655 Cunit Principat #> 656 la Joncosa del Montmell Principat #> 657 el Vendrell Principat #> 658 l'Arboç Principat #> 659 La Bisbal del Penedès Principat #> 660 Llorenç del Penedès Principat #> 661 Masllorenç Principat #> 662 Sant Jaume dels Domenys Principat #> 663 Santa Oliva Principat #> 664 Badalona Principat #> 665 Barcelona Principat #> 666 l'Hospitalet de Llobregat Principat #> 667 Sant Adrià de Besòs Principat #> 668 Santa Coloma de Gramenet Principat #> 669 Avià Principat #> 670 Bagà Principat #> 671 Berga Principat #> 672 Borredà Principat #> 673 Capolat Principat #> 674 Casserres Principat #> 675 Castell de l'Areny Principat #> 676 Castellar de n'Hug Principat #> 677 Llinars Principat #> 678 Cercs Principat #> 679 Fígols Principat #> 680 Gironella Principat #> 681 Gisclareny Principat #> 682 Gósol Principat #> 683 Guardiola de Berguedà Principat #> 684 l'Espunyola Principat #> 685 la Nou de Berguedà Principat #> 686 la Pobla de Lillet Principat #> 687 la Quar Principat #> 688 Montclar Principat #> 689 Montmajor Principat #> 690 Olvan Principat #> 691 Puig-reig Principat #> 692 Sagàs Principat #> 693 Saldes Principat #> 694 Sant Jaume de Frontanyà Principat #> 695 Sant Julià de Cerdanyola Principat #> 696 Santa Maria de Merlès Principat #> 697 Vallcebre Principat #> 698 Vilada Principat #> 699 Serrateix Principat #> 700 Alp Principat #> 701 Bellver de Cerdanya Principat #> 702 Bolvir Principat #> 703 Das Principat #> 704 el Vilar d'Urtx Principat #> 705 Ger Principat #> 706 Guils de Cerdanya Principat #> 707 All Principat #> 708 Lles de Cerdanya Principat #> 709 Llívia Principat #> 710 Meranges Principat #> 711 Martinet Principat #> 712 Prats Principat #> 713 Prullans Principat #> 714 Puigcerdà Principat #> 715 Riu de Cerdanya Principat #> 716 Urús Principat #> 717 Barberà de la Conca Principat #> 718 Blancafort Principat #> 719 Conesa Principat #> 720 Forès Principat #> 721 l'Espluga de Francolí Principat #> 722 les Piles Principat #> 723 Llorac Principat #> 724 Montblanc Principat #> 725 Passanant Principat #> 726 Pira Principat #> 727 Pontils Principat #> 728 Rocafort de Queralt Principat #> 729 Santa Coloma de Queralt Principat #> 730 Sarral Principat #> 731 Savallà del Comtat Principat #> 732 Senan Principat #> 733 Solivella Principat #> 734 Vallclara Principat #> 735 Vallfogona de Riucorb Principat #> 736 Vilanova de Prades Principat #> 737 Vilaverd Principat #> 738 Vimbodí Principat #> 739 Canyelles Principat #> 740 Cubelles Principat #> 741 Olivella Principat #> 742 Sant Pere de Ribes Principat #> 743 Sitges Principat #> 744 Vilanova i la Geltrú Principat #> 745 Arbeca Principat #> 746 Bellaguarda Principat #> 747 Bovera Principat #> 748 Castelldans Principat #> 749 Cervià de les Garrigues Principat #> 750 el Cogul Principat #> 751 el Soleràs Principat #> 752 el Vilosell Principat #> 753 els Omellons Principat #> 754 els Torms Principat #> 755 Fulleda Principat #> 756 Granyena de les Garrigues Principat #> 757 Juncosa Principat #> 758 Juneda Principat #> 759 l'Albagés Principat #> 760 l'Albi Principat #> 761 l'Espluga Calba Principat #> 762 la Floresta Principat #> 763 la Granadella Principat #> 764 la Pobla de Cérvoles Principat #> 765 les Borges Blanques Principat #> 766 Puiggròs Principat #> 767 Tarrés Principat #> 768 Vinaixa Principat #> 769 Argelaguer Principat #> 770 Besalú Principat #> 771 Beuda Principat #> 772 Castellfollit de la Roca Principat #> 773 Sant Esteve d'en Bas Principat #> 774 l'Hostalnou de Bianya Principat #> 775 les Planes d'Hostoles Principat #> 776 les Preses Principat #> 777 Maià de Montcal Principat #> 778 Mieres Principat #> 779 Montagut Principat #> 780 Olot Principat #> 781 Riudaura Principat #> 782 Sales de Llierca Principat #> 783 Sant Esteve de Llémena Principat #> 784 Sant Feliu de Pallerols Principat #> 785 Juïnyà Principat #> 786 Sant Jaume de Llierca Principat #> 787 Sant Joan les Fonts Principat #> 788 Santa Pau Principat #> 789 Tortellà Principat #> 790 Aiguaviva Principat #> 791 Bescanó Principat #> 792 Bordils Principat #> 793 Campllong Principat #> 794 Canet d'Adri Principat #> 795 Cassà de la Selva Principat #> 796 Celrà Principat #> 797 Cervià de Ter Principat #> 798 Flaçà Principat #> 799 Fornells de la Selva Principat #> 800 Girona Principat #> 801 Juià Principat #> 802 Llagostera Principat #> 803 Llambilles Principat #> 804 Madremanya Principat #> 805 Medinyà Principat #> 806 Quart Principat #> 807 Salt Principat #> 808 Sant Andreu Salou Principat #> 809 Sant Gregori Principat #> 810 Sant Joan de Mollet Principat #> 811 Sant Jordi Desvalls Principat #> 812 Sant Julià de Ramis Principat #> 813 Sant Martí de Llémena Principat #> 814 Sant Martí Vell Principat #> 815 Sarrià de Ter Principat #> 816 Vilablareix Principat #> 817 Viladasens Principat #> 818 Alpens Principat #> 819 Santa Eulàlia de Puig-oriol Principat #> 820 Olost Principat #> 821 Oristà Principat #> 822 Perafita Principat #> 823 Prats de Lluçanès Principat #> 824 Sant Martí d'Albars Principat #> 825 Sobremunt Principat #> 826 Alella Principat #> 827 Arenys de Mar Principat #> 828 Arenys de Munt Principat #> 829 Argentona Principat #> 830 Cabrera de Mar Principat #> 831 Cabrils Principat #> 832 Caldes d'Estrac Principat #> 833 Calella Principat #> 834 Canet de Mar Principat #> 835 Dosrius Principat #> 836 el Masnou Principat #> 837 Malgrat de Mar Principat #> 838 Mataró Principat #> 839 Montgat Principat #> 840 Òrrius Principat #> 841 Palafolls Principat #> 842 Pineda de Mar Principat #> 843 Premià de Dalt Principat #> 844 Premià de Mar Principat #> 845 Sant Andreu de Llavaneres Principat #> 846 Sant Cebrià de Vallalta Principat #> 847 Sant Iscle de Vallalta Principat #> 848 Sant Pol de Mar Principat #> 849 Sant Vicenç de Montalt Principat #> 850 Santa Susanna Principat #> 851 Teià Principat #> 852 Tiana Principat #> 853 Tordera Principat #> 854 Vilassar de Dalt Principat #> 855 Vilassar de Mar Principat #> 856 Calders Principat #> 857 Castellcir Principat #> 858 Castellterçol Principat #> 859 Collsuspina Principat #> 860 Granera Principat #> 861 l'Estany Principat #> 862 Moià Principat #> 863 Monistrol de Calders Principat #> 864 Sant Quirze Safaja Principat #> 865 Santa Maria d'Oló Principat #> 866 Alcanar Principat #> 867 Amposta Principat #> 868 Freginals Principat #> 869 Godall Principat #> 870 la Galera Principat #> 871 la Ràpita Principat #> 872 la Sénia Principat #> 873 Mas de Barberans Principat #> 874 Masdenverge Principat #> 875 Sant Jaume d'Enveja Principat #> 876 Santa Bàrbara Principat #> 877 Ulldecona Principat #> 878 Àger Principat #> 879 Albesa Principat #> 880 Algerri Principat #> 881 Alòs de Balaguer Principat #> 882 Artesa de Segre Principat #> 883 Balaguer Principat #> 884 Bellcaire d'Urgell Principat #> 885 Bellmunt d'Urgell Principat #> 886 Cabanabona Principat #> 887 Camarasa Principat #> 888 Castelló de Farfanya Principat #> 889 Cubells Principat #> 890 Foradada Principat #> 891 Ivars de Noguera Principat #> 892 Gualter Principat #> 893 la Sentiu de Sió Principat #> 894 les Avellanes Principat #> 895 Menàrguens Principat #> 896 Montgai Principat #> 897 Oliola Principat #> 898 Os de Balaguer Principat #> 899 Penelles Principat #> 900 Ponts Principat #> 901 Preixens Principat #> 902 Térmens Principat #> 903 Tiurana Principat #> 904 Torrelameu Principat #> 905 Vallfogona de Balaguer Principat #> 906 Vilanova de l'Aguda Principat #> 907 Vilanova de Meià Principat #> 908 els Hostalets de Balenyà Principat #> 909 Calldetenes Principat #> 910 Centelles Principat #> 911 el Brull Principat #> 912 Espinelves Principat #> 913 Folgueroles Principat #> 914 Gurb Principat #> 915 l'Esquirol Principat #> 916 les Masies de Roda Principat #> 917 les Masies de Voltregà Principat #> 918 Malla Principat #> 919 Manlleu Principat #> 920 Montesquiu Principat #> 921 Muntanyola Principat #> 922 Can Branques Principat #> 923 Roda de Ter Principat #> 924 Rupit Principat #> 925 l'Alou Principat #> 926 Sant Bartomeu del Grau Principat #> 927 Sant Boi de Lluçanès Principat #> 928 Sant Hipòlit de Voltregà Principat #> 929 Sant Julià de Vilatorta Principat #> 930 l'Abella Principat #> 931 Sant Pere de Torelló Principat #> 932 Sant Quirze de Besora Principat #> 933 Sant Sadurní d'Osormort Principat #> 934 Sant Vicenç de Torelló Principat #> 935 Santa Cecília de Voltregà Principat #> 936 Santa Eugènia de Berga Principat #> 937 Santa Eulàlia de Riuprimer Principat #> 938 Santa Maria de Besora Principat #> 939 Seva Principat #> 940 Sora Principat #> 941 Taradell Principat #> 942 Tavèrnoles Principat #> 943 Tavertet Principat #> 944 Tona Principat #> 945 Torelló Principat #> 946 Vic Principat #> 947 Vidrà Principat #> 948 Viladrau Principat #> 949 Vilanova de Sau Principat #> 950 Abella de la Conca Principat #> 951 Guàrdia de Noguera Principat #> 952 el Pont de Claverol Principat #> 953 Gavet de la Conca Principat #> 954 Isona Principat #> 955 la Pobla de Segur Principat #> 956 la Torre de Cabdella Principat #> 957 Llimiana Principat #> 958 Salàs de Pallars Principat #> 959 Sant Esteve de la Sarga Principat #> 960 Sarroca de Bellera Principat #> 961 Senterada Principat #> 962 Talarn Principat #> 963 Tremp Principat #> 964 Alins Principat #> 965 València d'Àneu Principat #> 966 Gerri de la Sal Principat #> 967 Espot Principat #> 968 Esterri d'Àneu Principat #> 969 Esterri de Cardós Principat #> 970 Burg Principat #> 971 la Guingueta d'Àneu Principat #> 972 Lladorre Principat #> 973 Llavorsí Principat #> 974 Rialb Principat #> 975 Vilamur Principat #> 976 Sort Principat #> 977 Tírvia Principat #> 978 Ribera de Cardós Principat #> 979 Barbens Principat #> 980 Bell-lloc d'Urgell Principat #> 981 Bellvís Principat #> 982 Castellnou de Seana Principat #> 983 el Palau d'Anglesola Principat #> 984 el Poal Principat #> 985 Fondarella Principat #> 986 Golmés Principat #> 987 Ivars d'Urgell Principat #> 988 Linyola Principat #> 989 Miralcamp Principat #> 990 Mollerussa Principat #> 991 Sidamon Principat #> 992 Torregrossa Principat #> 993 Vila-sana Principat #> 994 Vilanova de Bellpuig Principat #> 995 Banyoles Principat #> 996 Camós Principat #> 997 Cornellà del Terri Principat #> 998 Crespià Principat #> 999 Esponellà Principat #> 1000 Fontcoberta Principat #> 1001 Palol de Revardit Principat #> 1002 Mata Principat #> 1003 Sant Miquel de Campmajor Principat #> 1004 Serinyà Principat #> 1005 Vilademuls Principat #> 1006 Bellmunt del Priorat Principat #> 1007 Cabassers Principat #> 1008 Capçanes Principat #> 1009 Cornudella de Montsant Principat #> 1010 el Lloar Principat #> 1011 el Masroig Principat #> 1012 el Molar Principat #> 1013 els Guiamets Principat #> 1014 Falset Principat #> 1015 Gratallops Principat #> 1016 la Bisbal de Falset Principat #> 1017 la Figuera Principat #> 1018 la Morera de Montsant Principat #> 1019 la Torre de Fontaubella Principat #> 1020 la Vilella Alta Principat #> 1021 la Vilella Baixa Principat #> 1022 Marçà Principat #> 1023 Margalef Principat #> 1024 Poboleda Principat #> 1025 Porrera Principat #> 1026 Pradell de la Teixeta Principat #> 1027 Torroja del Priorat Principat #> 1028 Ulldemolins Principat #> 1029 Ascó Principat #> 1030 Benissanet Principat #> 1031 Flix Principat #> 1032 Garcia Principat #> 1033 Ginestar Principat #> 1034 la Palma d'Ebre Principat #> 1035 la Torre de l'Espanyol Principat #> 1036 Miravet Principat #> 1037 Móra d'Ebre Principat #> 1038 Móra la Nova Principat #> 1039 Rasquera Principat #> 1040 Riba-roja d'Ebre Principat #> 1041 Tivissa Principat #> 1042 Vinebre Principat #> 1043 Campdevànol Principat #> 1044 Campelles Principat #> 1045 Camprodon Principat #> 1046 Gombrèn Principat #> 1047 les Llosses Principat #> 1048 Llanars Principat #> 1049 Molló Principat #> 1050 Ogassa Principat #> 1051 Pardines Principat #> 1052 Planoles Principat #> 1053 Queralbs Principat #> 1054 Ribes de Freser Principat #> 1055 Ripoll Principat #> 1056 Sant Joan de les Abadesses Principat #> 1057 Sant Pau de Segúries Principat #> 1058 Setcases Principat #> 1059 Toses Principat #> 1060 Vallfogona de Ripollès Principat #> 1061 Vilallonga de Ter Principat #> 1062 Biosca Principat #> 1063 Cervera Principat #> 1064 les Pallargues Principat #> 1065 Estaràs Principat #> 1066 Granyanella Principat #> 1067 Granyena de Segarra Principat #> 1068 Guissona Principat #> 1069 Ivorra Principat #> 1070 les Oluges Principat #> 1071 Massoteres Principat #> 1072 Montoliu de Segarra Principat #> 1073 Montornès de Segarra Principat #> 1074 Sant Antolí i Vilanova Principat #> 1075 Sanaüja Principat #> 1076 Sant Guim de Freixenet Principat #> 1077 Sant Guim de la Plana Principat #> 1078 Sant Ramon Principat #> 1079 Talavera Principat #> 1080 Tarroja de Segarra Principat #> 1081 Torà Principat #> 1082 Torrefeta Principat #> 1083 Aitona Principat #> 1084 Albatàrrec Principat #> 1085 Alcanó Principat #> 1086 Alcarràs Principat #> 1087 Alcoletge Principat #> 1088 Alfarràs Principat #> 1089 Alfés Principat #> 1090 Alguaire Principat #> 1091 Almacelles Principat #> 1092 Almatret Principat #> 1093 Almenar Principat #> 1094 Alpicat Principat #> 1095 Artesa de Lleida Principat #> 1096 Aspa Principat #> 1097 Benavent de Segrià Principat #> 1098 Corbins Principat #> 1099 els Alamús Principat #> 1100 Gimenells Principat #> 1101 la Granja d'Escarp Principat #> 1102 la Portella Principat #> 1103 Llardecans Principat #> 1104 Lleida Principat #> 1105 Maials Principat #> 1106 Massalcoreig Principat #> 1107 Montoliu de Lleida Principat #> 1108 Puigverd de Lleida Principat #> 1109 Rosselló Principat #> 1110 Sarroca de Lleida Principat #> 1111 Seròs Principat #> 1112 Soses Principat #> 1113 Sudanell Principat #> 1114 Sunyer Principat #> 1115 Torre-serona Principat #> 1116 Torrebesses Principat #> 1117 Torrefarrera Principat #> 1118 Torres de Segre Principat #> 1119 Vilanova de la Barca Principat #> 1120 Vilanova de Segrià Principat #> 1121 Amer Principat #> 1122 Anglès Principat #> 1123 Arbúcies Principat #> 1124 Blanes Principat #> 1125 Breda Principat #> 1126 Brunyola Principat #> 1127 Caldes de Malavella Principat #> 1128 Fogars de la Selva Principat #> 1129 Hostalric Principat #> 1130 la Cellera de Ter Principat #> 1131 Lloret de Mar Principat #> 1132 Maçanes Principat #> 1133 Maçanet de la Selva Principat #> 1134 Osor Principat #> 1135 Riells Principat #> 1136 Riudarenes Principat #> 1137 Riudellots de la Selva Principat #> 1138 Sant Feliu de Buixalleu Principat #> 1139 Sant Hilari Sacalm Principat #> 1140 Bonmatí Principat #> 1141 Santa Coloma de Farners Principat #> 1142 Sils Principat #> 1143 Sant Martí Sacalm Principat #> 1144 Tossa de Mar Principat #> 1145 Vidreres Principat #> 1146 Vilobí d'Onyar Principat #> 1147 Castellar de la Ribera Principat #> 1148 Clariana de Cardener Principat #> 1149 la Casa Nova de Valls Principat #> 1150 la Coma Principat #> 1151 la Molsosa Principat #> 1152 Lladurs Principat #> 1153 Llobera Principat #> 1154 Navès Principat #> 1155 Cambrils Principat #> 1156 el Pi de Sant Just Principat #> 1157 Sant Climenç Principat #> 1158 Pinós Principat #> 1159 el Miracle Principat #> 1160 Sant Llorenç de Morunys Principat #> 1161 Solsona Principat #> 1162 Altafulla Principat #> 1163 Constantí Principat #> 1164 Creixell Principat #> 1165 el Catllar Principat #> 1166 el Morell Principat #> 1167 els Pallaresos Principat #> 1168 la Canonja Principat #> 1169 la Nou de Gaià Principat #> 1170 la Pobla de Mafumet Principat #> 1171 la Pobla de Montornès Principat #> 1172 la Riera de Gaià Principat #> 1173 la Secuita Principat #> 1174 Perafort Principat #> 1175 Renau Principat #> 1176 Roda de Berà Principat #> 1177 Salomó Principat #> 1178 Salou Principat #> 1179 Tarragona Principat #> 1180 Torredembarra Principat #> 1181 Vespella de Gaià Principat #> 1182 Vila-seca Principat #> 1183 Vilallonga del Camp Principat #> 1184 Arnes Principat #> 1185 Batea Principat #> 1186 Bot Principat #> 1187 Caseres Principat #> 1188 Corbera d'Ebre Principat #> 1189 el Pinell de Brai Principat #> 1190 Gandesa Principat #> 1191 Horta de Sant Joan Principat #> 1192 la Fatarella Principat #> 1193 la Pobla de Massaluca Principat #> 1194 Prat de Comte Principat #> 1195 Vilalba dels Arcs Principat #> 1196 Agramunt Principat #> 1197 Anglesola Principat #> 1198 Belianes Principat #> 1199 Bellpuig Principat #> 1200 Castellserà Principat #> 1201 Ciutadilla Principat #> 1202 els Omells de na Gaia Principat #> 1203 Guimerà Principat #> 1204 la Fuliola Principat #> 1205 Maldà Principat #> 1206 Nalec Principat #> 1207 Ossó de Sió Principat #> 1208 Preixana Principat #> 1209 Puigverd d'Agramunt Principat #> 1210 Sant Martí de Maldà Principat #> 1211 Tàrrega Principat #> 1212 Tornabous Principat #> 1213 Vallbona de les Monges Principat #> 1214 Verdú Principat #> 1215 Vilagrassa Principat #> 1216 Badia del Vallès Principat #> 1217 Barberà del Vallès Principat #> 1218 Castellar del Vallès Principat #> 1219 Castellbisbal Principat #> 1220 Cerdanyola del Vallès Principat #> 1221 Gallifa Principat #> 1222 Matadepera Principat #> 1223 Montcada i Reixac Principat #> 1224 Palau-solità i Plegamans Principat #> 1225 Polinyà Principat #> 1226 Rellinars Principat #> 1227 Ripollet Principat #> 1228 Rubí Principat #> 1229 Sabadell Principat #> 1230 Sant Cugat del Vallès Principat #> 1231 Sant Llorenç Savall Principat #> 1232 Sant Quirze del Vallès Principat #> 1233 Santa Perpètua de Mogoda Principat #> 1234 Sentmenat Principat #> 1235 Terrassa Principat #> 1236 Ullastrell Principat #> 1237 Vacarisses Principat #> 1238 Viladecavalls Principat #> 1239 Aiguafreda Principat #> 1240 Bigues Principat #> 1241 Caldes de Montbui Principat #> 1242 Campins Principat #> 1243 Canovelles Principat #> 1244 Cànoves Principat #> 1245 Cardedeu Principat #> 1246 el Figueró Principat #> 1247 Mosqueroles Principat #> 1248 Granollers Principat #> 1249 Gualba Principat #> 1250 l'Ametlla del Vallès Principat #> 1251 la Garriga Principat #> 1252 la Llagosta Principat #> 1253 la Roca del Vallès Principat #> 1254 Corró d'Avall Principat #> 1255 Lliçà d'Amunt Principat #> 1256 Lliçà de Vall Principat #> 1257 Llinars del Vallès Principat #> 1258 Martorelles Principat #> 1259 Mollet del Vallès Principat #> 1260 Montmeló Principat #> 1261 Montornès del Vallès Principat #> 1262 Montseny Principat #> 1263 Parets del Vallès Principat #> 1264 Sant Antoni de Vilamajor Principat #> 1265 Sant Celoni Principat #> 1266 Sant Esteve de Palautordera Principat #> 1267 Sant Feliu de Codines Principat #> 1268 Sant Fost de Campsentelles Principat #> 1269 Sant Pere de Vilamajor Principat #> 1270 Santa Eulàlia de Ronçana Principat #> 1271 Santa Maria de Martorelles Principat #> 1272 Santa Maria de Palautordera Principat #> 1273 Tagamanent Principat #> 1274 Vallgorguina Principat #> 1275 Vallromanes Principat #> 1276 Vilalba Sasserra Principat #> 1277 Vilanova del Vallès Principat #> 1278 València PV #> 1279 Alcalà de Xivert PV #> 1280 Benicarló PV #> 1281 Càlig PV #> 1282 Canet lo Roig PV #> 1283 Castell de Cabres PV #> 1284 Cervera del Maestrat PV #> 1285 la Jana PV #> 1286 la Pobla de Benifassà PV #> 1287 la Salzadella PV #> 1288 Peníscola PV #> 1289 Rossell PV #> 1290 Sant Jordi PV #> 1291 Sant Mateu PV #> 1292 Sant Rafel del Riu PV #> 1293 Santa Magdalena de Polpís PV #> 1294 Traiguera PV #> 1295 Vinaròs PV #> 1296 Xert PV #> 1297 Guardamar del Segura PV #> 1298 Crevillent PV #> 1299 Elx PV #> 1300 Santa Pola PV #> 1301 Albalat dels Tarongers PV #> 1302 Alfara de la Baronia PV #> 1303 Algar de Palància PV #> 1304 Algímia d'Alfara PV #> 1305 Benavites PV #> 1306 Benifairó de les Valls PV #> 1307 Canet d'en Berenguer PV #> 1308 Estivella PV #> 1309 Faura PV #> 1310 Gilet PV #> 1311 Petrés PV #> 1312 Quart de les Valls PV #> 1313 Quartell PV #> 1314 Sagunt PV #> 1315 Segart PV #> 1316 Torres Torres PV #> 1317 Benaguasil PV #> 1318 Benissanó PV #> 1319 Bétera PV #> 1320 Casinos PV #> 1321 l'Eliana PV #> 1322 la Pobla de Vallbona PV #> 1323 Llíria PV #> 1324 Nàquera PV #> 1325 Olocau PV #> 1326 Riba-roja de Túria PV #> 1327 Serra PV #> 1328 Vilamarxant PV #> 1329 Agres PV #> 1330 Alcoleja PV #> 1331 Alcosser PV #> 1332 Alfafara PV #> 1333 Almudaina PV #> 1334 Balones PV #> 1335 Benasau PV #> 1336 Beniarrés PV #> 1337 Benilloba PV #> 1338 Benillup PV #> 1339 Benimarfull PV #> 1340 Benimassot PV #> 1341 Cocentaina PV #> 1342 Fageca PV #> 1343 Famorca PV #> 1344 Gaianes PV #> 1345 Gorga PV #> 1346 l'Alqueria d'Asnar PV #> 1347 l'Orxa PV #> 1348 Millena PV #> 1349 Muro d'Alcoi PV #> 1350 Planes PV #> 1351 Quatretondeta PV #> 1352 Tollos PV #> 1353 el Fondó de les Neus PV #> 1354 el Fondó dels Frares PV #> 1355 el Pinós PV #> 1356 l'Alguenya PV #> 1357 la Romana PV #> 1358 Monòver PV #> 1359 Novelda PV #> 1360 Petrer PV #> 1361 Castellfort PV #> 1362 Cinctorres PV #> 1363 el Forcall PV #> 1364 Herbers PV #> 1365 la Mata de Morella PV #> 1366 la Todolella PV #> 1367 Morella PV #> 1368 Palanques PV #> 1369 Portell de Morella PV #> 1370 Sorita PV #> 1371 Vallibona PV #> 1372 Vilafranca PV #> 1373 Villores PV #> 1374 Agost PV #> 1375 Aigües PV #> 1376 Alacant PV #> 1377 Busot PV #> 1378 el Campello PV #> 1379 la Torre de les Maçanes PV #> 1380 Mutxamel PV #> 1381 Sant Joan d'Alacant PV #> 1382 Sant Vicent del Raspeig PV #> 1383 Xixona PV #> 1384 Costur PV #> 1385 Figueroles PV #> 1386 l'Alcora PV #> 1387 les Useres PV #> 1388 Llucena PV #> 1389 Vistabella del Maestrat PV #> 1390 Xodos PV #> 1391 Alcoi PV #> 1392 Banyeres de Mariola PV #> 1393 Benifallim PV #> 1394 Castalla PV #> 1395 Ibi PV #> 1396 Onil PV #> 1397 Penàguila PV #> 1398 Tibi PV #> 1399 Albocàsser PV #> 1400 Ares del Maestrat PV #> 1401 Atzeneta del Maestrat PV #> 1402 Benafigos PV #> 1403 Benassal PV #> 1404 Catí PV #> 1405 Culla PV #> 1406 la Serratella PV #> 1407 la Torre d'en Besora PV #> 1408 Tírig PV #> 1409 Vilar de Canes PV #> 1410 Beneixama PV #> 1411 Biar PV #> 1412 el Camp de Mirra PV #> 1413 la Canyada PV #> 1414 Albalat dels Sorells PV #> 1415 Alboraia PV #> 1416 Albuixec PV #> 1417 Alfara del Patriarca PV #> 1418 Almàssera PV #> 1419 Bonrepòs i Mirambell PV #> 1420 Burjassot PV #> 1421 el Puig de Santa Maria PV #> 1422 Emperador PV #> 1423 Foios PV #> 1424 Godella PV #> 1425 la Pobla de Farnals PV #> 1426 Massalfassar PV #> 1427 Massamagrell PV #> 1428 Meliana PV #> 1429 Montcada PV #> 1430 Museros PV #> 1431 Paterna PV #> 1432 Puçol PV #> 1433 Rafelbunyol PV #> 1434 Rocafort PV #> 1435 Tavernes Blanques PV #> 1436 Vinalesa PV #> 1437 Alaquàs PV #> 1438 Albal PV #> 1439 Alcàsser PV #> 1440 Aldaia PV #> 1441 Alfafar PV #> 1442 Benetússer PV #> 1443 Beniparrell PV #> 1444 Catarroja PV #> 1445 Llocnou de la Corona PV #> 1446 Manises PV #> 1447 Massanassa PV #> 1448 Mislata PV #> 1449 Paiporta PV #> 1450 Picanya PV #> 1451 Picassent PV #> 1452 Quart de Poblet PV #> 1453 Sedaví PV #> 1454 Silla PV #> 1455 Torrent PV #> 1456 Xirivella PV #> 1457 Barxeta PV #> 1458 Canals PV #> 1459 Cerdà PV #> 1460 el Genovés PV #> 1461 Estubeny PV #> 1462 l'Alcúdia de Crespins PV #> 1463 la Font de la Figuera PV #> 1464 la Granja de la Costera PV #> 1465 la Llosa de Ranes PV #> 1466 Llanera de Ranes PV #> 1467 Llocnou d'en Fenollet PV #> 1468 Moixent PV #> 1469 Montesa PV #> 1470 Novetlè PV #> 1471 Rotglà i Corberà PV #> 1472 Torrella PV #> 1473 Vallada PV #> 1474 Vallés PV #> 1475 Xàtiva PV #> 1476 Alcalalí PV #> 1477 Beniarbeig PV #> 1478 Benidoleig PV #> 1479 Benigembla PV #> 1480 Benimeli PV #> 1481 Benissa PV #> 1482 Calp PV #> 1483 Castell de Castells PV #> 1484 Dénia PV #> 1485 el Poble Nou de Benitatxell PV #> 1486 el Ràfol d'Almúnia PV #> 1487 el Verger PV #> 1488 els Poblets PV #> 1489 Gata de Gorgos PV #> 1490 l'Atzúbia PV #> 1491 Alcalà de la Jovada PV #> 1492 la Vall d'Ebo PV #> 1493 Benialí PV #> 1494 Fleix PV #> 1495 Llíber PV #> 1496 Murla PV #> 1497 Ondara PV #> 1498 Orba PV #> 1499 Parcent PV #> 1500 Pedreguer PV #> 1501 Pego PV #> 1502 Sagra PV #> 1503 Sanet i els Negrals PV #> 1504 Senija PV #> 1505 Teulada PV #> 1506 Tormos PV #> 1507 Xàbia PV #> 1508 Xaló PV #> 1509 Altea PV #> 1510 Beniardà PV #> 1511 Benidorm PV #> 1512 Benifato PV #> 1513 Benimantell PV #> 1514 Bolulla PV #> 1515 Callosa d'en Sarrià PV #> 1516 Confrides PV #> 1517 el Castell de Guadalest PV #> 1518 Finestrat PV #> 1519 l'Alfàs del Pi PV #> 1520 la Nucia PV #> 1521 la Vila Joiosa PV #> 1522 Orxeta PV #> 1523 Polop PV #> 1524 Relleu PV #> 1525 Sella PV #> 1526 Tàrbena PV #> 1527 Almassora PV #> 1528 Benicàssim PV #> 1529 Benlloc PV #> 1530 Borriol PV #> 1531 Cabanes PV #> 1532 Castelló de la Plana PV #> 1533 la Pobla Tornesa PV #> 1534 la Serra d'en Galceran PV #> 1535 la Torre d'en Doménec PV #> 1536 la Vall d'Alba PV #> 1537 les Coves de Vinromà PV #> 1538 Orpesa PV #> 1539 Sant Joan de Moró PV #> 1540 Torreblanca PV #> 1541 Vilafamés PV #> 1542 Vilanova d'Alcolea PV #> 1543 Aín PV #> 1544 Alfondeguilla PV #> 1545 Almenara PV #> 1546 Artana PV #> 1547 Betxí PV #> 1548 Borriana PV #> 1549 Eslida PV #> 1550 l'Alcúdia de Veo PV #> 1551 la Llosa PV #> 1552 la Vall d'Uixó PV #> 1553 la Vilavella PV #> 1554 les Alqueries PV #> 1555 Moncofa PV #> 1556 Nules PV #> 1557 Onda PV #> 1558 Ribesalbes PV #> 1559 Suera PV #> 1560 Tales PV #> 1561 Vila-real PV #> 1562 Xilxes PV #> 1563 Alberic PV #> 1564 Alcàntera de Xúquer PV #> 1565 Alfarb PV #> 1566 Algemesí PV #> 1567 Alginet PV #> 1568 Alzira PV #> 1569 Antella PV #> 1570 Beneixida PV #> 1571 Benifaió PV #> 1572 Benimodo PV #> 1573 Benimuslem PV #> 1574 Carcaixent PV #> 1575 Càrcer PV #> 1576 Carlet PV #> 1577 Castelló PV #> 1578 Catadau PV #> 1579 Cotes PV #> 1580 Gavarda PV #> 1581 Guadassuar PV #> 1582 l'Alcúdia PV #> 1583 l'Énova PV #> 1584 la Pobla Llarga PV #> 1585 Llombai PV #> 1586 Manuel PV #> 1587 Massalavés PV #> 1588 Montroi PV #> 1589 Montserrat PV #> 1590 Rafelguaraf PV #> 1591 Real PV #> 1592 Sant Joanet PV #> 1593 Sellent PV #> 1594 Senyera PV #> 1595 Sumacàrcer PV #> 1596 Torís PV #> 1597 Albalat de la Ribera PV #> 1598 Almussafes PV #> 1599 Benicull de Xúquer PV #> 1600 Corbera PV #> 1601 Cullera PV #> 1602 Favara PV #> 1603 Fortaleny PV #> 1604 Llaurí PV #> 1605 Polinyà de Xúquer PV #> 1606 Riola PV #> 1607 Sollana PV #> 1608 Sueca PV #> 1609 Ador PV #> 1610 Alfauir PV #> 1611 Almiserà PV #> 1612 Almoines PV #> 1613 Barx PV #> 1614 Bellreguard PV #> 1615 Beniarjó PV #> 1616 Benifairó de la Valldigna PV #> 1617 Beniflà PV #> 1618 Benirredrà PV #> 1619 Castellonet de la Conquesta PV #> 1620 Daimús PV #> 1621 el Real de Gandia PV #> 1622 Gandia PV #> 1623 Guardamar de la Safor PV #> 1624 l'Alqueria de la Comtessa PV #> 1625 la Font d'en Carròs PV #> 1626 Llocnou de Sant Jeroni PV #> 1627 Miramar PV #> 1628 Oliva PV #> 1629 Palma de Gandia PV #> 1630 Palmera PV #> 1631 Piles PV #> 1632 Potries PV #> 1633 Rafelcofer PV #> 1634 Ròtova PV #> 1635 Simat de la Valldigna PV #> 1636 Tavernes de la Valldigna PV #> 1637 Vilallonga PV #> 1638 Xeraco PV #> 1639 Xeresa PV #> 1640 Agullent PV #> 1641 Aielo de Malferit PV #> 1642 Aielo de Rugat PV #> 1643 Albaida PV #> 1644 Alfarrasí PV #> 1645 Atzeneta d'Albaida PV #> 1646 Bèlgida PV #> 1647 Bellús PV #> 1648 Beniatjar PV #> 1649 Benicolet PV #> 1650 Benigànim PV #> 1651 Benissoda PV #> 1652 Benissuera PV #> 1653 Bocairent PV #> 1654 Bufali PV #> 1655 Carrícola PV #> 1656 Castelló de Rugat PV #> 1657 el Palomar PV #> 1658 el Ràfol de Salem PV #> 1659 Fontanars dels Alforins PV #> 1660 Guadasséquies PV #> 1661 l'Olleria PV #> 1662 la Pobla del Duc PV #> 1663 Llutxent PV #> 1664 Montaverner PV #> 1665 Montitxelvo PV #> 1666 Ontinyent PV #> 1667 Otos PV #> 1668 Pinet PV #> 1669 Quatretonda PV #> 1670 Rugat PV #> 1671 Salem PV #> 1672 Sempere PV #> 1673 Terrateig PV #> 1674 l'Alguer Sardenya #> municipi #> 1 Alt Aran #> 2 Arres #> 3 Bausén #> 4 Bossòst #> 5 Canejan #> 6 es Bordes #> 7 Lés #> 8 Viella i Mitjaran #> 9 Vilamòs #> 10 Angostrina i Vilanova de les Escaldes #> 11 Bolquera #> 12 Dorres #> 13 Èguet #> 14 Eina #> 15 Enveig #> 16 Er #> 17 Estavar #> 18 Font-romeu, Odelló i Vià #> 19 la Cabanassa #> 20 la Guingueta d'Ix #> 21 la Tor de Querol #> 22 Llo #> 23 Montlluís #> 24 Naüja #> 25 Oceja #> 26 Palau de Cerdanya #> 27 Porta #> 28 Portè #> 29 Sallagosa #> 30 Santa Llocaia #> 31 Targasona #> 32 Ur #> 33 Vallcebollera #> 34 els Angles #> 35 Font-rabiosa #> 36 Formiguera #> 37 Matamala #> 38 Puigbalador #> 39 Real #> 40 Aiguatèbia i Talau #> 41 Arboçols #> 42 Campome #> 43 Canavelles #> 44 Castell de Vernet #> 45 Catllà #> 46 Caudiers de Conflent #> 47 Censà #> 48 Clarà i Villerac #> 49 Codalet #> 50 Conat #> 51 Cornellà de Conflent #> 52 Escaró #> 53 Espirà de Conflent #> 54 Estoer #> 55 Eus #> 56 Fillols #> 57 Finestret #> 58 Fontpedrosa #> 59 Fullà #> 60 Glorianes #> 61 Jóc #> 62 Jújols #> 63 la Bastida #> 64 la Llaguna #> 65 Los Masos #> 66 Marqueixanes #> 67 Mentet #> 68 Molig #> 69 Mosset #> 70 Noedes #> 71 Nyer #> 72 Oleta i Èvol #> 73 Orbanyà #> 74 Orellà #> 75 Pi de Conflent #> 76 Planès #> 77 Prada #> 78 Ralleu #> 79 Rià i Cirac #> 80 Rigardà #> 81 Rodés #> 82 Sant Marçal #> 83 Sant Pere dels Forcats #> 84 Saorra #> 85 Sautó #> 86 Serdinyà #> 87 Soanyes #> 88 Tarerac #> 89 Taurinyà #> 90 Toès i Entrevalls #> 91 Vallestàvia #> 92 Vallmanya #> 93 Vernet #> 94 Vilafranca de Conflent #> 95 Vinçà #> 96 Alenyà #> 97 Argelers #> 98 Bages de Rosselló #> 99 Baixàs #> 100 Banyuls de la Marenda #> 101 Banyuls dels Aspres #> 102 Bao #> 103 Bompàs #> 104 Brullà #> 105 Bula d'Amunt #> 106 Bulaternera #> 107 Cabestany #> 108 Calce #> 109 Calmella #> 110 Cameles #> 111 Canet de Rosselló #> 112 Cànoes #> 113 Casafabre #> 114 Cases de Pena #> 115 Castellnou #> 116 Cervera de la Marenda #> 117 Clairà #> 118 Corbera de Rosselló #> 119 Cornellà de la Ribera #> 120 Cornellà del Bercol #> 121 Cotlliure #> 122 el Barcarès #> 123 el Soler #> 124 el Voló #> 125 Elna #> 126 Espirà de l'Aglí #> 127 Estagell #> 128 Forques #> 129 Illa #> 130 la Cabana de Corbera #> 131 la Roca d'Albera #> 132 la Torre d'Elna #> 133 Llauró #> 134 Llupià #> 135 Millars #> 136 Montescot #> 137 Montesquiu d'Albera #> 138 Montner #> 139 Montoriol #> 140 Nefiac #> 141 Oms #> 142 Òpol i Perellós #> 143 Ortafà #> 144 Paçà #> 145 Palau del Vidre #> 146 Paretstortes #> 147 Perpinyà #> 148 Pesillà de la Ribera #> 149 Pià #> 150 Pollestres #> 151 Pontellà #> 152 Portvendres #> 153 Prunet i Belpuig #> 154 Queixàs #> 155 Ribesaltes #> 156 Salelles #> 157 Salses #> 158 Sant Andreu de Sureda #> 159 Sant Cebrià de Rosselló #> 160 Sant Esteve del Monestir #> 161 Sant Feliu d'Amunt #> 162 Sant Feliu d'Avall #> 163 Sant Genís de Fontanes #> 164 Sant Hipòlit de la Salanca #> 165 Sant Joan la Cella #> 166 Sant Llorenç de la Salanca #> 167 Sant Miquel de Llotes #> 168 Sant Nazari de Rosselló #> 169 Santa Coloma de Tuïr #> 170 Santa Maria la Mar #> 171 Sureda #> 172 Talteüll #> 173 Terrats #> 174 Tesà #> 175 Toluges #> 176 Torderes #> 177 Torrelles de la Salanca #> 178 Trasserra #> 179 Trullars #> 180 Tuïr #> 181 Vilallonga de la Salanca #> 182 Vilallonga dels Monts #> 183 Vilamulaca #> 184 Vilanova de la Ribera #> 185 Vilanova de Raò #> 186 Vingrau #> 187 Arles #> 188 Ceret #> 189 Cortsaví #> 190 Costoja #> 191 el Pertús #> 192 el Tec #> 193 els Banys d'Arles i Palaldà #> 194 L'Albera #> 195 la Menera #> 196 les Cluses #> 197 Montboló #> 198 Montferrer #> 199 Morellàs i les Illes #> 200 Prats de Molló i la Presta #> 201 Reiners #> 202 Sant Joan de Pladecorts #> 203 Sant Llorenç de Cerdans #> 204 Serrallonga #> 205 Tellet #> 206 Teulís #> 207 Vivers #> 208 Aiguaviva de Bergantes #> 209 Bellmunt de Mesquí #> 210 la Canyada de Beric #> 211 la Codonyera #> 212 la Ginebrosa #> 213 la Sorollera #> 214 la Torre de Vilella #> 215 Faió #> 216 Favara #> 217 Maella #> 218 Nonasp #> 219 Fraga #> 220 Mequinensa #> 221 Saidí #> 222 Torrent de Cinca #> 223 Vilella de Cinca #> 224 Albelda #> 225 Baells #> 226 Camporrells #> 227 Castellonroi #> 228 el Campell #> 229 el Torricó #> 230 Peralta i Calassanç #> 231 Sant Esteve de Llitera #> 232 Sanui i Alins #> 233 Tamarit de Llitera #> 234 Valldellou #> 235 Vensilló #> 236 Arenys de Lledó #> 237 Beseit #> 238 Calaceit #> 239 Fontdespatla #> 240 Fórnols #> 241 la Freixneda #> 242 la Portellada #> 243 la Torre del Comte #> 244 la Vall del Tormo #> 245 Lledó d'Algars #> 246 Massalió #> 247 Montroig #> 248 Pena-roja de Tastavins #> 249 Queretes #> 250 Ràfels #> 251 Torredarques #> 252 Vall-de-Roures #> 253 Valljunquera #> 254 Areny de Noguera #> 255 Benavarri #> 256 Beranui #> 257 Bonansa #> 258 Castigaleu #> 259 Estopanyà #> 260 Isàvena #> 261 Lasquarri #> 262 Les Paüls #> 263 Monesma i Queixigar #> 264 Montanui #> 265 Pont de Montanyana #> 266 Sopeira #> 267 Tolba #> 268 Tor-la-ribera #> 269 Viacamp i Lliterà #> 270 Eivissa #> 271 Sant Antoni de Portmany #> 272 Sant Joan de Labritja #> 273 Sant Josep de sa Talaia #> 274 Santa Eulària des Riu #> 275 Formentera #> 276 Artà #> 277 Capdepera #> 278 Manacor #> 279 Sant Llorenç des Cardassar #> 280 Son Servera #> 281 Alaior #> 282 Ciutadella #> 283 es Castell #> 284 es Mercadal #> 285 es Migjorn Gran #> 286 Ferreries #> 287 Maó #> 288 Sant Lluís #> 289 Campos #> 290 Felanitx #> 291 Llucmajor #> 292 Santanyí #> 293 ses Salines #> 294 Palma #> 295 Algaida #> 296 Ariany #> 297 Costitx #> 298 Lloret de Vistalegre #> 299 Llubí #> 300 Maria de la Salut #> 301 Montuïri #> 302 Muro #> 303 Petra #> 304 Porreres #> 305 Sant Joan #> 306 Santa Eugènia #> 307 Santa Margalida #> 308 Sencelles #> 309 Sineu #> 310 Vilafranca de Bonany #> 311 Alaró #> 312 Alcúdia #> 313 Binissalem #> 314 Búger #> 315 Campanet #> 316 Consell #> 317 Inca #> 318 Lloseta #> 319 Mancor de la Vall #> 320 Marratxí #> 321 sa Pobla #> 322 Santa Maria del Camí #> 323 Selva #> 324 Andratx #> 325 Banyalbufar #> 326 Bunyola #> 327 Calvià #> 328 Deià #> 329 Escorca #> 330 Esporles #> 331 Estellencs #> 332 Fornalutx #> 333 Pollença #> 334 Puigpunyent #> 335 Sóller #> 336 Valldemossa #> 337 Aiguamúrcia #> 338 Alcover #> 339 Alió #> 340 Bràfim #> 341 Cabra del Camp #> 342 el Milà #> 343 el Pla de Santa Maria #> 344 el Pont d'Armentera #> 345 el Rourell #> 346 els Garidells #> 347 Figuerola del Camp #> 348 la Masó #> 349 la Riba #> 350 Mont-ral #> 351 Montferri #> 352 Nulles #> 353 Puigpelat #> 354 Querol #> 355 Rodonyà #> 356 Vallmoll #> 357 Valls #> 358 Vila-rodona #> 359 Vilabella #> 360 Agullana #> 361 Albanyà #> 362 Avinyonet de Puigventós #> 363 Bàscara #> 364 Biure #> 365 Boadella i les Escaules #> 366 Borrassà #> 367 Cabanelles #> 368 Cabanes #> 369 Cadaqués #> 370 Campmany #> 371 Cantallops #> 372 Castelló d'Empúries #> 373 Castelló d'Empúries #> 374 Cistella #> 375 Colera #> 376 Darnius #> 377 el Far d'Empordà #> 378 el Port de la Selva #> 379 Espolla #> 380 Figueres #> 381 Fortià #> 382 Garrigàs #> 383 Garriguella #> 384 l'Armentera #> 385 l'Escala #> 386 la Jonquera #> 387 la Selva de Mar #> 388 la Vajol #> 389 Llançà #> 390 Lledó d'Empordà #> 391 Llers #> 392 Maçanet de Cabrenys #> 393 Masarac #> 394 Mollet de Peralada #> 395 Navata #> 396 Ordis #> 397 Palau de Santa Eulàlia #> 398 Palau-saverdera #> 399 Pau #> 400 Pedret i Marzà #> 401 Peralada #> 402 Pont de Molins #> 403 Pontós #> 404 Portbou #> 405 Rabós #> 406 Riumors #> 407 Roses #> 408 Sant Climent Sescebes #> 409 Sant Llorenç de la Muga #> 410 Sant Miquel de Fluvià #> 411 Sant Mori #> 412 Sant Pere Pescador #> 413 Santa Llogaia d'Àlguema #> 414 Saus, Camallera i Llampaies #> 415 Siurana #> 416 Terrades #> 417 Torroella de Fluvià #> 418 Ventalló #> 419 Vila-sacra #> 420 Vilabertran #> 421 Viladamat #> 422 Vilafant #> 423 Vilajuïga #> 424 Vilamacolum #> 425 Vilamalla #> 426 Vilamaniscle #> 427 Vilanant #> 428 Vilaür #> 429 Avinyonet del Penedès #> 430 Castellet i la Gornal #> 431 Castellví de la Marca #> 432 el Pla del Penedès #> 433 Font-rubí #> 434 Gelida #> 435 la Granada #> 436 les Cabanyes #> 437 Mediona #> 438 Olèrdola #> 439 Olesa de Bonesvalls #> 440 Pacs del Penedès #> 441 Pontons #> 442 Puigdàlber #> 443 Sant Cugat Sesgarrigues #> 444 Sant Llorenç d'Hortons #> 445 Sant Martí Sarroca #> 446 Sant Pere de Riudebitlles #> 447 Sant Quintí de Mediona #> 448 Sant Sadurní d'Anoia #> 449 Santa Fe del Penedès #> 450 Santa Margarida i els Monjos #> 451 Subirats #> 452 Terrassola i Lavit #> 453 Torrelles de Foix #> 454 Vilafranca del Penedès #> 455 Vilobí del Penedès #> 456 Alàs i Cerc #> 457 Arsèguel #> 458 Bassella #> 459 Cabó #> 460 Cava #> 461 Coll de Nargó #> 462 el Pont de Bar #> 463 Estamariu #> 464 Fígols i Alinyà #> 465 Josa i Tuixén #> 466 la Seu d'Urgell #> 467 la Vansa i Fórnols #> 468 la Vansa i Fórnols #> 469 les Valls d'Aguilar #> 470 les Valls de Valira #> 471 Montferrer i Castellbò #> 472 Oliana #> 473 Organyà #> 474 Peramola #> 475 Ribera d'Urgellet #> 476 el Pont de Suert #> 477 la Vall de Boí #> 478 Vilaller #> 479 Argençola #> 480 Bellprat #> 481 Cabrera d'Anoia #> 482 Calaf #> 483 Calonge de Segarra #> 484 Capellades #> 485 Carme #> 486 Castellfollit de Riubregós #> 487 Castellolí #> 488 Copons #> 489 el Bruc #> 490 els Hostalets de Pierola #> 491 els Prats de Rei #> 492 Igualada #> 493 Jorba #> 494 la Llacuna #> 495 la Pobla de Claramunt #> 496 la Torre de Claramunt #> 497 Masquefa #> 498 Montmaneu #> 499 Òdena #> 500 Orpí #> 501 Piera #> 502 Pujalt #> 503 Rubió #> 504 Sant Martí de Tous #> 505 Sant Martí Sesgueioles #> 506 Sant Pere Sallavinera #> 507 Santa Margarida de Montbui #> 508 Santa Maria de Miralles #> 509 Vallbona d'Anoia #> 510 Veciana #> 511 Vilanova del Camí #> 512 Aguilar de Segarra #> 513 Artés #> 514 Avinyó #> 515 Balsareny #> 516 Callús #> 517 Cardona #> 518 Castellbell i el Vilar #> 519 Castellfollit del Boix #> 520 Castellgalí #> 521 Castellnou de Bages #> 522 el Pont de Vilomara i Rocafort #> 523 Fonollosa #> 524 Gaià #> 525 Manresa #> 526 Marganell #> 527 Monistrol de Montserrat #> 528 Mura #> 529 Navarcles #> 530 Navars #> 531 Rajadell #> 532 Sallent #> 533 Sant Feliu Sasserra #> 534 Sant Fruitós de Bages #> 535 Sant Joan de Vilatorrada #> 536 Sant Mateu de Bages #> 537 Sant Salvador de Guardiola #> 538 Sant Vicenç de Castellet #> 539 Santpedor #> 540 Súria #> 541 Talamanca #> 542 Alforja #> 543 Almoster #> 544 Arbolí #> 545 Botarell #> 546 Cambrils #> 547 Capafonts #> 548 Castellvell del Camp #> 549 Colldejou #> 550 Duesaigües #> 551 l'Albiol #> 552 l'Aleixar #> 553 l'Argentera #> 554 la Febró #> 555 la Selva del Camp #> 556 les Borges del Camp #> 557 Maspujols #> 558 Mont-roig del Camp #> 559 Montbrió del Camp #> 560 Prades #> 561 Pratdip #> 562 Reus #> 563 Riudecanyes #> 564 Riudecols #> 565 Riudoms #> 566 Vandellòs i l'Hospitalet de l'Infant #> 567 Vilanova d'Escornalbou #> 568 Vilaplana #> 569 Vinyols i els Arcs #> 570 Aldover #> 571 Alfara de Carles #> 572 Benifallet #> 573 Camarles #> 574 Deltebre #> 575 el Perelló #> 576 l'Aldea #> 577 l'Ametlla de Mar #> 578 l'Ampolla #> 579 Paüls #> 580 Roquetes #> 581 Tivenys #> 582 Tortosa #> 583 Xerta #> 584 Albons #> 585 Begur #> 586 Bellcaire d'Empordà #> 587 Calonge i Sant Antoni #> 588 Castell i Platja d'Aro #> 589 Colomers #> 590 Corçà #> 591 Cruïlles, Monells i Sant Sadurní de l'Heura #> 592 Foixà #> 593 Fontanilles #> 594 Garrigoles #> 595 Gualta #> 596 Jafre #> 597 la Bisbal d'Empordà #> 598 la Pera #> 599 la Tallada d'Empordà #> 600 Mont-ras #> 601 Palafrugell #> 602 Palamós #> 603 Palau-sator #> 604 Pals #> 605 Parlavà #> 606 Regencós #> 607 Rupià #> 608 Sant Feliu de Guíxols #> 609 Santa Cristina d'Aro #> 610 Serra de Daró #> 611 Torrent #> 612 Torroella de Montgrí #> 613 Ullà #> 614 Ullastret #> 615 Ultramort #> 616 Vall-llobrega #> 617 Verges #> 618 Vilopriu #> 619 Vulpellac, Fonteta i Peratallada #> 620 Abrera #> 621 Begues #> 622 Castelldefels #> 623 Castellví de Rosanes #> 624 Cervelló #> 625 Collbató #> 626 Corbera de Llobregat #> 627 Cornellà de Llobregat #> 628 el Papiol #> 629 el Prat de Llobregat #> 630 Esparreguera #> 631 Esplugues de Llobregat #> 632 Gavà #> 633 la Palma de Cervelló #> 634 Martorell #> 635 Molins de Rei #> 636 Olesa de Montserrat #> 637 Pallejà #> 638 Sant Andreu de la Barca #> 639 Sant Boi de Llobregat #> 640 Sant Climent de Llobregat #> 641 Sant Esteve Sesrovires #> 642 Sant Feliu de Llobregat #> 643 Sant Joan Despí #> 644 Sant Just Desvern #> 645 Sant Vicenç dels Horts #> 646 Santa Coloma de Cervelló #> 647 Torrelles de Llobregat #> 648 Vallirana #> 649 Viladecans #> 650 Albinyana #> 651 Banyeres del Penedès #> 652 Bellvei #> 653 Bonastre #> 654 Calafell #> 655 Cunit #> 656 el Montmell #> 657 el Vendrell #> 658 l'Arboç #> 659 la Bisbal del Penedès #> 660 Llorenç del Penedès #> 661 Masllorenç #> 662 Sant Jaume dels Domenys #> 663 Santa Oliva #> 664 Badalona #> 665 Barcelona #> 666 l'Hospitalet de Llobregat #> 667 Sant Adrià de Besòs #> 668 Santa Coloma de Gramenet #> 669 Avià #> 670 Bagà #> 671 Berga #> 672 Borredà #> 673 Capolat #> 674 Casserres #> 675 Castell de l'Areny #> 676 Castellar de n'Hug #> 677 Castellar del Riu #> 678 Cercs #> 679 Fígols #> 680 Gironella #> 681 Gisclareny #> 682 Gósol #> 683 Guardiola de Berguedà #> 684 l'Espunyola #> 685 la Nou de Berguedà #> 686 la Pobla de Lillet #> 687 la Quar #> 688 Montclar #> 689 Montmajor #> 690 Olvan #> 691 Puig-reig #> 692 Sagàs #> 693 Saldes #> 694 Sant Jaume de Frontanyà #> 695 Sant Julià de Cerdanyola #> 696 Santa Maria de Merlès #> 697 Vallcebre #> 698 Vilada #> 699 Viver i Serrateix #> 700 Alp #> 701 Bellver de Cerdanya #> 702 Bolvir #> 703 Das #> 704 Fontanals de Cerdanya #> 705 Ger #> 706 Guils de Cerdanya #> 707 Isòvol #> 708 Lles de Cerdanya #> 709 Llívia #> 710 Meranges #> 711 Montellà i Martinet #> 712 Prats i Sansor #> 713 Prullans #> 714 Puigcerdà #> 715 Riu de Cerdanya #> 716 Urús #> 717 Barberà de la Conca #> 718 Blancafort #> 719 Conesa #> 720 Forès #> 721 l'Espluga de Francolí #> 722 les Piles #> 723 Llorac #> 724 Montblanc #> 725 Passanant i Belltall #> 726 Pira #> 727 Pontils #> 728 Rocafort de Queralt #> 729 Santa Coloma de Queralt #> 730 Sarral #> 731 Savallà del Comtat #> 732 Senan #> 733 Solivella #> 734 Vallclara #> 735 Vallfogona de Riucorb #> 736 Vilanova de Prades #> 737 Vilaverd #> 738 Vimbodí i Poblet #> 739 Canyelles #> 740 Cubelles #> 741 Olivella #> 742 Sant Pere de Ribes #> 743 Sitges #> 744 Vilanova i la Geltrú #> 745 Arbeca #> 746 Bellaguarda #> 747 Bovera #> 748 Castelldans #> 749 Cervià de les Garrigues #> 750 el Cogul #> 751 el Soleràs #> 752 el Vilosell #> 753 els Omellons #> 754 els Torms #> 755 Fulleda #> 756 Granyena de les Garrigues #> 757 Juncosa #> 758 Juneda #> 759 l'Albagés #> 760 l'Albi #> 761 l'Espluga Calba #> 762 la Floresta #> 763 la Granadella #> 764 la Pobla de Cérvoles #> 765 les Borges Blanques #> 766 Puiggròs #> 767 Tarrés #> 768 Vinaixa #> 769 Argelaguer #> 770 Besalú #> 771 Beuda #> 772 Castellfollit de la Roca #> 773 la Vall d'en Bas #> 774 la Vall de Bianya #> 775 les Planes d'Hostoles #> 776 les Preses #> 777 Maià de Montcal #> 778 Mieres #> 779 Montagut i Oix #> 780 Olot #> 781 Riudaura #> 782 Sales de Llierca #> 783 Sant Aniol de Finestres #> 784 Sant Feliu de Pallerols #> 785 Sant Ferriol #> 786 Sant Jaume de Llierca #> 787 Sant Joan les Fonts #> 788 Santa Pau #> 789 Tortellà #> 790 Aiguaviva #> 791 Bescanó #> 792 Bordils #> 793 Campllong #> 794 Canet d'Adri #> 795 Cassà de la Selva #> 796 Celrà #> 797 Cervià de Ter #> 798 Flaçà #> 799 Fornells de la Selva #> 800 Girona #> 801 Juià #> 802 Llagostera #> 803 Llambilles #> 804 Madremanya #> 805 Medinyà #> 806 Quart #> 807 Salt #> 808 Sant Andreu Salou #> 809 Sant Gregori #> 810 Sant Joan de Mollet #> 811 Sant Jordi Desvalls #> 812 Sant Julià de Ramis #> 813 Sant Martí de Llémena #> 814 Sant Martí Vell #> 815 Sarrià de Ter #> 816 Vilablareix #> 817 Viladasens #> 818 Alpens #> 819 Lluçà #> 820 Olost #> 821 Oristà #> 822 Perafita #> 823 Prats de Lluçanès #> 824 Sant Martí d'Albars #> 825 Sobremunt #> 826 Alella #> 827 Arenys de Mar #> 828 Arenys de Munt #> 829 Argentona #> 830 Cabrera de Mar #> 831 Cabrils #> 832 Caldes d'Estrac #> 833 Calella #> 834 Canet de Mar #> 835 Dosrius #> 836 el Masnou #> 837 Malgrat de Mar #> 838 Mataró #> 839 Montgat #> 840 Òrrius #> 841 Palafolls #> 842 Pineda de Mar #> 843 Premià de Dalt #> 844 Premià de Mar #> 845 Sant Andreu de Llavaneres #> 846 Sant Cebrià de Vallalta #> 847 Sant Iscle de Vallalta #> 848 Sant Pol de Mar #> 849 Sant Vicenç de Montalt #> 850 Santa Susanna #> 851 Teià #> 852 Tiana #> 853 Tordera #> 854 Vilassar de Dalt #> 855 Vilassar de Mar #> 856 Calders #> 857 Castellcir #> 858 Castellterçol #> 859 Collsuspina #> 860 Granera #> 861 l'Estany #> 862 Moià #> 863 Monistrol de Calders #> 864 Sant Quirze Safaja #> 865 Santa Maria d'Oló #> 866 Alcanar #> 867 Amposta #> 868 Freginals #> 869 Godall #> 870 la Galera #> 871 la Ràpita #> 872 la Sénia #> 873 Mas de Barberans #> 874 Masdenverge #> 875 Sant Jaume d'Enveja #> 876 Santa Bàrbara #> 877 Ulldecona #> 878 Àger #> 879 Albesa #> 880 Algerri #> 881 Alòs de Balaguer #> 882 Artesa de Segre #> 883 Balaguer #> 884 Bellcaire d'Urgell #> 885 Bellmunt d'Urgell #> 886 Cabanabona #> 887 Camarasa #> 888 Castelló de Farfanya #> 889 Cubells #> 890 Foradada #> 891 Ivars de Noguera #> 892 la Baronia de Rialb #> 893 la Sentiu de Sió #> 894 les Avellanes i Santa Linya #> 895 Menàrguens #> 896 Montgai #> 897 Oliola #> 898 Os de Balaguer #> 899 Penelles #> 900 Ponts #> 901 Preixens #> 902 Térmens #> 903 Tiurana #> 904 Torrelameu #> 905 Vallfogona de Balaguer #> 906 Vilanova de l'Aguda #> 907 Vilanova de Meià #> 908 Balenyà #> 909 Calldetenes #> 910 Centelles #> 911 el Brull #> 912 Espinelves #> 913 Folgueroles #> 914 Gurb #> 915 l'Esquirol #> 916 les Masies de Roda #> 917 les Masies de Voltregà #> 918 Malla #> 919 Manlleu #> 920 Montesquiu #> 921 Muntanyola #> 922 Orís #> 923 Roda de Ter #> 924 Rupit i Pruit #> 925 Sant Agustí de Lluçanès #> 926 Sant Bartomeu del Grau #> 927 Sant Boi de Lluçanès #> 928 Sant Hipòlit de Voltregà #> 929 Sant Julià de Vilatorta #> 930 Sant Martí de Centelles #> 931 Sant Pere de Torelló #> 932 Sant Quirze de Besora #> 933 Sant Sadurní d'Osormort #> 934 Sant Vicenç de Torelló #> 935 Santa Cecília de Voltregà #> 936 Santa Eugènia de Berga #> 937 Santa Eulàlia de Riuprimer #> 938 Santa Maria de Besora #> 939 Seva #> 940 Sora #> 941 Taradell #> 942 Tavèrnoles #> 943 Tavertet #> 944 Tona #> 945 Torelló #> 946 Vic #> 947 Vidrà #> 948 Viladrau #> 949 Vilanova de Sau #> 950 Abella de la Conca #> 951 Castell de Mur #> 952 Conca de Dalt #> 953 Gavet de la Conca #> 954 Isona i Conca Dellà #> 955 la Pobla de Segur #> 956 la Torre de Cabdella #> 957 Llimiana #> 958 Salàs de Pallars #> 959 Sant Esteve de la Sarga #> 960 Sarroca de Bellera #> 961 Senterada #> 962 Talarn #> 963 Tremp #> 964 Alins #> 965 Alt Àneu #> 966 Baix Pallars #> 967 Espot #> 968 Esterri d'Àneu #> 969 Esterri de Cardós #> 970 Farrera #> 971 la Guingueta d'Àneu #> 972 Lladorre #> 973 Llavorsí #> 974 Rialb #> 975 Soriguera #> 976 Sort #> 977 Tírvia #> 978 Vall de Cardós #> 979 Barbens #> 980 Bell-lloc d'Urgell #> 981 Bellvís #> 982 Castellnou de Seana #> 983 el Palau d'Anglesola #> 984 el Poal #> 985 Fondarella #> 986 Golmés #> 987 Ivars d'Urgell #> 988 Linyola #> 989 Miralcamp #> 990 Mollerussa #> 991 Sidamon #> 992 Torregrossa #> 993 Vila-sana #> 994 Vilanova de Bellpuig #> 995 Banyoles #> 996 Camós #> 997 Cornellà del Terri #> 998 Crespià #> 999 Esponellà #> 1000 Fontcoberta #> 1001 Palol de Revardit #> 1002 Porqueres #> 1003 Sant Miquel de Campmajor #> 1004 Serinyà #> 1005 Vilademuls #> 1006 Bellmunt del Priorat #> 1007 Cabassers #> 1008 Capçanes #> 1009 Cornudella de Montsant #> 1010 el Lloar #> 1011 el Masroig #> 1012 el Molar #> 1013 els Guiamets #> 1014 Falset #> 1015 Gratallops #> 1016 la Bisbal de Falset #> 1017 la Figuera #> 1018 la Morera de Montsant #> 1019 la Torre de Fontaubella #> 1020 la Vilella Alta #> 1021 la Vilella Baixa #> 1022 Marçà #> 1023 Margalef #> 1024 Poboleda #> 1025 Porrera #> 1026 Pradell de la Teixeta #> 1027 Torroja del Priorat #> 1028 Ulldemolins #> 1029 Ascó #> 1030 Benissanet #> 1031 Flix #> 1032 Garcia #> 1033 Ginestar #> 1034 la Palma d'Ebre #> 1035 la Torre de l'Espanyol #> 1036 Miravet #> 1037 Móra d'Ebre #> 1038 Móra la Nova #> 1039 Rasquera #> 1040 Riba-roja d'Ebre #> 1041 Tivissa #> 1042 Vinebre #> 1043 Campdevànol #> 1044 Campelles #> 1045 Camprodon #> 1046 Gombrèn #> 1047 les Llosses #> 1048 Llanars #> 1049 Molló #> 1050 Ogassa #> 1051 Pardines #> 1052 Planoles #> 1053 Queralbs #> 1054 Ribes de Freser #> 1055 Ripoll #> 1056 Sant Joan de les Abadesses #> 1057 Sant Pau de Segúries #> 1058 Setcases #> 1059 Toses #> 1060 Vallfogona de Ripollès #> 1061 Vilallonga de Ter #> 1062 Biosca #> 1063 Cervera #> 1064 els Plans de Sió #> 1065 Estaràs #> 1066 Granyanella #> 1067 Granyena de Segarra #> 1068 Guissona #> 1069 Ivorra #> 1070 les Oluges #> 1071 Massoteres #> 1072 Montoliu de Segarra #> 1073 Montornès de Segarra #> 1074 Ribera d'Ondara #> 1075 Sanaüja #> 1076 Sant Guim de Freixenet #> 1077 Sant Guim de la Plana #> 1078 Sant Ramon #> 1079 Talavera #> 1080 Tarroja de Segarra #> 1081 Torà #> 1082 Torrefeta i Florejacs #> 1083 Aitona #> 1084 Albatàrrec #> 1085 Alcanó #> 1086 Alcarràs #> 1087 Alcoletge #> 1088 Alfarràs #> 1089 Alfés #> 1090 Alguaire #> 1091 Almacelles #> 1092 Almatret #> 1093 Almenar #> 1094 Alpicat #> 1095 Artesa de Lleida #> 1096 Aspa #> 1097 Benavent de Segrià #> 1098 Corbins #> 1099 els Alamús #> 1100 Gimenells i el Pla de la Font #> 1101 la Granja d'Escarp #> 1102 la Portella #> 1103 Llardecans #> 1104 Lleida #> 1105 Maials #> 1106 Massalcoreig #> 1107 Montoliu de Lleida #> 1108 Puigverd de Lleida #> 1109 Rosselló #> 1110 Sarroca de Lleida #> 1111 Seròs #> 1112 Soses #> 1113 Sudanell #> 1114 Sunyer #> 1115 Torre-serona #> 1116 Torrebesses #> 1117 Torrefarrera #> 1118 Torres de Segre #> 1119 Vilanova de la Barca #> 1120 Vilanova de Segrià #> 1121 Amer #> 1122 Anglès #> 1123 Arbúcies #> 1124 Blanes #> 1125 Breda #> 1126 Brunyola i Sant Martí Sapresa #> 1127 Caldes de Malavella #> 1128 Fogars de la Selva #> 1129 Hostalric #> 1130 la Cellera de Ter #> 1131 Lloret de Mar #> 1132 Maçanes #> 1133 Maçanet de la Selva #> 1134 Osor #> 1135 Riells i Viabrea #> 1136 Riudarenes #> 1137 Riudellots de la Selva #> 1138 Sant Feliu de Buixalleu #> 1139 Sant Hilari Sacalm #> 1140 Sant Julià del Llor i Bonmatí #> 1141 Santa Coloma de Farners #> 1142 Sils #> 1143 Susqueda #> 1144 Tossa de Mar #> 1145 Vidreres #> 1146 Vilobí d'Onyar #> 1147 Castellar de la Ribera #> 1148 Clariana de Cardener #> 1149 Guixers #> 1150 la Coma i la Pedra #> 1151 la Molsosa #> 1152 Lladurs #> 1153 Llobera #> 1154 Navès #> 1155 Odèn #> 1156 Olius #> 1157 Pinell de Solsonès #> 1158 Pinós #> 1159 Riner #> 1160 Sant Llorenç de Morunys #> 1161 Solsona #> 1162 Altafulla #> 1163 Constantí #> 1164 Creixell #> 1165 el Catllar #> 1166 el Morell #> 1167 els Pallaresos #> 1168 la Canonja #> 1169 la Nou de Gaià #> 1170 la Pobla de Mafumet #> 1171 la Pobla de Montornès #> 1172 la Riera de Gaià #> 1173 la Secuita #> 1174 Perafort #> 1175 Renau #> 1176 Roda de Berà #> 1177 Salomó #> 1178 Salou #> 1179 Tarragona #> 1180 Torredembarra #> 1181 Vespella de Gaià #> 1182 Vila-seca #> 1183 Vilallonga del Camp #> 1184 Arnes #> 1185 Batea #> 1186 Bot #> 1187 Caseres #> 1188 Corbera d'Ebre #> 1189 el Pinell de Brai #> 1190 Gandesa #> 1191 Horta de Sant Joan #> 1192 la Fatarella #> 1193 la Pobla de Massaluca #> 1194 Prat de Comte #> 1195 Vilalba dels Arcs #> 1196 Agramunt #> 1197 Anglesola #> 1198 Belianes #> 1199 Bellpuig #> 1200 Castellserà #> 1201 Ciutadilla #> 1202 els Omells de na Gaia #> 1203 Guimerà #> 1204 la Fuliola #> 1205 Maldà #> 1206 Nalec #> 1207 Ossó de Sió #> 1208 Preixana #> 1209 Puigverd d'Agramunt #> 1210 Sant Martí de Riucorb #> 1211 Tàrrega #> 1212 Tornabous #> 1213 Vallbona de les Monges #> 1214 Verdú #> 1215 Vilagrassa #> 1216 Badia del Vallès #> 1217 Barberà del Vallès #> 1218 Castellar del Vallès #> 1219 Castellbisbal #> 1220 Cerdanyola del Vallès #> 1221 Gallifa #> 1222 Matadepera #> 1223 Montcada i Reixac #> 1224 Palau-solità i Plegamans #> 1225 Polinyà #> 1226 Rellinars #> 1227 Ripollet #> 1228 Rubí #> 1229 Sabadell #> 1230 Sant Cugat del Vallès #> 1231 Sant Llorenç Savall #> 1232 Sant Quirze del Vallès #> 1233 Santa Perpètua de Mogoda #> 1234 Sentmenat #> 1235 Terrassa #> 1236 Ullastrell #> 1237 Vacarisses #> 1238 Viladecavalls #> 1239 Aiguafreda #> 1240 Bigues i Riells del Fai #> 1241 Caldes de Montbui #> 1242 Campins #> 1243 Canovelles #> 1244 Cànoves i Samalús #> 1245 Cardedeu #> 1246 el Figueró i Montmany #> 1247 Fogars de Montclús #> 1248 Granollers #> 1249 Gualba #> 1250 l'Ametlla del Vallès #> 1251 la Garriga #> 1252 la Llagosta #> 1253 la Roca del Vallès #> 1254 les Franqueses del Vallès #> 1255 Lliçà d'Amunt #> 1256 Lliçà de Vall #> 1257 Llinars del Vallès #> 1258 Martorelles #> 1259 Mollet del Vallès #> 1260 Montmeló #> 1261 Montornès del Vallès #> 1262 Montseny #> 1263 Parets del Vallès #> 1264 Sant Antoni de Vilamajor #> 1265 Sant Celoni #> 1266 Sant Esteve de Palautordera #> 1267 Sant Feliu de Codines #> 1268 Sant Fost de Campsentelles #> 1269 Sant Pere de Vilamajor #> 1270 Santa Eulàlia de Ronçana #> 1271 Santa Maria de Martorelles #> 1272 Santa Maria de Palautordera #> 1273 Tagamanent #> 1274 Vallgorguina #> 1275 Vallromanes #> 1276 Vilalba Sasserra #> 1277 Vilanova del Vallès #> 1278 València #> 1279 Alcalà de Xivert #> 1280 Benicarló #> 1281 Càlig #> 1282 Canet lo Roig #> 1283 Castell de Cabres #> 1284 Cervera del Maestrat #> 1285 la Jana #> 1286 la Pobla de Benifassà #> 1287 la Salzadella #> 1288 Peníscola #> 1289 Rossell #> 1290 Sant Jordi #> 1291 Sant Mateu #> 1292 Sant Rafel del Riu #> 1293 Santa Magdalena de Polpís #> 1294 Traiguera #> 1295 Vinaròs #> 1296 Xert #> 1297 Guardamar del Segura #> 1298 Crevillent #> 1299 Elx #> 1300 Santa Pola #> 1301 Albalat dels Tarongers #> 1302 Alfara de la Baronia #> 1303 Algar de Palància #> 1304 Algímia d'Alfara #> 1305 Benavites #> 1306 Benifairó de les Valls #> 1307 Canet d'en Berenguer #> 1308 Estivella #> 1309 Faura #> 1310 Gilet #> 1311 Petrés #> 1312 Quart de les Valls #> 1313 Quartell #> 1314 Sagunt #> 1315 Segart #> 1316 Torres Torres #> 1317 Benaguasil #> 1318 Benissanó #> 1319 Bétera #> 1320 Casinos #> 1321 l'Eliana #> 1322 la Pobla de Vallbona #> 1323 Llíria #> 1324 Nàquera #> 1325 Olocau #> 1326 Riba-roja de Túria #> 1327 Serra #> 1328 Vilamarxant #> 1329 Agres #> 1330 Alcoleja #> 1331 Alcosser #> 1332 Alfafara #> 1333 Almudaina #> 1334 Balones #> 1335 Benasau #> 1336 Beniarrés #> 1337 Benilloba #> 1338 Benillup #> 1339 Benimarfull #> 1340 Benimassot #> 1341 Cocentaina #> 1342 Fageca #> 1343 Famorca #> 1344 Gaianes #> 1345 Gorga #> 1346 l'Alqueria d'Asnar #> 1347 l'Orxa #> 1348 Millena #> 1349 Muro d'Alcoi #> 1350 Planes #> 1351 Quatretondeta #> 1352 Tollos #> 1353 el Fondó de les Neus #> 1354 el Fondó dels Frares #> 1355 el Pinós #> 1356 l'Alguenya #> 1357 la Romana #> 1358 Monòver #> 1359 Novelda #> 1360 Petrer #> 1361 Castellfort #> 1362 Cinctorres #> 1363 el Forcall #> 1364 Herbers #> 1365 la Mata de Morella #> 1366 la Todolella #> 1367 Morella #> 1368 Palanques #> 1369 Portell de Morella #> 1370 Sorita #> 1371 Vallibona #> 1372 Vilafranca #> 1373 Villores #> 1374 Agost #> 1375 Aigües #> 1376 Alacant #> 1377 Busot #> 1378 el Campello #> 1379 la Torre de les Maçanes #> 1380 Mutxamel #> 1381 Sant Joan d'Alacant #> 1382 Sant Vicent del Raspeig #> 1383 Xixona #> 1384 Costur #> 1385 Figueroles #> 1386 l'Alcora #> 1387 les Useres #> 1388 Llucena #> 1389 Vistabella del Maestrat #> 1390 Xodos #> 1391 Alcoi #> 1392 Banyeres de Mariola #> 1393 Benifallim #> 1394 Castalla #> 1395 Ibi #> 1396 Onil #> 1397 Penàguila #> 1398 Tibi #> 1399 Albocàsser #> 1400 Ares del Maestrat #> 1401 Atzeneta del Maestrat #> 1402 Benafigos #> 1403 Benassal #> 1404 Catí #> 1405 Culla #> 1406 la Serratella #> 1407 la Torre d'en Besora #> 1408 Tírig #> 1409 Vilar de Canes #> 1410 Beneixama #> 1411 Biar #> 1412 el Camp de Mirra #> 1413 la Canyada #> 1414 Albalat dels Sorells #> 1415 Alboraia #> 1416 Albuixec #> 1417 Alfara del Patriarca #> 1418 Almàssera #> 1419 Bonrepòs i Mirambell #> 1420 Burjassot #> 1421 el Puig de Santa Maria #> 1422 Emperador #> 1423 Foios #> 1424 Godella #> 1425 la Pobla de Farnals #> 1426 Massalfassar #> 1427 Massamagrell #> 1428 Meliana #> 1429 Montcada #> 1430 Museros #> 1431 Paterna #> 1432 Puçol #> 1433 Rafelbunyol #> 1434 Rocafort #> 1435 Tavernes Blanques #> 1436 Vinalesa #> 1437 Alaquàs #> 1438 Albal #> 1439 Alcàsser #> 1440 Aldaia #> 1441 Alfafar #> 1442 Benetússer #> 1443 Beniparrell #> 1444 Catarroja #> 1445 Llocnou de la Corona #> 1446 Manises #> 1447 Massanassa #> 1448 Mislata #> 1449 Paiporta #> 1450 Picanya #> 1451 Picassent #> 1452 Quart de Poblet #> 1453 Sedaví #> 1454 Silla #> 1455 Torrent #> 1456 Xirivella #> 1457 Barxeta #> 1458 Canals #> 1459 Cerdà #> 1460 el Genovés #> 1461 Estubeny #> 1462 l'Alcúdia de Crespins #> 1463 la Font de la Figuera #> 1464 la Granja de la Costera #> 1465 la Llosa de Ranes #> 1466 Llanera de Ranes #> 1467 Llocnou d'en Fenollet #> 1468 Moixent #> 1469 Montesa #> 1470 Novetlè #> 1471 Rotglà i Corberà #> 1472 Torrella #> 1473 Vallada #> 1474 Vallés #> 1475 Xàtiva #> 1476 Alcalalí #> 1477 Beniarbeig #> 1478 Benidoleig #> 1479 Benigembla #> 1480 Benimeli #> 1481 Benissa #> 1482 Calp #> 1483 Castell de Castells #> 1484 Dénia #> 1485 el Poble Nou de Benitatxell #> 1486 el Ràfol d'Almúnia #> 1487 el Verger #> 1488 els Poblets #> 1489 Gata de Gorgos #> 1490 l'Atzúbia #> 1491 la Vall d'Alcalà #> 1492 la Vall d'Ebo #> 1493 la Vall de Gallinera #> 1494 la Vall de Laguar #> 1495 Llíber #> 1496 Murla #> 1497 Ondara #> 1498 Orba #> 1499 Parcent #> 1500 Pedreguer #> 1501 Pego #> 1502 Sagra #> 1503 Sanet i els Negrals #> 1504 Senija #> 1505 Teulada #> 1506 Tormos #> 1507 Xàbia #> 1508 Xaló #> 1509 Altea #> 1510 Beniardà #> 1511 Benidorm #> 1512 Benifato #> 1513 Benimantell #> 1514 Bolulla #> 1515 Callosa d'en Sarrià #> 1516 Confrides #> 1517 el Castell de Guadalest #> 1518 Finestrat #> 1519 l'Alfàs del Pi #> 1520 la Nucia #> 1521 la Vila Joiosa #> 1522 Orxeta #> 1523 Polop #> 1524 Relleu #> 1525 Sella #> 1526 Tàrbena #> 1527 Almassora #> 1528 Benicàssim #> 1529 Benlloc #> 1530 Borriol #> 1531 Cabanes #> 1532 Castelló de la Plana #> 1533 la Pobla Tornesa #> 1534 la Serra d'en Galceran #> 1535 la Torre d'en Doménec #> 1536 la Vall d'Alba #> 1537 les Coves de Vinromà #> 1538 Orpesa #> 1539 Sant Joan de Moró #> 1540 Torreblanca #> 1541 Vilafamés #> 1542 Vilanova d'Alcolea #> 1543 Aín #> 1544 Alfondeguilla #> 1545 Almenara #> 1546 Artana #> 1547 Betxí #> 1548 Borriana #> 1549 Eslida #> 1550 l'Alcúdia de Veo #> 1551 la Llosa #> 1552 la Vall d'Uixó #> 1553 la Vilavella #> 1554 les Alqueries #> 1555 Moncofa #> 1556 Nules #> 1557 Onda #> 1558 Ribesalbes #> 1559 Suera #> 1560 Tales #> 1561 Vila-real #> 1562 Xilxes #> 1563 Alberic #> 1564 Alcàntera de Xúquer #> 1565 Alfarb #> 1566 Algemesí #> 1567 Alginet #> 1568 Alzira #> 1569 Antella #> 1570 Beneixida #> 1571 Benifaió #> 1572 Benimodo #> 1573 Benimuslem #> 1574 Carcaixent #> 1575 Càrcer #> 1576 Carlet #> 1577 Castelló #> 1578 Catadau #> 1579 Cotes #> 1580 Gavarda #> 1581 Guadassuar #> 1582 l'Alcúdia #> 1583 l'Énova #> 1584 la Pobla Llarga #> 1585 Llombai #> 1586 Manuel #> 1587 Massalavés #> 1588 Montroi #> 1589 Montserrat #> 1590 Rafelguaraf #> 1591 Real #> 1592 Sant Joanet #> 1593 Sellent #> 1594 Senyera #> 1595 Sumacàrcer #> 1596 Torís #> 1597 Albalat de la Ribera #> 1598 Almussafes #> 1599 Benicull de Xúquer #> 1600 Corbera #> 1601 Cullera #> 1602 Favara #> 1603 Fortaleny #> 1604 Llaurí #> 1605 Polinyà de Xúquer #> 1606 Riola #> 1607 Sollana #> 1608 Sueca #> 1609 Ador #> 1610 Alfauir #> 1611 Almiserà #> 1612 Almoines #> 1613 Barx #> 1614 Bellreguard #> 1615 Beniarjó #> 1616 Benifairó de la Valldigna #> 1617 Beniflà #> 1618 Benirredrà #> 1619 Castellonet de la Conquesta #> 1620 Daimús #> 1621 el Real de Gandia #> 1622 Gandia #> 1623 Guardamar de la Safor #> 1624 l'Alqueria de la Comtessa #> 1625 la Font d'en Carròs #> 1626 Llocnou de Sant Jeroni #> 1627 Miramar #> 1628 Oliva #> 1629 Palma de Gandia #> 1630 Palmera #> 1631 Piles #> 1632 Potries #> 1633 Rafelcofer #> 1634 Ròtova #> 1635 Simat de la Valldigna #> 1636 Tavernes de la Valldigna #> 1637 Vilallonga #> 1638 Xeraco #> 1639 Xeresa #> 1640 Agullent #> 1641 Aielo de Malferit #> 1642 Aielo de Rugat #> 1643 Albaida #> 1644 Alfarrasí #> 1645 Atzeneta d'Albaida #> 1646 Bèlgida #> 1647 Bellús #> 1648 Beniatjar #> 1649 Benicolet #> 1650 Benigànim #> 1651 Benissoda #> 1652 Benissuera #> 1653 Bocairent #> 1654 Bufali #> 1655 Carrícola #> 1656 Castelló de Rugat #> 1657 el Palomar #> 1658 el Ràfol de Salem #> 1659 Fontanars dels Alforins #> 1660 Guadasséquies #> 1661 l'Olleria #> 1662 la Pobla del Duc #> 1663 Llutxent #> 1664 Montaverner #> 1665 Montitxelvo #> 1666 Ontinyent #> 1667 Otos #> 1668 Pinet #> 1669 Quatretonda #> 1670 Rugat #> 1671 Salem #> 1672 Sempere #> 1673 Terrateig #> 1674 l'Alguer #> name #> 1 Salardú #> 2 Arres de Jos #> 3 Bausen #> 4 Bossòst #> 5 Canejan #> 6 Es Bòrdes #> 7 Les #> 8 Vielha #> 9 Vilamòs #> 10 Angoustrine-Villeneuve-des-Escaldes #> 11 Bolquère #> 12 Dorres #> 13 Égat #> 14 Eyne #> 15 Enveitg #> 16 Err #> 17 Estavar #> 18 Font-Romeu-Odeillo-Via #> 19 La Cabanasse #> 20 Bourg-Madame #> 21 Latour-de-Carol #> 22 Llo #> 23 Mont-Louis #> 24 Nahuja #> 25 Osséja #> 26 Palau-de-Cerdagne #> 27 Porta #> 28 Porté-Puymorens #> 29 Saillagouse #> 30 Sainte-Léocadie #> 31 Targasonne #> 32 Ur #> 33 Valcebollère #> 34 Les Angles #> 35 Fontrabiouse #> 36 Formiguères #> 37 Matemale #> 38 Puyvalador #> 39 Réal #> 40 Ayguatébia #> 41 Arboussols #> 42 Campôme #> 43 Canaveilles #> 44 Casteil #> 45 Catllar #> 46 Caudiès-de-Conflent #> 47 Sansa #> 48 Clara #> 49 Codalet #> 50 Conat #> 51 Corneilla-de-Conflent #> 52 Escaro #> 53 Espira-de-Conflent #> 54 Estoher #> 55 Eus #> 56 Fillols #> 57 Finestret #> 58 Fontpédrouse #> 59 Fuilla #> 60 Glorianes #> 61 Joch #> 62 Jujols #> 63 La Bastide #> 64 La Llagonne #> 65 Llonat #> 66 Marquixanes #> 67 Mantet #> 68 Molitg-les-Bains #> 69 Mosset #> 70 Nohèdes #> 71 Nyer #> 72 Olette #> 73 Urbanya #> 74 Oreilla #> 75 Py #> 76 Planès #> 77 Prades #> 78 Railleu #> 79 Ria #> 80 Rigarda #> 81 Rodès #> 82 Saint-Marsal #> 83 Saint-Pierre-dels-Forcats #> 84 Sahorre #> 85 Sauto #> 86 Serdinya #> 87 Souanyas #> 88 Tarerach #> 89 Taurinya #> 90 Thuès-Entre-Valls #> 91 Baillestavy #> 92 Valmanya #> 93 Vernet-les-Bains #> 94 Villefranche-de-Conflent #> 95 Vinça #> 96 Alénya #> 97 Argelès-sur-Mer #> 98 Bages #> 99 Baixas #> 100 Banyuls-sur-Mer #> 101 Banyuls-dels-Aspres #> 102 Baho #> 103 Bompas #> 104 Brouilla #> 105 Boule-d'Amont #> 106 Bouleternère #> 107 Cabestany #> 108 Calce #> 109 Calmeilles #> 110 Camélas #> 111 Canet-en-Roussillon #> 112 Canohès #> 113 Casefabre #> 114 Cases-de-Pène #> 115 Castelnou #> 116 Cerbère #> 117 Claira #> 118 Corbère #> 119 Corneilla-la-Rivière #> 120 Corneilla-del-Vercol #> 121 Collioure #> 122 Le Barcarès #> 123 Le Soler #> 124 Le Boulou #> 125 Elne #> 126 Espira-de-l'Agly #> 127 Estagel #> 128 Fourques #> 129 Ille-sur-Têt #> 130 Corbère-les-Cabanes #> 131 Laroque-des-Albères #> 132 Latour-Bas-Elne #> 133 Llauro #> 134 Llupia #> 135 Millas #> 136 Montescot #> 137 Montesquieu-des-Albères #> 138 Montner #> 139 Montauriol #> 140 Néfiach #> 141 Oms #> 142 Opoul-Périllos #> 143 Ortaffa #> 144 Passa #> 145 Palau-del-Vidre #> 146 Peyrestortes #> 147 Perpignan #> 148 Pézilla-la-Rivière #> 149 Pia #> 150 Pollestres #> 151 Ponteilla #> 152 Port-Vendres #> 153 La Trinité #> 154 Caixas #> 155 Rivesaltes #> 156 Saleilles #> 157 Salses-le-Château #> 158 Saint-André #> 159 Saint-Cyprien #> 160 Saint-Estève #> 161 Saint-Féliu-d'Amont #> 162 Saint-Féliu-d'Avall #> 163 Saint-Génis-des-Fontaines #> 164 Saint-Hippolyte #> 165 Saint-Jean-Lasseille #> 166 Saint-Laurent-de-la-Salanque #> 167 Saint-Michel-de-Llotes #> 168 Saint-Nazaire #> 169 Sainte-Colombe-de-la-Commanderie #> 170 Sainte-Marie-la-Mer #> 171 Sorède #> 172 Tautavel #> 173 Terrats #> 174 Théza #> 175 Toulouges #> 176 Tordères #> 177 Torreilles #> 178 Tresserre #> 179 Trouillas #> 180 Thuir #> 181 Villelongue-de-la-Salanque #> 182 Villelongue-dels-Monts #> 183 Villemolaque #> 184 Villeneuve-la-Rivière #> 185 Villeneuve-de-la-Raho #> 186 Vingrau #> 187 Arles-sur-Tech #> 188 Céret #> 189 Corsavy #> 190 Coustouges #> 191 Le Perthus #> 192 Le Tech #> 193 Amélie-les-Bains-Palalda #> 194 L'Albère #> 195 Lamanère #> 196 Les Cluses #> 197 Montbolo #> 198 Montferrer #> 199 Maureillas-las-Illas #> 200 Prats-de-Mollo-la-Preste #> 201 Reynès #> 202 Saint-Jean-Pla-de-Corts #> 203 Saint-Laurent-de-Cerdans #> 204 Serralongue #> 205 Taillet #> 206 Taulis #> 207 Vivès #> 208 Aguaviva / Aiguaviva de Bergantes #> 209 Belmonte de San José / Bellmunt de Mesquí #> 210 La Cañada de Verich / la Canyada de Beric #> 211 La Codoñera / la Codonyera #> 212 La Ginebrosa #> 213 La Cerollera / la Sorollera #> 214 Torrevelilla / la Torre de Vilella #> 215 Fayón / Faió #> 216 Fabara / Favara #> 217 Maella #> 218 Nonaspe / Nonasp #> 219 Fraga #> 220 Mequinenza / Mequinensa #> 221 Zaidín / Saidí #> 222 Torrente de Cinca / Torrent de Cinca #> 223 Velilla de Cinca #> 224 Albelda #> 225 Baells #> 226 Camporrells #> 227 Castillonroy / Castellonroi #> 228 Alcampell / el Campell #> 229 Altorricón / el Torricó #> 230 Peralta de la Sal #> 231 San Esteban de Litera #> 232 Azanuy #> 233 Tamarite de Litera / Tamarit de Llitera #> 234 Baldellou / Valdellou #> 235 Vencillón / Vensilló #> 236 Arens de Lledó / Arenys de Lledó #> 237 Beceite / Beseit #> 238 Calaceite / Calaceit #> 239 Fuentespalda / Fontdespatla #> 240 Fórnoles / Fórnols #> 241 La Fresneda / la Freixneda #> 242 La Portellada #> 243 Torre del Compte / la Torre del Comte #> 244 Valdeltormo / la Vall del Tormo #> 245 Lledó / Lledó d'Algars #> 246 Mazaleón / Massalió #> 247 Monroyo / Montroig #> 248 Peñarroya de Tastavins / Pena-roja de Tastavins #> 249 Cretas / Queretes #> 250 Ràfels / Ráfales #> 251 Torre de Arcas / Torredarques #> 252 Valderrobres / Vall de Roures #> 253 Valjunquera / Valljunquera #> 254 Arén / Areny de Noguera #> 255 Benabarre / Benavarri #> 256 Beranuy #> 257 Bonansa #> 258 Castigaleu #> 259 Estopiñán del Castillo / Estopanyà #> 260 La Puebla de Roda #> 261 Lascuarre / Lasquarri #> 262 Laspaúles / Les Paüls #> 263 Cajigar / Queixigar #> 264 Montanuy / Montanui #> 265 Puente de Montañana / Pont de Montanyana #> 266 Sopeira #> 267 Tolva / Tolba #> 268 Torre la Ribera #> 269 Viacamp #> 270 Eivissa #> 271 Sant Antoni de Portmany #> 272 Sant Joan de Labritja #> 273 Sant Josep de sa Talaia #> 274 Santa Eulària des Riu #> 275 Sant Francesc de Formentera #> 276 Artà #> 277 Capdepera #> 278 Manacor #> 279 Sant Llorenç des Cardassar #> 280 Son Servera #> 281 Alaior #> 282 Ciutadella #> 283 es Castell #> 284 es Mercadal #> 285 es Migjorn Gran #> 286 Ferreries #> 287 Maó #> 288 Sant Lluís #> 289 Campos #> 290 Felanitx #> 291 Llucmajor #> 292 Santanyí #> 293 ses Salines #> 294 Palma #> 295 Algaida #> 296 Ariany #> 297 Costitx #> 298 Lloret de Vistalegre #> 299 Llubí #> 300 Maria de la Salut #> 301 Montuïri #> 302 Muro #> 303 Petra #> 304 Porreres #> 305 Sant Joan #> 306 Santa Eugènia #> 307 Santa Margalida #> 308 Sencelles #> 309 Sineu #> 310 Vilafranca de Bonany #> 311 Alaró #> 312 Alcúdia #> 313 Binissalem #> 314 Búger #> 315 Campanet #> 316 Consell #> 317 Inca #> 318 Lloseta #> 319 Mancor de la Vall #> 320 sa Cabaneta #> 321 sa Pobla #> 322 Santa Maria del Camí #> 323 Selva #> 324 Andratx #> 325 Banyalbufar #> 326 Bunyola #> 327 Calvià #> 328 Deià #> 329 Lluc #> 330 Esporles #> 331 Estellencs #> 332 Fornalutx #> 333 Pollença #> 334 Puigpunyent #> 335 Sóller #> 336 Valldemossa #> 337 Aiguamúrcia #> 338 Alcover #> 339 Alió #> 340 Bràfim #> 341 Cabra del Camp #> 342 el Milà #> 343 el Pla de Santa Maria #> 344 el Pont d'Armentera #> 345 el Rourell #> 346 els Garidells #> 347 Figuerola del Camp #> 348 la Masó #> 349 la Riba #> 350 Mont-ral #> 351 Montferri #> 352 Nulles #> 353 Puigpelat #> 354 Querol #> 355 Rodonyà #> 356 Vallmoll #> 357 Valls #> 358 Vila-rodona #> 359 Vilabella #> 360 Agullana #> 361 Albanyà #> 362 Avinyonet de Puigventós #> 363 Bàscara #> 364 Biure #> 365 Boadella d'Empordà #> 366 Borrassà #> 367 Cabanelles #> 368 Cabanes #> 369 Cadaqués #> 370 Capmany #> 371 Cantallops #> 372 Castelló d'Empúries #> 373 Castelló d'Empúries #> 374 Cistella #> 375 Colera #> 376 Darnius #> 377 el Far d'Empordà #> 378 el Port de la Selva #> 379 Espolla #> 380 Figueres #> 381 Fortià #> 382 Garrigàs #> 383 Garriguella #> 384 l'Armentera #> 385 l'Escala #> 386 la Jonquera #> 387 la Selva de Mar #> 388 la Vajol #> 389 Llançà #> 390 Lladó #> 391 Llers #> 392 Maçanet de Cabrenys #> 393 Masarac #> 394 Mollet de Peralada #> 395 Navata #> 396 Ordis #> 397 Santa Eulàlia #> 398 Palau-saverdera #> 399 Pau #> 400 Marzà #> 401 Peralada #> 402 Pont de Molins #> 403 Pontós #> 404 Portbou #> 405 Rabós #> 406 Riumors #> 407 Roses #> 408 Sant Climent Sescebes #> 409 Sant Llorenç de la Muga #> 410 Sant Miquel de Fluvià #> 411 Sant Mori #> 412 Sant Pere Pescador #> 413 Santa Llogaia d'Àlguema #> 414 Camallera #> 415 Siurana #> 416 Terrades #> 417 Torroella de Fluvià #> 418 Ventalló #> 419 Vila-sacra #> 420 Vilabertran #> 421 Viladamat #> 422 Vilafant #> 423 Vilajuïga #> 424 Vilamacolum #> 425 Vilamalla #> 426 Vilamaniscle #> 427 Vilanant #> 428 Vilaür #> 429 Avinyó Nou #> 430 la Gornal #> 431 la Múnia #> 432 el Pla del Penedès #> 433 Font-rubí #> 434 Gelida #> 435 la Granada #> 436 les Cabanyes #> 437 Sant Joan de Mediona #> 438 Sant Miquel d'Olèrdola #> 439 Olesa de Bonesvalls #> 440 Pacs del Penedès #> 441 Pontons #> 442 Puigdàlber #> 443 Sant Cugat Sesgarrigues #> 444 Sant Llorenç d'Hortons #> 445 Sant Martí Sarroca #> 446 Sant Pere de Riudebitlles #> 447 Sant Quintí de Mediona #> 448 Sant Sadurní d'Anoia #> 449 Santa Fe del Penedès #> 450 Santa Margarida i els Monjos #> 451 Sant Pau d'Ordal #> 452 Torrelavit #> 453 Torrelles de Foix #> 454 Vilafranca del Penedès #> 455 Vilobí del Penedès #> 456 Alàs #> 457 Arsèguel #> 458 Bassella #> 459 Cabó #> 460 Ansovell #> 461 Coll de Nargó #> 462 Bar #> 463 Estamariu #> 464 Fígols #> 465 Tuixent #> 466 la Seu d'Urgell #> 467 Fórnols #> 468 Sorribes de la Vansa #> 469 Noves de Segre #> 470 Anserall #> 471 Montferrer #> 472 Oliana #> 473 Organyà #> 474 Peramola #> 475 el Pla de Sant Tirs #> 476 el Pont de Suert #> 477 Barruera #> 478 Vilaller #> 479 Argençola #> 480 Bellprat #> 481 Canaletes #> 482 Calaf #> 483 Dusfort #> 484 Capellades #> 485 Carme #> 486 Castellfollit de Riubregós #> 487 Castellolí #> 488 Copons #> 489 el Bruc #> 490 els Hostalets de Pierola #> 491 els Prats de Rei #> 492 Igualada #> 493 Jorba #> 494 la Llacuna #> 495 la Pobla de Claramunt #> 496 la Torre de Claramunt #> 497 Masquefa #> 498 Montmaneu #> 499 Òdena #> 500 Orpí #> 501 Piera #> 502 Pujalt #> 503 Rubió #> 504 Sant Martí de Tous #> 505 Sant Martí Sesgueioles #> 506 Sant Pere Sallavinera #> 507 Santa Margarida de Montbui #> 508 Santa Maria de Miralles #> 509 Vallbona d'Anoia #> 510 Veciana #> 511 Vilanova del Camí #> 512 Aguilar de Segarra #> 513 Artés #> 514 Avinyó #> 515 Balsareny #> 516 Callús #> 517 Cardona #> 518 el Borràs #> 519 Castellfollit del Boix #> 520 Castellgalí #> 521 Castellnou de Bages #> 522 el Pont de Vilomara #> 523 Fonollosa #> 524 Gaià #> 525 Manresa #> 526 Marganell #> 527 Monistrol de Montserrat #> 528 Mura #> 529 Navarcles #> 530 Navàs #> 531 Rajadell #> 532 Sallent #> 533 Sant Feliu Sasserra #> 534 Sant Fruitós de Bages #> 535 Sant Joan de Vilatorrada #> 536 Sant Mateu de Bages #> 537 Sant Salvador de Guardiola #> 538 Sant Vicenç de Castellet #> 539 Santpedor #> 540 Súria #> 541 Talamanca #> 542 Alforja #> 543 Almoster #> 544 Arbolí #> 545 Botarell #> 546 Cambrils #> 547 Capafonts #> 548 Castellvell del Camp #> 549 Colldejou #> 550 Duesaigües #> 551 l'Albiol #> 552 l'Aleixar #> 553 l'Argentera #> 554 la Febró #> 555 la Selva del Camp #> 556 les Borges del Camp #> 557 Maspujols #> 558 Mont-roig del Camp #> 559 Montbrió del Camp #> 560 Prades #> 561 Pratdip #> 562 Reus #> 563 Riudecanyes #> 564 Riudecols #> 565 Riudoms #> 566 Vandellòs #> 567 Vilanova d'Escornalbou #> 568 Vilaplana #> 569 Vinyols i els Arcs #> 570 Aldover #> 571 Alfara de Carles #> 572 Benifallet #> 573 Camarles #> 574 Deltebre #> 575 el Perelló #> 576 l'Aldea #> 577 l'Ametlla de Mar #> 578 l'Ampolla #> 579 Paüls #> 580 Roquetes #> 581 Tivenys #> 582 Tortosa #> 583 Xerta #> 584 Albons #> 585 Begur #> 586 Bellcaire d'Empordà #> 587 Calonge #> 588 Platja d'Aro #> 589 Colomers #> 590 Corçà #> 591 Sant Sadurní de l'Heura #> 592 Foixà #> 593 Fontanilles #> 594 Garrigoles #> 595 Gualta #> 596 Jafre #> 597 la Bisbal d'Empordà #> 598 la Pera #> 599 la Tallada d'Empordà #> 600 Mont-ras #> 601 Palafrugell #> 602 Palamós #> 603 Palau-sator #> 604 Pals #> 605 Parlavà #> 606 Regencós #> 607 Rupià #> 608 Sant Feliu de Guíxols #> 609 Santa Cristina d'Aro #> 610 Serra de Daró #> 611 Torrent #> 612 Torroella de Montgrí #> 613 Ullà #> 614 Ullastret #> 615 Ultramort #> 616 Vall-llobrega #> 617 Verges #> 618 Vilopriu #> 619 Vulpellac #> 620 Abrera #> 621 Begues #> 622 Castelldefels #> 623 Castellví de Rosanes #> 624 Cervelló #> 625 Collbató #> 626 Corbera de Llobregat #> 627 Cornellà de Llobregat #> 628 el Papiol #> 629 el Prat de Llobregat #> 630 Esparreguera #> 631 Esplugues de Llobregat #> 632 Gavà #> 633 la Palma de Cervelló #> 634 Martorell #> 635 Molins de Rei #> 636 Olesa de Montserrat #> 637 Pallejà #> 638 Sant Andreu de la Barca #> 639 Sant Boi de Llobregat #> 640 Sant Climent de Llobregat #> 641 Sant Esteve Sesrovires #> 642 Sant Feliu de Llobregat #> 643 Sant Joan Despí #> 644 Sant Just Desvern #> 645 Sant Vicenç dels Horts #> 646 Santa Coloma de Cervelló #> 647 Torrelles de Llobregat #> 648 Vallirana #> 649 Viladecans #> 650 Albinyana #> 651 Banyeres del Penedès #> 652 Bellvei #> 653 Bonastre #> 654 Calafell #> 655 Cunit #> 656 la Joncosa del Montmell #> 657 el Vendrell #> 658 l'Arboç #> 659 la Bisbal del Penedès #> 660 Llorenç del Penedès #> 661 Masllorenç #> 662 Sant Jaume dels Domenys #> 663 Santa Oliva #> 664 Badalona #> 665 Barcelona #> 666 l'Hospitalet de Llobregat #> 667 Sant Adrià de Besòs #> 668 Santa Coloma de Gramenet #> 669 Avià #> 670 Bagà #> 671 Berga #> 672 Borredà #> 673 Capolat #> 674 Casserres #> 675 Castell de l'Areny #> 676 Castellar de n'Hug #> 677 Llinars #> 678 Cercs #> 679 Fígols #> 680 Gironella #> 681 Gisclareny #> 682 Gósol #> 683 Guardiola de Berguedà #> 684 l'Espunyola #> 685 la Nou de Berguedà #> 686 la Pobla de Lillet #> 687 la Quar #> 688 Montclar #> 689 Montmajor #> 690 Olvan #> 691 Puig-reig #> 692 Sagàs #> 693 Saldes #> 694 Sant Jaume de Frontanyà #> 695 Sant Julià de Cerdanyola #> 696 Santa Maria de Merlès #> 697 Vallcebre #> 698 Vilada #> 699 Serrateix #> 700 Alp #> 701 Bellver de Cerdanya #> 702 Bolvir #> 703 Das #> 704 el Vilar d'Urtx #> 705 Ger #> 706 Guils de Cerdanya #> 707 All #> 708 Lles de Cerdanya #> 709 Llívia #> 710 Meranges #> 711 Martinet #> 712 Prats #> 713 Prullans #> 714 Puigcerdà #> 715 Riu de Cerdanya #> 716 Urús #> 717 Barberà de la Conca #> 718 Blancafort #> 719 Conesa #> 720 Forès #> 721 l'Espluga de Francolí #> 722 les Piles #> 723 Llorac #> 724 Montblanc #> 725 Passanant #> 726 Pira #> 727 Pontils #> 728 Rocafort de Queralt #> 729 Santa Coloma de Queralt #> 730 Sarral #> 731 Savallà del Comtat #> 732 Senan #> 733 Solivella #> 734 Vallclara #> 735 Vallfogona de Riucorb #> 736 Vilanova de Prades #> 737 Vilaverd #> 738 Vimbodí #> 739 Canyelles #> 740 Cubelles #> 741 Olivella #> 742 Sant Pere de Ribes #> 743 Sitges #> 744 Vilanova i la Geltrú #> 745 Arbeca #> 746 Bellaguarda #> 747 Bovera #> 748 Castelldans #> 749 Cervià de les Garrigues #> 750 el Cogul #> 751 el Soleràs #> 752 el Vilosell #> 753 els Omellons #> 754 els Torms #> 755 Fulleda #> 756 Granyena de les Garrigues #> 757 Juncosa #> 758 Juneda #> 759 l'Albagés #> 760 l'Albi #> 761 l'Espluga Calba #> 762 la Floresta #> 763 La Granadella #> 764 la Pobla de Cérvoles #> 765 les Borges Blanques #> 766 Puiggròs #> 767 Tarrés #> 768 Vinaixa #> 769 Argelaguer #> 770 Besalú #> 771 Beuda #> 772 Castellfollit de la Roca #> 773 Sant Esteve d'en Bas #> 774 l'Hostalnou de Bianya #> 775 les Planes d'Hostoles #> 776 les Preses #> 777 Maià de Montcal #> 778 Mieres #> 779 Montagut #> 780 Olot #> 781 Riudaura #> 782 Sales de Llierca #> 783 Sant Esteve de Llémena #> 784 Sant Feliu de Pallerols #> 785 Juïnyà #> 786 Sant Jaume de Llierca #> 787 Sant Joan les Fonts #> 788 Santa Pau #> 789 Tortellà #> 790 Aiguaviva #> 791 Bescanó #> 792 Bordils #> 793 Campllong #> 794 Canet d'Adri #> 795 Cassà de la Selva #> 796 Celrà #> 797 Cervià de Ter #> 798 Flaçà #> 799 Fornells de la Selva #> 800 Girona #> 801 Juià #> 802 Llagostera #> 803 Llambilles #> 804 Madremanya #> 805 Medinyà #> 806 Quart #> 807 Salt #> 808 Sant Andreu Salou #> 809 Sant Gregori #> 810 Sant Joan de Mollet #> 811 Sant Jordi Desvalls #> 812 Sant Julià de Ramis #> 813 Sant Martí de Llémena #> 814 Sant Martí Vell #> 815 Sarrià de Ter #> 816 Vilablareix #> 817 Viladasens #> 818 Alpens #> 819 Santa Eulàlia de Puig-oriol #> 820 Olost #> 821 Oristà #> 822 Perafita #> 823 Prats de Lluçanès #> 824 Sant Martí d'Albars #> 825 Sobremunt #> 826 Alella #> 827 Arenys de Mar #> 828 Arenys de Munt #> 829 Argentona #> 830 Cabrera de Mar #> 831 Cabrils #> 832 Caldes d'Estrac #> 833 Calella #> 834 Canet de Mar #> 835 Dosrius #> 836 el Masnou #> 837 Malgrat de Mar #> 838 Mataró #> 839 Montgat #> 840 Òrrius #> 841 Palafolls #> 842 Pineda de Mar #> 843 Premià de Dalt #> 844 Premià de Mar #> 845 Sant Andreu de Llavaneres #> 846 Sant Cebrià de Vallalta #> 847 Sant Iscle de Vallalta #> 848 Sant Pol de Mar #> 849 Sant Vicenç de Montalt #> 850 Santa Susanna #> 851 Teià #> 852 Tiana #> 853 Tordera #> 854 Vilassar de Dalt #> 855 Vilassar de Mar #> 856 Calders #> 857 Castellcir #> 858 Castellterçol #> 859 Collsuspina #> 860 Granera #> 861 l'Estany #> 862 Moià #> 863 Monistrol de Calders #> 864 Sant Quirze Safaja #> 865 Santa Maria d'Oló #> 866 Alcanar #> 867 Amposta #> 868 Freginals #> 869 Godall #> 870 la Galera #> 871 la Ràpita #> 872 la Sénia #> 873 Mas de Barberans #> 874 Masdenverge #> 875 Sant Jaume d'Enveja #> 876 Santa Bàrbara #> 877 Ulldecona #> 878 Àger #> 879 Albesa #> 880 Algerri #> 881 Alòs de Balaguer #> 882 Artesa de Segre #> 883 Balaguer #> 884 Bellcaire d'Urgell #> 885 Bellmunt d'Urgell #> 886 Cabanabona #> 887 Camarasa #> 888 Castelló de Farfanya #> 889 Cubells #> 890 Foradada #> 891 Ivars de Noguera #> 892 Gualter #> 893 la Sentiu de Sió #> 894 les Avellanes #> 895 Menàrguens #> 896 Montgai #> 897 Oliola #> 898 Os de Balaguer #> 899 Penelles #> 900 Ponts #> 901 Preixens #> 902 Térmens #> 903 Tiurana #> 904 Torrelameu #> 905 Vallfogona de Balaguer #> 906 Vilanova de l'Aguda #> 907 Vilanova de Meià #> 908 els Hostalets de Balenyà #> 909 Calldetenes #> 910 Centelles #> 911 el Brull #> 912 Espinelves #> 913 Folgueroles #> 914 Gurb #> 915 l'Esquirol #> 916 les Masies de Roda #> 917 les Masies de Voltregà #> 918 Malla #> 919 Manlleu #> 920 Montesquiu #> 921 Muntanyola #> 922 Can Branques #> 923 Roda de Ter #> 924 Rupit #> 925 l'Alou #> 926 Sant Bartomeu del Grau #> 927 Sant Boi de Lluçanès #> 928 Sant Hipòlit de Voltregà #> 929 Sant Julià de Vilatorta #> 930 l'Abella #> 931 Sant Pere de Torelló #> 932 Sant Quirze de Besora #> 933 Sant Sadurní d'Osormort #> 934 Sant Vicenç de Torelló #> 935 Santa Cecília de Voltregà #> 936 Santa Eugènia de Berga #> 937 Santa Eulàlia de Riuprimer #> 938 Santa Maria de Besora #> 939 Seva #> 940 Sora #> 941 Taradell #> 942 Tavèrnoles #> 943 Tavertet #> 944 Tona #> 945 Torelló #> 946 Vic #> 947 Vidrà #> 948 Viladrau #> 949 Vilanova de Sau #> 950 Abella de la Conca #> 951 Guàrdia de Noguera #> 952 el Pont de Claverol #> 953 Gavet de la Conca #> 954 Isona #> 955 la Pobla de Segur #> 956 la Torre de Cabdella #> 957 Llimiana #> 958 Salàs de Pallars #> 959 Sant Esteve de la Sarga #> 960 Sarroca de Bellera #> 961 Senterada #> 962 Talarn #> 963 Tremp #> 964 Alins #> 965 València d'Àneu #> 966 Gerri de la Sal #> 967 Espot #> 968 Esterri d'Àneu #> 969 Esterri de Cardós #> 970 Burg #> 971 la Guingueta d'Àneu #> 972 Lladorre #> 973 Llavorsí #> 974 Rialp #> 975 Vilamur #> 976 Sort #> 977 Tírvia #> 978 Ribera de Cardós #> 979 Barbens #> 980 Bell-lloc d'Urgell #> 981 Bellvís #> 982 Castellnou de Seana #> 983 el Palau d'Anglesola #> 984 el Poal #> 985 Fondarella #> 986 Golmés #> 987 Ivars d'Urgell #> 988 Linyola #> 989 Miralcamp #> 990 Mollerussa #> 991 Sidamon #> 992 Torregrossa #> 993 Vila-sana #> 994 Vilanova de Bellpuig #> 995 Banyoles #> 996 Camós #> 997 Cornellà del Terri #> 998 Crespià #> 999 Esponellà #> 1000 Fontcoberta #> 1001 Palol de Revardit #> 1002 Mata #> 1003 Sant Miquel de Campmajor #> 1004 Serinyà #> 1005 Vilademuls #> 1006 Bellmunt del Priorat #> 1007 Cabacés #> 1008 Capçanes #> 1009 Cornudella de Montsant #> 1010 el Lloar #> 1011 el Masroig #> 1012 el Molar #> 1013 els Guiamets #> 1014 Falset #> 1015 Gratallops #> 1016 la Bisbal de Falset #> 1017 la Figuera #> 1018 la Morera de Montsant #> 1019 la Torre de Fontaubella #> 1020 la Vilella Alta #> 1021 la Vilella Baixa #> 1022 Marçà #> 1023 Margalef #> 1024 Poboleda #> 1025 Porrera #> 1026 Pradell de la Teixeta #> 1027 Torroja del Priorat #> 1028 Ulldemolins #> 1029 Ascó #> 1030 Benissanet #> 1031 Flix #> 1032 Garcia #> 1033 Ginestar #> 1034 la Palma d'Ebre #> 1035 la Torre de l'Espanyol #> 1036 Miravet #> 1037 Móra d'Ebre #> 1038 Móra la Nova #> 1039 Rasquera #> 1040 Riba-roja d'Ebre #> 1041 Tivissa #> 1042 Vinebre #> 1043 Campdevànol #> 1044 Campelles #> 1045 Camprodon #> 1046 Gombrèn #> 1047 les Llosses #> 1048 Llanars #> 1049 Molló #> 1050 Ogassa #> 1051 Pardines #> 1052 Planoles #> 1053 Queralbs #> 1054 Ribes de Freser #> 1055 Ripoll #> 1056 Sant Joan de les Abadesses #> 1057 Sant Pau de Segúries #> 1058 Setcases #> 1059 Toses #> 1060 Vallfogona de Ripollès #> 1061 Vilallonga de Ter #> 1062 Biosca #> 1063 Cervera #> 1064 les Pallargues #> 1065 Estaràs #> 1066 Granyanella #> 1067 Granyena de Segarra #> 1068 Guissona #> 1069 Ivorra #> 1070 les Oluges #> 1071 Massoteres #> 1072 Montoliu de Segarra #> 1073 Montornès de Segarra #> 1074 Sant Antolí i Vilanova #> 1075 Sanaüja #> 1076 Sant Guim de Freixenet #> 1077 Sant Guim de la Plana #> 1078 Sant Ramon #> 1079 Talavera #> 1080 Tarroja de Segarra #> 1081 Torà #> 1082 Torrefeta #> 1083 Aitona #> 1084 Albatàrrec #> 1085 Alcanó #> 1086 Alcarràs #> 1087 Alcoletge #> 1088 Alfarràs #> 1089 Alfés #> 1090 Alguaire #> 1091 Almacelles #> 1092 Almatret #> 1093 Almenar #> 1094 Alpicat #> 1095 Artesa de Lleida #> 1096 Aspa #> 1097 Benavent de Segrià #> 1098 Corbins #> 1099 els Alamús #> 1100 Gimenells #> 1101 la Granja d'Escarp #> 1102 la Portella #> 1103 Llardecans #> 1104 Lleida #> 1105 Maials #> 1106 Massalcoreig #> 1107 Montoliu de Lleida #> 1108 Puigverd de Lleida #> 1109 Rosselló #> 1110 Sarroca de Lleida #> 1111 Seròs #> 1112 Soses #> 1113 Sudanell #> 1114 Sunyer #> 1115 Torre-serona #> 1116 Torrebesses #> 1117 Torrefarrera #> 1118 Torres de Segre #> 1119 Vilanova de la Barca #> 1120 Vilanova de Segrià #> 1121 Amer #> 1122 Anglès #> 1123 Arbúcies #> 1124 Blanes #> 1125 Breda #> 1126 Brunyola #> 1127 Caldes de Malavella #> 1128 Fogars de la Selva #> 1129 Hostalric #> 1130 la Cellera de Ter #> 1131 Lloret de Mar #> 1132 Massanes #> 1133 Maçanet de la Selva #> 1134 Osor #> 1135 Riells #> 1136 Riudarenes #> 1137 Riudellots de la Selva #> 1138 Sant Feliu de Buixalleu #> 1139 Sant Hilari Sacalm #> 1140 Bonmatí #> 1141 Santa Coloma de Farners #> 1142 Sils #> 1143 Sant Martí Sacalm #> 1144 Tossa de Mar #> 1145 Vidreres #> 1146 Vilobí d'Onyar #> 1147 Castellar de la Ribera #> 1148 Clariana de Cardener #> 1149 la Casa Nova de Valls #> 1150 la Coma #> 1151 la Molsosa #> 1152 Lladurs #> 1153 Llobera #> 1154 Navès #> 1155 Cambrils #> 1156 el Pi de Sant Just #> 1157 Sant Climenç #> 1158 Pinós #> 1159 el Miracle #> 1160 Sant Llorenç de Morunys #> 1161 Solsona #> 1162 Altafulla #> 1163 Constantí #> 1164 Creixell #> 1165 el Catllar #> 1166 el Morell #> 1167 els Pallaresos #> 1168 la Canonja #> 1169 la Nou de Gaià #> 1170 la Pobla de Mafumet #> 1171 la Pobla de Montornès #> 1172 la Riera de Gaià #> 1173 la Secuita #> 1174 Perafort #> 1175 Renau #> 1176 Roda de Berà #> 1177 Salomó #> 1178 Salou #> 1179 Tarragona #> 1180 Torredembarra #> 1181 Vespella de Gaià #> 1182 Vila-seca #> 1183 Vilallonga del Camp #> 1184 Arnes #> 1185 Batea #> 1186 Bot #> 1187 Caseres #> 1188 Corbera d'Ebre #> 1189 el Pinell de Brai #> 1190 Gandesa #> 1191 Horta de Sant Joan #> 1192 la Fatarella #> 1193 la Pobla de Massaluca #> 1194 Prat de Comte #> 1195 Vilalba dels Arcs #> 1196 Agramunt #> 1197 Anglesola #> 1198 Belianes #> 1199 Bellpuig #> 1200 Castellserà #> 1201 Ciutadilla #> 1202 els Omells de na Gaia #> 1203 Guimerà #> 1204 la Fuliola #> 1205 Maldà #> 1206 Nalec #> 1207 Ossó de Sió #> 1208 Preixana #> 1209 Puigverd d'Agramunt #> 1210 Sant Martí de Maldà #> 1211 Tàrrega #> 1212 Tornabous #> 1213 Vallbona de les Monges #> 1214 Verdú #> 1215 Vilagrassa #> 1216 Badia del Vallès #> 1217 Barberà del Vallès #> 1218 Castellar del Vallès #> 1219 Castellbisbal #> 1220 Cerdanyola del Vallès #> 1221 Gallifa #> 1222 Matadepera #> 1223 Montcada i Reixac #> 1224 Palau-solità i Plegamans #> 1225 Polinyà #> 1226 Rellinars #> 1227 Ripollet #> 1228 Rubí #> 1229 Sabadell #> 1230 Sant Cugat del Vallès #> 1231 Sant Llorenç Savall #> 1232 Sant Quirze del Vallès #> 1233 Santa Perpètua de Mogoda #> 1234 Sentmenat #> 1235 Terrassa #> 1236 Ullastrell #> 1237 Vacarisses #> 1238 Viladecavalls #> 1239 Aiguafreda #> 1240 Bigues #> 1241 Caldes de Montbui #> 1242 Campins #> 1243 Canovelles #> 1244 Cànoves #> 1245 Cardedeu #> 1246 el Figaró #> 1247 Mosqueroles #> 1248 Granollers #> 1249 Gualba #> 1250 l'Ametlla del Vallès #> 1251 la Garriga #> 1252 la Llagosta #> 1253 la Roca del Vallès #> 1254 Corró d'Avall #> 1255 Lliçà d'Amunt #> 1256 Lliçà de Vall #> 1257 Llinars del Vallès #> 1258 Martorelles #> 1259 Mollet del Vallès #> 1260 Montmeló #> 1261 Montornès del Vallès #> 1262 Montseny #> 1263 Parets del Vallès #> 1264 Sant Antoni de Vilamajor #> 1265 Sant Celoni #> 1266 Sant Esteve de Palautordera #> 1267 Sant Feliu de Codines #> 1268 Sant Fost de Campsentelles #> 1269 Sant Pere de Vilamajor #> 1270 Santa Eulàlia de Ronçana #> 1271 Santa Maria de Martorelles #> 1272 Santa Maria de Palautordera #> 1273 Tagamanent #> 1274 Vallgorguina #> 1275 Vallromanes #> 1276 Vilalba Sasserra #> 1277 Vilanova del Vallès #> 1278 València #> 1279 Alcalà de Xivert #> 1280 Benicarló #> 1281 Càlig #> 1282 Canet lo Roig #> 1283 Castell de Cabres #> 1284 Cervera del Maestre #> 1285 la Jana #> 1286 la Pobla de Benifassà #> 1287 la Salzadella #> 1288 Peníscola / Peñíscola #> 1289 Rossell #> 1290 Sant Jordi / San Jorge #> 1291 Sant Mateu #> 1292 Sant Rafel del Riu #> 1293 Santa Magdalena de Pulpis #> 1294 Traiguera #> 1295 Vinaròs #> 1296 Xert #> 1297 Guardamar del Segura #> 1298 Crevillent #> 1299 Elx / Elche #> 1300 Santa Pola #> 1301 Albalat dels Tarongers #> 1302 Alfara de la Baronia #> 1303 Algar de Palància #> 1304 Algímia d'Alfara #> 1305 Benavites #> 1306 Benifairó de les Valls #> 1307 Canet d'en Berenguer #> 1308 Estivella #> 1309 Faura #> 1310 Gilet #> 1311 Petrés #> 1312 Quart de les Valls #> 1313 Quartell #> 1314 Sagunt / Sagunto #> 1315 Segart #> 1316 Torres Torres #> 1317 Benaguasil #> 1318 Benissanó #> 1319 Bétera #> 1320 Casinos #> 1321 l'Eliana #> 1322 la Pobla de Vallbona #> 1323 Llíria #> 1324 Nàquera / Náquera #> 1325 Olocau #> 1326 Riba-roja de Túria #> 1327 Serra #> 1328 Vilamarxant #> 1329 Agres #> 1330 Alcoleja #> 1331 Alcosser #> 1332 Alfafara #> 1333 Almudaina #> 1334 Balones #> 1335 Benasau #> 1336 Beniarrés #> 1337 Benilloba #> 1338 Benillup #> 1339 Benimarfull #> 1340 Benimassot #> 1341 Cocentaina #> 1342 Fageca #> 1343 Famorca #> 1344 Gaianes #> 1345 Gorga #> 1346 l'Alqueria d'Asnar #> 1347 l'Orxa / Lorcha #> 1348 Millena #> 1349 Muro de Alcoy #> 1350 Planes #> 1351 Quatretondeta #> 1352 Tollos #> 1353 el Fondó de les Neus / Hondón de las Nieves #> 1354 Hondón de los Frailes #> 1355 el Pinós / Pinoso #> 1356 Algueña #> 1357 la Romana #> 1358 Monòver / Monóvar #> 1359 Novelda #> 1360 Petrer #> 1361 Castellfort #> 1362 Cinctorres #> 1363 Forcall #> 1364 Herbers #> 1365 la Mata de Morella #> 1366 Todolella #> 1367 Morella #> 1368 Palanques #> 1369 Portell de Morella #> 1370 Sorita #> 1371 Vallibona #> 1372 Vilafranca / Villafranca del Cid #> 1373 Villores #> 1374 Agost #> 1375 Aigües #> 1376 Alacant / Alicante #> 1377 Busot #> 1378 el Campello #> 1379 la Torre de les Maçanes / Torremanzanas #> 1380 Mutxamel #> 1381 Sant Joan d'Alacant #> 1382 Sant Vicent del Raspeig / San Vicente del Raspeig #> 1383 Xixona / Jijona #> 1384 Costur #> 1385 Figueroles #> 1386 l'Alcora #> 1387 les Useres / Useras #> 1388 Llucena / Lucena del Cid #> 1389 Vistabella del Maestrat #> 1390 Xodos / Chodos #> 1391 Alcoi / Alcoy #> 1392 Banyeres de Mariola #> 1393 Benifallim #> 1394 Castalla #> 1395 Ibi #> 1396 Onil #> 1397 Penàguila #> 1398 Tibi #> 1399 Albocàsser #> 1400 Ares del Maestrat #> 1401 Atzeneta del Maestrat #> 1402 Benafigos #> 1403 Benassal #> 1404 Catí #> 1405 Culla #> 1406 la Serratella #> 1407 la Torre d'en Besora #> 1408 Tírig #> 1409 Vilar de Canes #> 1410 Beneixama #> 1411 Biar #> 1412 el Camp de Mirra / Campo de Mirra #> 1413 Cañada #> 1414 Albalat dels Sorells #> 1415 Alboraia / Alboraya #> 1416 Albuixech #> 1417 Alfara del Patriarca #> 1418 Almàssera #> 1419 Bonrepòs i Mirambell #> 1420 Burjassot #> 1421 el Puig de Santa Maria #> 1422 Emperador #> 1423 Foios #> 1424 Godella #> 1425 la Pobla de Farnals #> 1426 Massalfassar #> 1427 Massamagrell #> 1428 Meliana #> 1429 Montcada / Moncada #> 1430 Museros #> 1431 Paterna #> 1432 Puçol #> 1433 Rafelbunyol #> 1434 Rocafort #> 1435 Tavernes Blanques #> 1436 Vinalesa #> 1437 Alaquàs #> 1438 Albal #> 1439 Alcàsser #> 1440 Aldaia #> 1441 Alfafar #> 1442 Benetússer #> 1443 Beniparrell #> 1444 Catarroja #> 1445 Llocnou de la Corona #> 1446 Manises #> 1447 Massanassa #> 1448 Mislata #> 1449 Paiporta #> 1450 Picanya #> 1451 Picassent #> 1452 Quart de Poblet #> 1453 Sedaví #> 1454 Silla #> 1455 Torrent #> 1456 Xirivella #> 1457 Barxeta #> 1458 Canals #> 1459 Cerdà #> 1460 el Genovés #> 1461 Estubeny #> 1462 l'Alcúdia de Crespins #> 1463 la Font de la Figuera #> 1464 la Granja de la Costera #> 1465 la Llosa de Ranes #> 1466 Llanera de Ranes #> 1467 Llocnou d'en Fenollet #> 1468 Moixent / Mogente #> 1469 Montesa #> 1470 Novetlè #> 1471 Rotglà i Corberà #> 1472 Torrella #> 1473 Vallada #> 1474 Vallés #> 1475 Xàtiva #> 1476 Alcalalí #> 1477 Beniarbeig #> 1478 Benidoleig #> 1479 Benigembla #> 1480 Benimeli #> 1481 Benissa #> 1482 Calp #> 1483 Castell de Castells #> 1484 Dénia #> 1485 el Poble Nou de Benitatxell / Benitachell #> 1486 el Ràfol d'Almúnia #> 1487 el Verger #> 1488 els Poblets #> 1489 Gata de Gorgos #> 1490 l'Atzúbia #> 1491 Alcalà de la Jovada #> 1492 la Vall d'Ebo #> 1493 Benialí #> 1494 Fleix #> 1495 Llíber #> 1496 Murla #> 1497 Ondara #> 1498 Orba #> 1499 Parcent #> 1500 Pedreguer #> 1501 Pego #> 1502 Sagra #> 1503 Sanet y Negrals #> 1504 Senija #> 1505 Teulada #> 1506 Tormos #> 1507 Xàbia / Jávea #> 1508 Xaló #> 1509 Altea #> 1510 Beniardà #> 1511 Benidorm #> 1512 Benifato #> 1513 Benimantell #> 1514 Bolulla #> 1515 Callosa d'en Sarrià #> 1516 Confrides #> 1517 el Castell de Guadalest #> 1518 Finestrat #> 1519 l'Alfàs del Pi #> 1520 la Nucia #> 1521 la Vila Joiosa / Villajoyosa #> 1522 Orxeta #> 1523 Polop #> 1524 Relleu #> 1525 Sella #> 1526 Tàrbena #> 1527 Almassora #> 1528 Benicàssim / Benicasim #> 1529 Benlloc #> 1530 Borriol #> 1531 Cabanes #> 1532 Castelló de la Plana #> 1533 la Pobla Tornesa #> 1534 Sierra Engarcerán #> 1535 la Torre d'en Doménec #> 1536 Vall d'Alba #> 1537 les Coves de Vinromà #> 1538 Orpesa / Oropesa del Mar #> 1539 Sant Joan de Moró #> 1540 Torreblanca #> 1541 Vilafamés #> 1542 Vilanova d'Alcolea #> 1543 Aín #> 1544 Alfondeguilla #> 1545 Almenara #> 1546 Artana #> 1547 Betxí #> 1548 Borriana / Burriana #> 1549 Eslida #> 1550 Alcudia de Veo #> 1551 la Llosa #> 1552 la Vall d'Uixó #> 1553 la Vilavella #> 1554 les Alqueries / Alquerías del Niño Perdido #> 1555 Moncofa #> 1556 Nules #> 1557 Onda #> 1558 Ribesalbes #> 1559 Suera / Sueras #> 1560 Tales #> 1561 Vila-real #> 1562 Xilxes / Chilches #> 1563 Alberic #> 1564 Alcàntera de Xúquer #> 1565 Alfarb #> 1566 Algemesí #> 1567 Alginet #> 1568 Alzira #> 1569 Antella #> 1570 Beneixida #> 1571 Benifaió #> 1572 Benimodo #> 1573 Benimuslem #> 1574 Carcaixent #> 1575 Càrcer #> 1576 Carlet #> 1577 Castelló #> 1578 Catadau #> 1579 Cotes #> 1580 Gavarda #> 1581 Guadassuar #> 1582 l'Alcúdia #> 1583 l'Énova #> 1584 la Pobla Llarga #> 1585 Llombai #> 1586 Manuel #> 1587 Massalavés #> 1588 Montroi / Montroy #> 1589 Montserrat #> 1590 Rafelguaraf #> 1591 Real #> 1592 Sant Joanet #> 1593 Sellent #> 1594 Senyera #> 1595 Sumacàrcer #> 1596 Turís #> 1597 Albalat de la Ribera #> 1598 Almussafes #> 1599 Benicull de Xúquer #> 1600 Corbera #> 1601 Cullera #> 1602 Favara #> 1603 Fortaleny #> 1604 Llaurí #> 1605 Polinyà de Xúquer #> 1606 Riola #> 1607 Sollana #> 1608 Sueca #> 1609 Ador #> 1610 Alfauir #> 1611 Almiserà #> 1612 Almoines #> 1613 Barx #> 1614 Bellreguard #> 1615 Beniarjó #> 1616 Benifairó de la Valldigna #> 1617 Beniflá #> 1618 Benirredrà #> 1619 Castellonet de la Conquesta #> 1620 Daimús #> 1621 el Real de Gandia #> 1622 Gandia #> 1623 Guardamar de la Safor #> 1624 l'Alqueria de la Comtessa #> 1625 la Font d'en Carròs #> 1626 Llocnou de Sant Jeroni #> 1627 Miramar #> 1628 Oliva #> 1629 Palma de Gandía #> 1630 Palmera #> 1631 Piles #> 1632 Potries #> 1633 Rafelcofer #> 1634 Ròtova #> 1635 Simat de la Valldigna #> 1636 Tavernes de la Valldigna #> 1637 Vilallonga / Villalonga #> 1638 Xeraco #> 1639 Xeresa #> 1640 Agullent #> 1641 Aielo de Malferit #> 1642 Aielo de Rugat #> 1643 Albaida #> 1644 Alfarrasí #> 1645 Atzeneta d'Albaida #> 1646 Bèlgida #> 1647 Bellús #> 1648 Beniatjar #> 1649 Benicolet #> 1650 Benigànim #> 1651 Benissoda #> 1652 Benissuera #> 1653 Bocairent #> 1654 Bufali #> 1655 Carrícola #> 1656 Castelló de Rugat #> 1657 el Palomar #> 1658 Ráfol de Salem #> 1659 Fontanars dels Alforins #> 1660 Guadasséquies #> 1661 l'Olleria #> 1662 la Pobla del Duc #> 1663 Llutxent #> 1664 Montaverner #> 1665 Montitxelvo / Montichelvo #> 1666 Ontinyent #> 1667 Otos #> 1668 Pinet #> 1669 Quatretonda #> 1670 Rugat #> 1671 Salem #> 1672 Sempere #> 1673 Terrateig #> 1674 l'Alguer/Alghero"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/mars.html","id":null,"dir":"Reference","previous_headings":"","what":"Mars i oceans del mon — mars","title":"Mars i oceans del mon — mars","text":"Dades dels mars oceans del mon, objectes amb etiquetes `place = ocean` o `place = sea`.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/mars.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Mars i oceans del mon — mars","text":"","code":"mars"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/mars.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Mars i oceans del mon — mars","text":"Un data.frame amb dades dels 155 mars oceans per les següents 8 variables. name:ca Etiqueta name:ca. name Etiqueta name. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. alt_name Etiqueta alt_name. alt_name:ca Etiqueta name. place Etiqueta place. wikidata Etiqueta wikidata.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/mars.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Exemples","title":"Mars i oceans del mon — mars","text":"","code":"mars[, c(\"name:ca\", \"name\", \"wikidata\")] #> name:ca #> 1 Oceà Antàrtic #> 2 Oceà Àrtic #> 3 Oceà Atlàntic #> 4 Oceà Índic #> 5 Oceà Pacífic #> 6 Atlàntic Nord #> 7 Atlàntic Sud #> 8 Badia de Baffin #> 9 Badia de Hudson #> 10 Badia de James #> 11 Estret de Macassar #> 12 Golf d'Aden #> 13 Golf d'Alaska #> 14 Golf d'Oman #> 15 Golf de Califòrnia #> 16 Golf de Guinea #> 17 Golf de Kalamita #> 18 Golf de Mèxic #> 19 Golf de Tomini #> 20 Golf de Tribugà #> 21 Golf Pèrsic #> 22 Kattegat #> 23 Mar Adriàtica #> 24 Mar Balear #> 25 Mar Bàltica #> 26 Mar Blanca #> 27 Mar Cantàbrica #> 28 Mar Carib #> 29 Mar Càspia #> 30 Mar d'Åland #> 31 Mar d'Alborán #> 32 Mar d'Amundsen #> 33 Mar d'Andaman #> 34 Mar d'Aràbia #> 35 Mar d'Arafura #> 36 Mar d'Azov #> 37 Mar d'Icària #> 38 Mar d'Irlanda #> 39 Mar d'Irminger #> 40 Mar d'Okhotsk #> 41 Mar de Bali #> 42 Mar de Banda #> 43 Mar de Barents #> 44 Mar de Beaufort #> 45 Mar de Bellingshausen #> 46 Mar de Bering #> 47 Mar de Bismarck #> 48 Mar de Bohai #> 49 Mar de Bohol #> 50 Mar de Bòtnia #> 51 Mar de Camotes #> 52 Mar de Cèlebes #> 53 Mar de Creta #> 54 Mar de Davis #> 55 Mar de Dumont d'Urville #> 56 Mar de Fiji #> 57 Mar de Flores #> 58 Mar de Groenlàndia #> 59 Mar de Halmahera #> 60 Mar de Java #> 61 Mar de Kara #> 62 Mar de Koro #> 63 Mar de l'Arxipèlag #> 64 Mar de la Cooperació #> 65 Mar de la Sibèria Oriental #> 66 Mar de la Sibèria Oriental #> 67 Mar de la Xina Meridional #> 68 Mar de la Xina Oriental #> 69 Mar de Labrador #> 70 Mar de Làptev #> 71 Mar de Lazarev #> 72 Mar de les Filipines #> 73 Mar de les Hèbrides #> 74 Mar de les Lacadives #> 75 Mar de les Moluques #> 76 Mar de Líbia #> 77 Mar de Lincoln #> 78 Mar de Llevant #> 79 Mar de Màrmara #> 80 Mar de Mawson #> 81 Mar de Mirtos #> 82 Mar de Noruega #> 83 Mar de Petxora #> 84 Mar de Riiser-Larsen #> 85 Mar de Ross #> 86 Mar de Salomó #> 87 Mar de Samar #> 88 Mar de Savu #> 89 Mar de Scotia #> 90 Mar de Seram #> 91 Mar de Sibuyan #> 92 Mar de Somov #> 93 Mar de Sulu #> 94 Mar de Tasmània #> 95 Mar de Timor #> 96 Mar de Tràcia #> 97 Mar de Visayas #> 98 Mar de Wadden #> 99 Mar de Wandel #> 100 Mar de Weddell #> 101 Mar del Corall #> 102 Mar del Japó #> 103 Mar del Nord #> 104 Mar del Sud #> 105 Mar dels Cosmonautes #> 106 Mar dels Sargassos #> 107 Mar dels Txuktxis #> 108 Mar dels Txuktxis #> 109 Mar Egea #> 110 Mar Groga #> 111 Mar Interior de Seto #> 112 Mar Jònica #> 113 Mar Lígur #> 114 Mar Mediterrània #> 115 Mar Negra #> 116 Mar Roig #> 117 Mar Tirrena #> 118 Oceà Pacífic Nord #> 119 Oceà Pacífic Sud #> 120 Passatge de Drake #> 121 Riu de la Plata #> 122 Skagerrak #> 123 #> 124 #> 125 #> 126 #> 127 #> 128 #> 129 #> 130 #> 131 #> 132 #> 133 #> 134 #> 135 #> 136 #> 137 #> 138 #> 139 #> 140 #> 141 #> 142 #> 143 #> 144 #> 145 #> 146 #> 147 #> 148 #> 149 #> 150 #> name #> 1 Southern Ocean #> 2 Arctic Ocean #> 3 Atlantic Ocean #> 4 Indian Ocean #> 5 Pacific Ocean #> 6 North Atlantic Ocean #> 7 South Atlantic Ocean #> 8 Baffin Bay #> 9 Hudson Bay #> 10 James Bay / Baie James #> 11 Selat Makassar #> 12 خليج عدن #> 13 Gulf of Alaska #> 14 خلیج عمان #> 15 Gulf of California #> 16 Gulf of Guinea #> 17 Каламитский залив #> 18 Golfo de México #> 19 Teluk Tomini #> 20 Golfo de Tribugá #> 21 الخليج العربي #> 22 Kattegat #> 23 Jadransko more / Mare Adriatico / Deti Adriatik #> 24 Mar Balear #> 25 Morze Bałtyckie - Baltijos jūra - Baltijas jūra - Läänemeri - Itämeri - Östersjön - Østersøen - Ostsee - Балтийское море #> 26 Белое море #> 27 Mar Cantábrico #> 28 Caribbean Sea #> 29 Каспий теңізі - Hazar deňizi - دریای خزر - Xəzər dənizi - Каспийское море - دریای مازندران #> 30 Ahvenanmeri #> 31 Mar de Alborán / بحر البحران #> 32 Amundsen Sea #> 33 Andaman Sea #> 34 Arabian Sea / بحر العرب #> 35 Arafura Sea #> 36 Азовське море - Азовское море #> 37 Ικάριο πέλαγος #> 38 Irish Sea #> 39 Irminger Sea #> 40 Sea of Okhotsk #> 41 Laut Bali #> 42 Laut Banda #> 43 Баренцево море #> 44 Beaufort Sea #> 45 Bellingshausen Sea #> 46 Bering Sea #> 47 Bismarck Sea #> 48 渤海 #> 49 Bohol Sea #> 50 Selkämeri / Bottenhavet #> 51 Camotes Sea #> 52 Celebes Sea #> 53 Κρητικό πέλαγος #> 54 Davis Sea #> 55 Mer Dumont-d'Urville #> 56 Fiji Sea #> 57 Laut Flores #> 58 Greenland Sea #> 59 Laut Halmahera #> 60 Laut Jawa #> 61 Карское море #> 62 Koro Sea #> 63 Saaristomeri #> 64 Maro de Kunlaboro #> 65 Восточно-Сибирское море #> 66 Восточно-Сибирское море #> 67 South China Sea #> 68 East China Sea #> 69 Labrador Sea #> 70 Море Лаптевых #> 71 Maro de Lazarev #> 72 Philippine Sea #> 73 Sea of the Hebrides #> 74 Laccadive Sea #> 75 Molucca Sea #> 76 Libyan Sea #> 77 Lincoln Sea #> 78 Levantine Sea #> 79 Marmara Denizi #> 80 Maro de Mawson #> 81 Μυρτώο Πέλαγος #> 82 Norwegian Sea #> 83 Печорское море #> 84 Maro de Riiser-Larsen #> 85 Ross Sea #> 86 Solomon Sea #> 87 Samar Sea #> 88 Laut Sawu #> 89 Scotia Sea #> 90 Laut Seram #> 91 Sibuyan Sea #> 92 Maro de Somov #> 93 Sulu Sea #> 94 Te Tai-o-Rehua / Tasman Sea #> 95 Laut Timor #> 96 Θρακικό Πέλαγος #> 97 Visayan Sea #> 98 Waddenzee / Wattenmeer / Vadehavet #> 99 Wandelhavet #> 100 Weddell Sea #> 101 Coral Sea #> 102 日本海 / Японское море / 동해 #> 103 North Sea / Nordsee / Noordzee / Nordsøen / Nordsjøen / Mer du Nord #> 104 남해 #> 105 Maro de Kosmonaŭtoj #> 106 Sargasso Sea #> 107 Чукотское море #> 108 Chukchi Sea #> 109 Αιγαίον Πέλαγος / Ege Denizi #> 110 Yellow Sea #> 111 瀬戸内海 #> 112 Ionian Sea #> 113 Mar Ligure / Mer Ligure #> 114 Mediterranean Sea #> 115 Чорне море - Marea Neagră - Черно море – Karadeniz - შავი ზღვა - Чёрное море #> 116 Mer Rouge / ቀይሕ ባሕሪ / البحر الأحمر #> 117 Mar Tirreno / Mer Tyrrhénienne #> 118 North Pacific Ocean #> 119 South Pacific Ocean #> 120 Drake Passage #> 121 Río de la Plata #> 122 Skagerrak #> 123 八代海 #> 124 天草灘 #> 125 Celtic Sea / Mer Celtique #> 126 Laut Natuna #> 127 Teluk Bone #> 128 Rogalandsfeltet #> 129 Brevikflua #> 130 Klatten #> 131 Bælt #> 132 Inner Seas off the West Coast of Scotland #> 133 Luzon Sea #> 134 五島灘 #> 135 The Red Sea #> 136 Sanden #> 137 Southeastern Limit of Labrador Sea #> 138 斎灘 #> 139 安芸灘 #> 140 Gulf of Thailand #> 141 Тендрівська затока #> 142 Охотское море #> 143 Pinochet Strait #> 144 海州湾 #> 145 Paso Oglander #> 146 函館湾 #> 147 영흥만 #> 148 Lincoln Sea #> 149 Prince Gustaf Adolf Sea #> 150 Bay of Bengal #> wikidata #> 1 Q7354 #> 2 Q788 #> 3 Q97 #> 4 Q1239 #> 5 Q98 #> 6 Q350134 #> 7 Q1482804 #> 8 Q37040 #> 9 Q3040 #> 10 Q223810 #> 11 Q194477 #> 12 Q41837 #> 13 Q180531 #> 14 Q79948 #> 15 Q132811 #> 16 Q41430 #> 17 Q2026815 #> 18 Q12630 #> 19 Q1507546 #> 20 Q3110256 #> 21 Q34675 #> 22 Q131716 #> 23 Q13924 #> 24 Q200712 #> 25 Q545 #> 26 Q44133 #> 27 Q2090594 #> 28 Q1247 #> 29 Q5484 #> 30 Q271043 #> 31 Q199408 #> 32 Q72154 #> 33 Q47632 #> 34 Q58705 #> 35 Q128880 #> 36 Q35000 #> 37 Q1640853 #> 38 Q41735 #> 39 Q1542675 #> 40 Q41602 #> 41 Q277014 #> 42 Q171510 #> 43 Q45823 #> 44 Q131274 #> 45 Q183455 #> 46 Q44725 #> 47 Q199436 #> 48 Q181969 #> 49 Q242326 #> 50 Q1649939 #> 51 Q540179 #> 52 Q19270 #> 53 Q193149 #> 54 Q509321 #> 55 Q1391243 #> 56 Q2355931 #> 57 Q150370 #> 58 Q132868 #> 59 Q212083 #> 60 Q49364 #> 61 Q33629 #> 62 Q315954 #> 63 Q650654 #> 64 Q2085564 #> 65 Q163434 #> 66 Q163434 #> 67 Q37660 #> 68 Q45341 #> 69 Q184189 #> 70 Q7988 #> 71 Q1576063 #> 72 Q159183 #> 73 Q1971856 #> 74 Q544914 #> 75 Q185291 #> 76 Q738028 #> 77 Q243125 #> 78 Q748696 #> 79 Q35367 #> 80 Q1902276 #> 81 Q840427 #> 82 Q47545 #> 83 Q217501 #> 84 Q1576011 #> 85 Q164466 #> 86 Q199479 #> 87 Q392623 #> 88 Q193465 #> 89 Q204703 #> 90 Q210855 #> 91 Q594834 #> 92 Q1404920 #> 93 Q160194 #> 94 Q33254 #> 95 Q131418 #> 96 Q379063 #> 97 Q474708 #> 98 Q26080 #> 99 Q259929 #> 100 Q173343 #> 101 Q82931 #> 102 Q27092 #> 103 Q1693 #> 104 Q624569 #> 105 Q1509546 #> 106 Q169274 #> 107 Q159252 #> 108 Q159252 #> 109 Q34575 #> 110 Q37960 #> 111 Q231312 #> 112 Q37495 #> 113 Q42820 #> 114 Q4918 #> 115 Q166 #> 116 Q23406 #> 117 Q38882 #> 118 Q12353254 #> 119 Q12355425 #> 120 Q143650 #> 121 Q35827 #> 122 Q1695 #> 123 Q49560 #> 124 Q3306188 #> 125 Q81499 #> 126 Q10829960 #> 127 Q641148 #> 128 #> 129 #> 130 #> 131 #> 132 Q5762423 #> 133 #> 134 Q11372327 #> 135 #> 136 #> 137 #> 138 Q11500419 #> 139 Q4302577 #> 140 Q131217 #> 141 Q2392966 #> 142 Q41602 #> 143 Q2783226 #> 144 Q15939411 #> 145 Q5716459 #> 146 Q11396019 #> 147 Q27245429 #> 148 Q243125 #> 149 Q2322479 #> 150 Q38684"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/missatge_telegram.html","id":null,"dir":"Reference","previous_headings":"","what":"Envia un missatge a al grup de Telegram de la Comunitat en catal\\u00E0 d'OpenStreetMap — missatge_telegram","title":"Envia un missatge a al grup de Telegram de la Comunitat en catal\\u00E0 d'OpenStreetMap — missatge_telegram","text":"Envia un missatge al grup de Telegram de la Comunitat en catal\\u00E0 d'OpenStreetMap","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/missatge_telegram.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Envia un missatge a al grup de Telegram de la Comunitat en catal\\u00E0 d'OpenStreetMap — missatge_telegram","text":"","code":"missatge_telegram( missatge = \"Hi ha canvis a [monitorOSM](https://osm-catalan.github.io/monitorOSM).\", parse_mode = \"Markdown\" )"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/missatge_telegram.html","id":"par-metres","dir":"Reference","previous_headings":"","what":"Paràmetres","title":"Envia un missatge a al grup de Telegram de la Comunitat en catal\\u00E0 d'OpenStreetMap — missatge_telegram","text":"missatge Text del missatge. parse_mode El missatge s'interpreta com Markdown o HTML.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":null,"dir":"Reference","previous_headings":"","what":"Modifica etiquetes a OSM — modifica_etiquetes_osm","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"Obre un conjunt de canvis, edita les etiquetes tanca el conjunt de canvis.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"","code":"modifica_etiquetes_osm(x, claus, comentari, ...)"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":"par-metres","dir":"Reference","previous_headings":"","what":"Paràmetres","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"x data.frame amb els valors de les etiquetes que s'actualitzaran les columnes osm_type osm_id o (type id) que identifiquen els objectes d'OSM. claus Claus de les etiquetes que es modificaran. Han de correspondre columnes d'x. comentari Comentari descriptiu del conjunt de canvis. ... Etiquetes del conjunt de canvis com paràmetres amb noms (clau = \"valor\").","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":"valor","dir":"Reference","previous_headings":"","what":"Valor","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"Retorna l'identificador del conjunt de canvis.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":"detalls","dir":"Reference","previous_headings":"","what":"Detalls","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"Cal identificar-se amb un usuari d'OSM els canvis es faran amb aquest usuari sota la seva responsabilitat. Les etiquetes més habituals pels conjunts de canvis inclouen source hashtags. En el marc del projecte, monitorOSM, pot ser bona idea afegir el paràmetre hashtags = \"monitorOSM\" per poder fer un seguiment de les edicions. Vegeu https://wiki.openstreetmap.org/wiki/Changeset per més detalls. OSM és un projecte col·laboratiu participen milers de persones. Reviseu bé els canvis, consensueu-los amb la comunitat, afegiu comentaris informatius del conjunt de canvis feu un bon ús d'aquesta funció.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":"nota","dir":"Reference","previous_headings":"","what":"Nota","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"Modificar les claus osm_type, osm_id, id type amb aquesta funció pot donar problemes per col·lisions de noms de columnes d'x és recomanat.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Exemples","title":"Modifica etiquetes a OSM — modifica_etiquetes_osm","text":"","code":"# Restaura els noms de les comarques dels Països Catalans segons `comarques` if (FALSE) { # \\dontrun{ modifica_etiquetes_osm( comarques, claus = \"name\", comentari = \"Restaura els noms de les comarques dels Països Catalans\", hashtags = \"monitorOSM\" ) } # }"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html","id":null,"dir":"Reference","previous_headings":"","what":"Municipis dels Països Catalans — municipis","title":"Municipis dels Països Catalans — municipis","text":"Dades dels municipis dels Països Catalans.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Municipis dels Països Catalans — municipis","text":"","code":"municipis"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html","id":"detalls","dir":"Reference","previous_headings":"","what":"Detalls","title":"Municipis dels Països Catalans — municipis","text":"Alguns noms de municipis tenen duplicats. Per construir noms únics (p. ex. per generar noms de fitxers), podeu usar paste0(municipis$regio, \"-\", municipis$name).","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Municipis dels Països Catalans — municipis","text":"Un data.frame amb dades dels 1671 municipis per les següents 9 variables. name:ca Etiqueta name:ca. regio Subdivisió [\"Aran\", \"CatNord\", \"Franja\", \"Illes\", \"Principat\", \"PV\", \"Sardenya\"]. comarca Etiqueta name:ca de la comarca es troba el municipi. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. name Etiqueta name. wikipedia Etiqueta wikipedia. wikidata Etiqueta wikidata. admin_level Etiqueta admin_level.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html","id":"nota","dir":"Reference","previous_headings":"","what":"Nota","title":"Municipis dels Països Catalans — municipis","text":"Les parròquies d'Andorra corresponen comarques (admin_level = \"7\") els pobles tenen relacions, només nodes. Els pobles s'inclouen.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Exemples","title":"Municipis dels Països Catalans — municipis","text":"","code":"municipis[, c(\"name:ca\", \"regio\", \"name\")] #> name:ca regio #> 1 Alt Aran Aran #> 2 Arres Aran #> 3 Bausén Aran #> 4 Bossòst Aran #> 5 Canejan Aran #> 6 es Bordes Aran #> 7 Lés Aran #> 8 Viella i Mitjaran Aran #> 9 Vilamòs Aran #> 10 Angostrina i Vilanova de les Escaldes CatNord #> 11 Bolquera CatNord #> 12 Dorres CatNord #> 13 Èguet CatNord #> 14 Eina CatNord #> 15 Enveig CatNord #> 16 Er CatNord #> 17 Estavar CatNord #> 18 Font-romeu, Odelló i Vià CatNord #> 19 la Cabanassa CatNord #> 20 la Guingueta d'Ix CatNord #> 21 la Tor de Querol CatNord #> 22 Llo CatNord #> 23 Montlluís CatNord #> 24 Naüja CatNord #> 25 Oceja CatNord #> 26 Palau de Cerdanya CatNord #> 27 Porta CatNord #> 28 Portè CatNord #> 29 Sallagosa CatNord #> 30 Santa Llocaia CatNord #> 31 Targasona CatNord #> 32 Ur CatNord #> 33 Vallcebollera CatNord #> 34 els Angles CatNord #> 35 Font-rabiosa CatNord #> 36 Formiguera CatNord #> 37 Matamala CatNord #> 38 Puigbalador CatNord #> 39 Real CatNord #> 40 Aiguatèbia i Talau CatNord #> 41 Arboçols CatNord #> 42 Campome CatNord #> 43 Canavelles CatNord #> 44 Castell de Vernet CatNord #> 45 Catllà CatNord #> 46 Caudiers de Conflent CatNord #> 47 Censà CatNord #> 48 Clarà i Villerac CatNord #> 49 Codalet CatNord #> 50 Conat CatNord #> 51 Cornellà de Conflent CatNord #> 52 Escaró CatNord #> 53 Espirà de Conflent CatNord #> 54 Estoer CatNord #> 55 Eus CatNord #> 56 Fillols CatNord #> 57 Finestret CatNord #> 58 Fontpedrosa CatNord #> 59 Fullà CatNord #> 60 Glorianes CatNord #> 61 Jóc CatNord #> 62 Jújols CatNord #> 63 la Bastida CatNord #> 64 la Llaguna CatNord #> 65 Los Masos CatNord #> 66 Marqueixanes CatNord #> 67 Mentet CatNord #> 68 Molig CatNord #> 69 Mosset CatNord #> 70 Noedes CatNord #> 71 Nyer CatNord #> 72 Oleta i Èvol CatNord #> 73 Orbanyà CatNord #> 74 Orellà CatNord #> 75 Pi de Conflent CatNord #> 76 Planès CatNord #> 77 Prada CatNord #> 78 Ralleu CatNord #> 79 Rià i Cirac CatNord #> 80 Rigardà CatNord #> 81 Rodés CatNord #> 82 Sant Marçal CatNord #> 83 Sant Pere dels Forcats CatNord #> 84 Saorra CatNord #> 85 Sautó CatNord #> 86 Serdinyà CatNord #> 87 Soanyes CatNord #> 88 Tarerac CatNord #> 89 Taurinyà CatNord #> 90 Toès i Entrevalls CatNord #> 91 Vallestàvia CatNord #> 92 Vallmanya CatNord #> 93 Vernet CatNord #> 94 Vilafranca de Conflent CatNord #> 95 Vinçà CatNord #> 96 Ansinyà CatNord #> 97 Bellestar CatNord #> 98 Campossí CatNord #> 99 Caramany CatNord #> 100 Cassanyes CatNord #> 101 Caudiers de Fenollet CatNord #> 102 Centernac CatNord #> 103 El Viver CatNord #> 104 Felluns CatNord #> 105 Fenollet CatNord #> 106 Fossa CatNord #> 107 l'Esquerda CatNord #> 108 la Tor de França CatNord #> 109 lançac CatNord #> 110 Maurí CatNord #> 111 Montalban lo Castèl CatNord #> 112 Pesillà de Conflent CatNord #> 113 Planeses CatNord #> 114 Prats de Sornià CatNord #> 115 Prunyanes CatNord #> 116 Rasigueres CatNord #> 117 Rebollet CatNord #> 118 Sant Martí de Fenollet CatNord #> 119 Sant Pau de Fenollet CatNord #> 120 Sornià CatNord #> 121 Trevillac CatNord #> 122 Trillà CatNord #> 123 Virà CatNord #> 124 Alenyà CatNord #> 125 Argelers CatNord #> 126 Bages de Rosselló CatNord #> 127 Baixàs CatNord #> 128 Banyuls de la Marenda CatNord #> 129 Banyuls dels Aspres CatNord #> 130 Bao CatNord #> 131 Bompàs CatNord #> 132 Brullà CatNord #> 133 Bula d'Amunt CatNord #> 134 Bulaternera CatNord #> 135 Cabestany CatNord #> 136 Calce CatNord #> 137 Calmella CatNord #> 138 Cameles CatNord #> 139 Canet de Rosselló CatNord #> 140 Cànoes CatNord #> 141 Casafabre CatNord #> 142 Cases de Pena CatNord #> 143 Castellnou CatNord #> 144 Cervera de la Marenda CatNord #> 145 Clairà CatNord #> 146 Corbera de Rosselló CatNord #> 147 Cornellà de la Ribera CatNord #> 148 Cornellà del Bercol CatNord #> 149 Cotlliure CatNord #> 150 el Barcarès CatNord #> 151 el Soler CatNord #> 152 el Voló CatNord #> 153 Elna CatNord #> 154 Espirà de l'Aglí CatNord #> 155 Estagell CatNord #> 156 Forques CatNord #> 157 Illa CatNord #> 158 la Cabana de Corbera CatNord #> 159 la Roca d'Albera CatNord #> 160 la Torre d'Elna CatNord #> 161 Llauró CatNord #> 162 Llupià CatNord #> 163 Millars CatNord #> 164 Montescot CatNord #> 165 Montesquiu d'Albera CatNord #> 166 Montner CatNord #> 167 Montoriol CatNord #> 168 Nefiac CatNord #> 169 Oms CatNord #> 170 Òpol i Perellós CatNord #> 171 Ortafà CatNord #> 172 Paçà CatNord #> 173 Palau del Vidre CatNord #> 174 Paretstortes CatNord #> 175 Perpinyà CatNord #> 176 Pesillà de la Ribera CatNord #> 177 Pià CatNord #> 178 Pollestres CatNord #> 179 Pontellà CatNord #> 180 Portvendres CatNord #> 181 Prunet i Belpuig CatNord #> 182 Queixàs CatNord #> 183 Ribesaltes CatNord #> 184 Salelles CatNord #> 185 Salses CatNord #> 186 Sant Andreu de Sureda CatNord #> 187 Sant Cebrià de Rosselló CatNord #> 188 Sant Esteve del Monestir CatNord #> 189 Sant Feliu d'Amunt CatNord #> 190 Sant Feliu d'Avall CatNord #> 191 Sant Genís de Fontanes CatNord #> 192 Sant Hipòlit de la Salanca CatNord #> 193 Sant Joan la Cella CatNord #> 194 Sant Llorenç de la Salanca CatNord #> 195 Sant Miquel de Llotes CatNord #> 196 Sant Nazari de Rosselló CatNord #> 197 Santa Coloma de Tuïr CatNord #> 198 Santa Maria la Mar CatNord #> 199 Sureda CatNord #> 200 Talteüll CatNord #> 201 Terrats CatNord #> 202 Tesà CatNord #> 203 Toluges CatNord #> 204 Torderes CatNord #> 205 Torrelles de la Salanca CatNord #> 206 Trasserra CatNord #> 207 Trullars CatNord #> 208 Tuïr CatNord #> 209 Vilallonga de la Salanca CatNord #> 210 Vilallonga dels Monts CatNord #> 211 Vilamulaca CatNord #> 212 Vilanova de la Ribera CatNord #> 213 Vilanova de Raò CatNord #> 214 Vingrau CatNord #> 215 Arles CatNord #> 216 Ceret CatNord #> 217 Cortsaví CatNord #> 218 Costoja CatNord #> 219 el Pertús CatNord #> 220 el Tec CatNord #> 221 els Banys d'Arles i Palaldà CatNord #> 222 L'Albera CatNord #> 223 la Menera CatNord #> 224 les Cluses CatNord #> 225 Montboló CatNord #> 226 Montferrer CatNord #> 227 Morellàs i les Illes CatNord #> 228 Prats de Molló i la Presta CatNord #> 229 Reiners CatNord #> 230 Sant Joan de Pladecorts CatNord #> 231 Sant Llorenç de Cerdans CatNord #> 232 Serrallonga CatNord #> 233 Tellet CatNord #> 234 Teulís CatNord #> 235 Vivers CatNord #> 236 Aiguaviva de Bergantes Franja #> 237 Bellmunt de Mesquí Franja #> 238 la Canyada de Beric Franja #> 239 la Codonyera Franja #> 240 la Ginebrosa Franja #> 241 la Sorollera Franja #> 242 la Torre de Vilella Franja #> 243 Faió Franja #> 244 Favara Franja #> 245 Maella Franja #> 246 Nonasp Franja #> 247 Fraga Franja #> 248 Mequinensa Franja #> 249 Saidí Franja #> 250 Torrent de Cinca Franja #> 251 Vilella de Cinca Franja #> 252 Albelda Franja #> 253 Baells Franja #> 254 Camporrells Franja #> 255 Castellonroi Franja #> 256 el Campell Franja #> 257 el Torricó Franja #> 258 Peralta i Calassanç Franja #> 259 Sant Esteve de Llitera Franja #> 260 Sanui i Alins Franja #> 261 Tamarit de Llitera Franja #> 262 Valldellou Franja #> 263 Vensilló Franja #> 264 Arenys de Lledó Franja #> 265 Beseit Franja #> 266 Calaceit Franja #> 267 Fontdespatla Franja #> 268 Fórnols Franja #> 269 la Freixneda Franja #> 270 la Portellada Franja #> 271 la Torre del Comte Franja #> 272 la Vall del Tormo Franja #> 273 Lledó d'Algars Franja #> 274 Massalió Franja #> 275 Montroig Franja #> 276 Pena-roja de Tastavins Franja #> 277 Queretes Franja #> 278 Ràfels Franja #> 279 Torredarques Franja #> 280 Vall-de-roures Franja #> 281 Valljunquera Franja #> 282 Areny de Noguera Franja #> 283 Benavarri Franja #> 284 Beranui Franja #> 285 Bonansa Franja #> 286 Castigaleu Franja #> 287 Estopanyà Franja #> 288 Isàvena Franja #> 289 Lasquarri Franja #> 290 Les Paüls Franja #> 291 Monesma i Queixigar Franja #> 292 Montanui Franja #> 293 Pont de Montanyana Franja #> 294 Sopeira Franja #> 295 Tolba Franja #> 296 Tor-la-ribera Franja #> 297 Viacamp i Lliterà Franja #> 298 Eivissa Illes #> 299 Sant Antoni de Portmany Illes #> 300 Sant Joan de Labritja Illes #> 301 Sant Josep de sa Talaia Illes #> 302 Santa Eulària des Riu Illes #> 303 Formentera Illes #> 304 Artà Illes #> 305 Capdepera Illes #> 306 Manacor Illes #> 307 Sant Llorenç des Cardassar Illes #> 308 Son Servera Illes #> 309 Alaior Illes #> 310 Ciutadella Illes #> 311 es Castell Illes #> 312 es Mercadal Illes #> 313 es Migjorn Gran Illes #> 314 Ferreries Illes #> 315 Maó Illes #> 316 Sant Lluís Illes #> 317 Campos Illes #> 318 Felanitx Illes #> 319 Llucmajor Illes #> 320 Santanyí Illes #> 321 ses Salines Illes #> 322 Palma Illes #> 323 Algaida Illes #> 324 Ariany Illes #> 325 Costitx Illes #> 326 Lloret de Vistalegre Illes #> 327 Llubí Illes #> 328 Maria de la Salut Illes #> 329 Montuïri Illes #> 330 Muro Illes #> 331 Petra Illes #> 332 Porreres Illes #> 333 Sant Joan Illes #> 334 Santa Eugènia Illes #> 335 Santa Margalida Illes #> 336 Sencelles Illes #> 337 Sineu Illes #> 338 Vilafranca de Bonany Illes #> 339 Alaró Illes #> 340 Alcúdia Illes #> 341 Binissalem Illes #> 342 Búger Illes #> 343 Campanet Illes #> 344 Consell Illes #> 345 Inca Illes #> 346 Lloseta Illes #> 347 Mancor de la Vall Illes #> 348 Marratxí Illes #> 349 sa Pobla Illes #> 350 Santa Maria del Camí Illes #> 351 Selva Illes #> 352 Andratx Illes #> 353 Banyalbufar Illes #> 354 Bunyola Illes #> 355 Calvià Illes #> 356 Deià Illes #> 357 Escorca Illes #> 358 Esporles Illes #> 359 Estellencs Illes #> 360 Fornalutx Illes #> 361 Pollença Illes #> 362 Puigpunyent Illes #> 363 Sóller Illes #> 364 Valldemossa Illes #> 365 Aiguamúrcia Principat #> 366 Alcover Principat #> 367 Alió Principat #> 368 Bràfim Principat #> 369 Cabra del Camp Principat #> 370 el Milà Principat #> 371 el Pla de Santa Maria Principat #> 372 el Pont d'Armentera Principat #> 373 el Rourell Principat #> 374 els Garidells Principat #> 375 Figuerola del Camp Principat #> 376 la Masó Principat #> 377 la Riba Principat #> 378 Mont-ral Principat #> 379 Montferri Principat #> 380 Nulles Principat #> 381 Puigpelat Principat #> 382 Querol Principat #> 383 Rodonyà Principat #> 384 Vallmoll Principat #> 385 Valls Principat #> 386 Vila-rodona Principat #> 387 Vilabella Principat #> 388 Agullana Principat #> 389 Albanyà Principat #> 390 Avinyonet de Puigventós Principat #> 391 Bàscara Principat #> 392 Biure Principat #> 393 Boadella i les Escaules Principat #> 394 Borrassà Principat #> 395 Cabanelles Principat #> 396 Cabanes Principat #> 397 Cadaqués Principat #> 398 Campmany Principat #> 399 Cantallops Principat #> 400 Castelló d'Empúries Principat #> 401 Cistella Principat #> 402 Colera Principat #> 403 Darnius Principat #> 404 el Far d'Empordà Principat #> 405 el Port de la Selva Principat #> 406 Espolla Principat #> 407 Figueres Principat #> 408 Fortià Principat #> 409 Garrigàs Principat #> 410 Garriguella Principat #> 411 l'Armentera Principat #> 412 l'Escala Principat #> 413 la Jonquera Principat #> 414 la Selva de Mar Principat #> 415 la Vajol Principat #> 416 Llançà Principat #> 417 Lledó d'Empordà Principat #> 418 Llers Principat #> 419 Maçanet de Cabrenys Principat #> 420 Masarac i Vilarnadal Principat #> 421 Mollet de Peralada Principat #> 422 Navata Principat #> 423 Ordis Principat #> 424 Palau de Santa Eulàlia Principat #> 425 Palau-saverdera Principat #> 426 Pau Principat #> 427 Pedret i Marzà Principat #> 428 Peralada Principat #> 429 Pont de Molins Principat #> 430 Pontós Principat #> 431 Portbou Principat #> 432 Rabós Principat #> 433 Riumors Principat #> 434 Roses Principat #> 435 Sant Climent Sescebes Principat #> 436 Sant Llorenç de la Muga Principat #> 437 Sant Miquel de Fluvià Principat #> 438 Sant Mori Principat #> 439 Sant Pere Pescador Principat #> 440 Santa Llogaia d'Àlguema Principat #> 441 Saus, Camallera i Llampaies Principat #> 442 Siurana Principat #> 443 Terrades Principat #> 444 Torroella de Fluvià Principat #> 445 Ventalló Principat #> 446 Vila-sacra Principat #> 447 Vilabertran Principat #> 448 Viladamat Principat #> 449 Vilafant Principat #> 450 Vilajuïga Principat #> 451 Vilamacolum Principat #> 452 Vilamalla Principat #> 453 Vilamaniscle Principat #> 454 Vilanant Principat #> 455 Vilaür Principat #> 456 Avinyonet del Penedès Principat #> 457 Castellet i la Gornal Principat #> 458 Castellví de la Marca Principat #> 459 el Pla del Penedès Principat #> 460 Font-rubí Principat #> 461 Gelida Principat #> 462 la Granada Principat #> 463 les Cabanyes Principat #> 464 Mediona Principat #> 465 Olèrdola Principat #> 466 Olesa de Bonesvalls Principat #> 467 Pacs del Penedès Principat #> 468 Pontons Principat #> 469 Puigdàlber Principat #> 470 Sant Cugat Sesgarrigues Principat #> 471 Sant Llorenç d'Hortons Principat #> 472 Sant Martí Sarroca Principat #> 473 Sant Pere de Riudebitlles Principat #> 474 Sant Quintí de Mediona Principat #> 475 Sant Sadurní d'Anoia Principat #> 476 Santa Fe del Penedès Principat #> 477 Santa Margarida i els Monjos Principat #> 478 Subirats Principat #> 479 Terrassola i Lavit Principat #> 480 Torrelles de Foix Principat #> 481 Vilafranca del Penedès Principat #> 482 Vilobí del Penedès Principat #> 483 Alàs i Cerc Principat #> 484 Arsèguel Principat #> 485 Bassella Principat #> 486 Cabó Principat #> 487 Cava Principat #> 488 Coll de Nargó Principat #> 489 el Pont de Bar Principat #> 490 Estamariu Principat #> 491 Fígols i Alinyà Principat #> 492 Josa i Tuixén Principat #> 493 la Seu d'Urgell Principat #> 494 la Vansa i Fórnols Principat #> 495 les Valls d'Aguilar Principat #> 496 les Valls de Valira Principat #> 497 Montferrer i Castellbò Principat #> 498 Oliana Principat #> 499 Organyà Principat #> 500 Peramola Principat #> 501 Ribera d'Urgellet Principat #> 502 el Pont de Suert Principat #> 503 la Vall de Boí Principat #> 504 Vilaller Principat #> 505 Argençola Principat #> 506 Bellprat Principat #> 507 Cabrera d'Anoia Principat #> 508 Calaf Principat #> 509 Calonge de Segarra Principat #> 510 Capellades Principat #> 511 Carme Principat #> 512 Castellfollit de Riubregós Principat #> 513 Castellolí Principat #> 514 Copons Principat #> 515 el Bruc Principat #> 516 els Hostalets de Pierola Principat #> 517 els Prats de Rei Principat #> 518 Igualada Principat #> 519 Jorba Principat #> 520 la Llacuna Principat #> 521 la Pobla de Claramunt Principat #> 522 la Torre de Claramunt Principat #> 523 Masquefa Principat #> 524 Montmaneu Principat #> 525 Òdena Principat #> 526 Orpí Principat #> 527 Piera Principat #> 528 Pujalt Principat #> 529 Rubió Principat #> 530 Sant Martí de Tous Principat #> 531 Sant Martí Sesgueioles Principat #> 532 Sant Pere Sallavinera Principat #> 533 Santa Margarida de Montbui Principat #> 534 Santa Maria de Miralles Principat #> 535 Vallbona d'Anoia Principat #> 536 Veciana Principat #> 537 Vilanova del Camí Principat #> 538 Aguilar de Segarra Principat #> 539 Artés Principat #> 540 Avinyó Principat #> 541 Balsareny Principat #> 542 Callús Principat #> 543 Cardona Principat #> 544 Castellbell i el Vilar Principat #> 545 Castellfollit del Boix Principat #> 546 Castellgalí Principat #> 547 Castellnou de Bages Principat #> 548 el Pont de Vilomara i Rocafort Principat #> 549 Fonollosa Principat #> 550 Gaià Principat #> 551 Manresa Principat #> 552 Marganell Principat #> 553 Monistrol de Montserrat Principat #> 554 Mura Principat #> 555 Navarcles Principat #> 556 Navars Principat #> 557 Rajadell Principat #> 558 Sallent Principat #> 559 Sant Feliu Sasserra Principat #> 560 Sant Fruitós de Bages Principat #> 561 Sant Joan de Vilatorrada Principat #> 562 Sant Mateu de Bages Principat #> 563 Sant Salvador de Guardiola Principat #> 564 Sant Vicenç de Castellet Principat #> 565 Santpedor Principat #> 566 Súria Principat #> 567 Talamanca Principat #> 568 Alforja Principat #> 569 Almoster Principat #> 570 Arbolí Principat #> 571 Botarell Principat #> 572 Cambrils Principat #> 573 Capafonts Principat #> 574 Castellvell del Camp Principat #> 575 Colldejou Principat #> 576 Duesaigües Principat #> 577 l'Albiol Principat #> 578 l'Aleixar Principat #> 579 l'Argentera Principat #> 580 la Febró Principat #> 581 la Selva del Camp Principat #> 582 les Borges del Camp Principat #> 583 Maspujols Principat #> 584 Mont-roig del Camp Principat #> 585 Montbrió del Camp Principat #> 586 Prades Principat #> 587 Pratdip Principat #> 588 Reus Principat #> 589 Riudecanyes Principat #> 590 Riudecols Principat #> 591 Riudoms Principat #> 592 Vandellòs i l'Hospitalet de l'Infant Principat #> 593 Vilanova d'Escornalbou Principat #> 594 Vilaplana Principat #> 595 Vinyols i els Arcs Principat #> 596 Aldover Principat #> 597 Alfara de Carles Principat #> 598 Benifallet Principat #> 599 Camarles Principat #> 600 Deltebre Principat #> 601 el Perelló Principat #> 602 l'Aldea Principat #> 603 l'Ametlla de Mar Principat #> 604 l'Ampolla Principat #> 605 Paüls Principat #> 606 Roquetes Principat #> 607 Tivenys Principat #> 608 Tortosa Principat #> 609 Xerta Principat #> 610 Albons Principat #> 611 Begur Principat #> 612 Bellcaire d'Empordà Principat #> 613 Calonge i Sant Antoni Principat #> 614 Castell d'Aro, Platja d'Aro i s'Agaró Principat #> 615 Colomers Principat #> 616 Corçà Principat #> 617 Cruïlles, Monells i Sant Sadurní de l'Heura Principat #> 618 Foixà Principat #> 619 Fontanilles Principat #> 620 Garrigoles Principat #> 621 Gualta Principat #> 622 Jafre Principat #> 623 la Bisbal d'Empordà Principat #> 624 la Pera Principat #> 625 la Tallada d'Empordà Principat #> 626 Mont-ras Principat #> 627 Palafrugell Principat #> 628 Palamós Principat #> 629 Palau-sator Principat #> 630 Pals Principat #> 631 Parlavà Principat #> 632 Regencós Principat #> 633 Rupià Principat #> 634 Sant Feliu de Guíxols Principat #> 635 Santa Cristina d'Aro Principat #> 636 Serra de Daró Principat #> 637 Torrent Principat #> 638 Torroella de Montgrí Principat #> 639 Ullà Principat #> 640 Ullastret Principat #> 641 Ultramort Principat #> 642 Vall-llobrega Principat #> 643 Verges Principat #> 644 Vilopriu Principat #> 645 Vulpellac, Fonteta i Peratallada Principat #> 646 Abrera Principat #> 647 Begues Principat #> 648 Castelldefels Principat #> 649 Castellví de Rosanes Principat #> 650 Cervelló Principat #> 651 Collbató Principat #> 652 Corbera de Llobregat Principat #> 653 Cornellà de Llobregat Principat #> 654 el Papiol Principat #> 655 el Prat de Llobregat Principat #> 656 Esparreguera Principat #> 657 Esplugues de Llobregat Principat #> 658 Gavà Principat #> 659 la Palma de Cervelló Principat #> 660 Martorell Principat #> 661 Molins de Rei Principat #> 662 Olesa de Montserrat Principat #> 663 Pallejà Principat #> 664 Sant Andreu de la Barca Principat #> 665 Sant Boi de Llobregat Principat #> 666 Sant Climent de Llobregat Principat #> 667 Sant Esteve Sesrovires Principat #> 668 Sant Feliu de Llobregat Principat #> 669 Sant Joan Despí Principat #> 670 Sant Just Desvern Principat #> 671 Sant Vicenç dels Horts Principat #> 672 Santa Coloma de Cervelló Principat #> 673 Torrelles de Llobregat Principat #> 674 Vallirana Principat #> 675 Viladecans Principat #> 676 Albinyana Principat #> 677 Banyeres del Penedès Principat #> 678 Bellvei Principat #> 679 Bonastre Principat #> 680 Calafell Principat #> 681 Cunit Principat #> 682 el Montmell Principat #> 683 el Vendrell Principat #> 684 l'Arboç Principat #> 685 la Bisbal del Penedès Principat #> 686 Llorenç del Penedès Principat #> 687 Masllorenç Principat #> 688 Sant Jaume dels Domenys Principat #> 689 Santa Oliva Principat #> 690 Badalona Principat #> 691 Barcelona Principat #> 692 l'Hospitalet de Llobregat Principat #> 693 Sant Adrià de Besòs Principat #> 694 Santa Coloma de Gramenet Principat #> 695 Avià Principat #> 696 Bagà Principat #> 697 Berga Principat #> 698 Borredà Principat #> 699 Capolat Principat #> 700 Casserres Principat #> 701 Castell de l'Areny Principat #> 702 Castellar de n'Hug Principat #> 703 Castellar del Riu Principat #> 704 Cercs Principat #> 705 Fígols Principat #> 706 Gironella Principat #> 707 Gisclareny Principat #> 708 Gósol Principat #> 709 Guardiola de Berguedà Principat #> 710 l'Espunyola Principat #> 711 la Nou de Berguedà Principat #> 712 la Pobla de Lillet Principat #> 713 la Quar Principat #> 714 Montclar Principat #> 715 Montmajor Principat #> 716 Olvan Principat #> 717 Puig-reig Principat #> 718 Sagàs Principat #> 719 Saldes Principat #> 720 Sant Jaume de Frontanyà Principat #> 721 Sant Julià de Cerdanyola Principat #> 722 Santa Maria de Merlès Principat #> 723 Vallcebre Principat #> 724 Vilada Principat #> 725 Viver i Serrateix Principat #> 726 Alp Principat #> 727 Bellver de Cerdanya Principat #> 728 Bolvir Principat #> 729 Das Principat #> 730 Fontanals de Cerdanya Principat #> 731 Ger Principat #> 732 Guils de Cerdanya Principat #> 733 Isòvol Principat #> 734 Lles de Cerdanya Principat #> 735 Llívia Principat #> 736 Meranges Principat #> 737 Montellà i Martinet Principat #> 738 Prats i Sansor Principat #> 739 Prullans Principat #> 740 Puigcerdà Principat #> 741 Riu de Cerdanya Principat #> 742 Urús Principat #> 743 Barberà de la Conca Principat #> 744 Blancafort Principat #> 745 Conesa Principat #> 746 Forès Principat #> 747 l'Espluga de Francolí Principat #> 748 les Piles Principat #> 749 Llorac Principat #> 750 Montblanc Principat #> 751 Passanant i Belltall Principat #> 752 Pira Principat #> 753 Pontils Principat #> 754 Rocafort de Queralt Principat #> 755 Santa Coloma de Queralt Principat #> 756 Sarral Principat #> 757 Savallà del Comtat Principat #> 758 Senan Principat #> 759 Solivella Principat #> 760 Vallclara Principat #> 761 Vallfogona de Riucorb Principat #> 762 Vilanova de Prades Principat #> 763 Vilaverd Principat #> 764 Vimbodí i Poblet Principat #> 765 Canyelles Principat #> 766 Cubelles Principat #> 767 Olivella Principat #> 768 Sant Pere de Ribes Principat #> 769 Sitges Principat #> 770 Vilanova i la Geltrú Principat #> 771 Arbeca Principat #> 772 Bellaguarda Principat #> 773 Bovera Principat #> 774 Castelldans Principat #> 775 Cervià de les Garrigues Principat #> 776 el Cogul Principat #> 777 el Soleràs Principat #> 778 el Vilosell Principat #> 779 els Omellons Principat #> 780 els Torms Principat #> 781 Fulleda Principat #> 782 Granyena de les Garrigues Principat #> 783 Juncosa Principat #> 784 Juneda Principat #> 785 l'Albagés Principat #> 786 l'Albi Principat #> 787 l'Espluga Calba Principat #> 788 la Floresta Principat #> 789 la Granadella Principat #> 790 la Pobla de Cérvoles Principat #> 791 les Borges Blanques Principat #> 792 Puiggròs Principat #> 793 Tarrés Principat #> 794 Vinaixa Principat #> 795 Argelaguer Principat #> 796 Besalú Principat #> 797 Beuda Principat #> 798 Castellfollit de la Roca Principat #> 799 la Vall d'en Bas Principat #> 800 la Vall de Bianya Principat #> 801 les Planes d'Hostoles Principat #> 802 les Preses Principat #> 803 Maià de Montcal Principat #> 804 Mieres Principat #> 805 Montagut i Oix Principat #> 806 Olot Principat #> 807 Riudaura Principat #> 808 Sales de Llierca Principat #> 809 Sant Aniol de Finestres Principat #> 810 Sant Feliu de Pallerols Principat #> 811 Sant Ferriol Principat #> 812 Sant Jaume de Llierca Principat #> 813 Sant Joan les Fonts Principat #> 814 Santa Pau Principat #> 815 Tortellà Principat #> 816 Aiguaviva Principat #> 817 Bescanó Principat #> 818 Bordils Principat #> 819 Campllong Principat #> 820 Canet d'Adri Principat #> 821 Cassà de la Selva Principat #> 822 Celrà Principat #> 823 Cervià de Ter Principat #> 824 Flaçà Principat #> 825 Fornells de la Selva Principat #> 826 Girona Principat #> 827 Juià Principat #> 828 Llagostera Principat #> 829 Llambilles Principat #> 830 Madremanya Principat #> 831 Quart Principat #> 832 Salt Principat #> 833 Sant Andreu Salou Principat #> 834 Sant Gregori Principat #> 835 Sant Joan de Mollet Principat #> 836 Sant Jordi Desvalls Principat #> 837 Sant Julià de Ramis Principat #> 838 Sant Martí de Llémena Principat #> 839 Sant Martí Vell Principat #> 840 Sarrià de Ter Principat #> 841 Vilablareix Principat #> 842 Viladasens Principat #> 843 Alpens Principat #> 844 Lluçà Principat #> 845 Olost Principat #> 846 Oristà Principat #> 847 Perafita Principat #> 848 Prats de Lluçanès Principat #> 849 Sant Martí d'Albars Principat #> 850 Sobremunt Principat #> 851 Alella Principat #> 852 Arenys de Mar Principat #> 853 Arenys de Munt Principat #> 854 Argentona Principat #> 855 Cabrera de Mar Principat #> 856 Cabrils Principat #> 857 Caldes d'Estrac Principat #> 858 Calella Principat #> 859 Canet de Mar Principat #> 860 Dosrius Principat #> 861 el Masnou Principat #> 862 Malgrat de Mar Principat #> 863 Mataró Principat #> 864 Montgat Principat #> 865 Òrrius Principat #> 866 Palafolls Principat #> 867 Pineda de Mar Principat #> 868 Premià de Dalt Principat #> 869 Premià de Mar Principat #> 870 Sant Andreu de Llavaneres Principat #> 871 Sant Cebrià de Vallalta Principat #> 872 Sant Iscle de Vallalta Principat #> 873 Sant Pol de Mar Principat #> 874 Sant Vicenç de Montalt Principat #> 875 Santa Susanna Principat #> 876 Teià Principat #> 877 Tiana Principat #> 878 Tordera Principat #> 879 Vilassar de Dalt Principat #> 880 Vilassar de Mar Principat #> 881 Calders Principat #> 882 Castellcir Principat #> 883 Castellterçol Principat #> 884 Collsuspina Principat #> 885 Granera Principat #> 886 l'Estany Principat #> 887 Moià Principat #> 888 Monistrol de Calders Principat #> 889 Sant Quirze Safaja Principat #> 890 Santa Maria d'Oló Principat #> 891 Alcanar Principat #> 892 Amposta Principat #> 893 Freginals Principat #> 894 Godall Principat #> 895 la Galera Principat #> 896 la Ràpita Principat #> 897 la Sénia Principat #> 898 Mas de Barberans Principat #> 899 Masdenverge Principat #> 900 Sant Jaume d'Enveja Principat #> 901 Santa Bàrbara Principat #> 902 Ulldecona Principat #> 903 Àger Principat #> 904 Albesa Principat #> 905 Algerri Principat #> 906 Alòs de Balaguer Principat #> 907 Artesa de Segre Principat #> 908 Balaguer Principat #> 909 Bellcaire d'Urgell Principat #> 910 Bellmunt d'Urgell Principat #> 911 Cabanabona Principat #> 912 Camarasa Principat #> 913 Castelló de Farfanya Principat #> 914 Cubells Principat #> 915 Foradada Principat #> 916 Ivars de Noguera Principat #> 917 la Baronia de Rialb Principat #> 918 la Sentiu de Sió Principat #> 919 les Avellanes i Santa Linya Principat #> 920 Menàrguens Principat #> 921 Montgai Principat #> 922 Oliola Principat #> 923 Os de Balaguer Principat #> 924 Penelles Principat #> 925 Ponts Principat #> 926 Preixens Principat #> 927 Térmens Principat #> 928 Tiurana Principat #> 929 Torrelameu Principat #> 930 Vallfogona de Balaguer Principat #> 931 Vilanova de l'Aguda Principat #> 932 Vilanova de Meià Principat #> 933 Balenyà Principat #> 934 Calldetenes Principat #> 935 Centelles Principat #> 936 el Brull Principat #> 937 Espinelves Principat #> 938 Folgueroles Principat #> 939 Gurb Principat #> 940 l'Esquirol Principat #> 941 les Masies de Roda Principat #> 942 les Masies de Voltregà Principat #> 943 Malla Principat #> 944 Manlleu Principat #> 945 Montesquiu Principat #> 946 Muntanyola Principat #> 947 Orís Principat #> 948 Roda de Ter Principat #> 949 Rupit i Pruit Principat #> 950 Sant Agustí de Lluçanès Principat #> 951 Sant Bartomeu del Grau Principat #> 952 Sant Boi de Lluçanès Principat #> 953 Sant Hipòlit de Voltregà Principat #> 954 Sant Julià de Vilatorta Principat #> 955 Sant Martí de Centelles Principat #> 956 Sant Pere de Torelló Principat #> 957 Sant Quirze de Besora Principat #> 958 Sant Sadurní d'Osormort Principat #> 959 Sant Vicenç de Torelló Principat #> 960 Santa Cecília de Voltregà Principat #> 961 Santa Eugènia de Berga Principat #> 962 Santa Eulàlia de Riuprimer Principat #> 963 Santa Maria de Besora Principat #> 964 Seva Principat #> 965 Sora Principat #> 966 Taradell Principat #> 967 Tavèrnoles Principat #> 968 Tavertet Principat #> 969 Tona Principat #> 970 Torelló Principat #> 971 Vic Principat #> 972 Vidrà Principat #> 973 Viladrau Principat #> 974 Vilanova de Sau Principat #> 975 Abella de la Conca Principat #> 976 Castell de Mur Principat #> 977 Conca de Dalt Principat #> 978 Gavet de la Conca Principat #> 979 Isona i Conca Dellà Principat #> 980 la Pobla de Segur Principat #> 981 la Torre de Cabdella Principat #> 982 Llimiana Principat #> 983 Salàs de Pallars Principat #> 984 Sant Esteve de la Sarga Principat #> 985 Sarroca de Bellera Principat #> 986 Senterada Principat #> 987 Talarn Principat #> 988 Tremp Principat #> 989 Alins Principat #> 990 Alt Àneu Principat #> 991 Baix Pallars Principat #> 992 Espot Principat #> 993 Esterri d'Àneu Principat #> 994 Esterri de Cardós Principat #> 995 Farrera Principat #> 996 la Guingueta d'Àneu Principat #> 997 Lladorre Principat #> 998 Llavorsí Principat #> 999 Rialb Principat #> 1000 Soriguera Principat #> 1001 Sort Principat #> 1002 Tírvia Principat #> 1003 Vall de Cardós Principat #> 1004 Barbens Principat #> 1005 Bell-lloc d'Urgell Principat #> 1006 Bellvís Principat #> 1007 Castellnou de Seana Principat #> 1008 el Palau d'Anglesola Principat #> 1009 el Poal Principat #> 1010 Fondarella Principat #> 1011 Golmés Principat #> 1012 Ivars d'Urgell Principat #> 1013 Linyola Principat #> 1014 Miralcamp Principat #> 1015 Mollerussa Principat #> 1016 Sidamon Principat #> 1017 Torregrossa Principat #> 1018 Vila-sana Principat #> 1019 Vilanova de Bellpuig Principat #> 1020 Banyoles Principat #> 1021 Camós Principat #> 1022 Cornellà del Terri Principat #> 1023 Crespià Principat #> 1024 Esponellà Principat #> 1025 Fontcoberta Principat #> 1026 Palol de Revardit Principat #> 1027 Porqueres Principat #> 1028 Sant Miquel de Campmajor Principat #> 1029 Serinyà Principat #> 1030 Vilademuls Principat #> 1031 Bellmunt del Priorat Principat #> 1032 Cabassers Principat #> 1033 Capçanes Principat #> 1034 Cornudella de Montsant Principat #> 1035 el Lloar Principat #> 1036 el Masroig Principat #> 1037 el Molar Principat #> 1038 els Guiamets Principat #> 1039 Falset Principat #> 1040 Gratallops Principat #> 1041 la Bisbal de Montsant Principat #> 1042 la Figuera Principat #> 1043 la Morera de Montsant Principat #> 1044 la Torre de Fontaubella Principat #> 1045 la Vilella Alta Principat #> 1046 la Vilella Baixa Principat #> 1047 Marçà Principat #> 1048 Margalef Principat #> 1049 Poboleda Principat #> 1050 Porrera Principat #> 1051 Pradell de la Teixeta Principat #> 1052 Torroja del Priorat Principat #> 1053 Ulldemolins Principat #> 1054 Ascó Principat #> 1055 Benissanet Principat #> 1056 Flix Principat #> 1057 Garcia Principat #> 1058 Ginestar Principat #> 1059 la Palma d'Ebre Principat #> 1060 la Torre de l'Espanyol Principat #> 1061 Miravet Principat #> 1062 Móra d'Ebre Principat #> 1063 Móra la Nova Principat #> 1064 Rasquera Principat #> 1065 Riba-roja d'Ebre Principat #> 1066 Tivissa Principat #> 1067 Vinebre Principat #> 1068 Campdevànol Principat #> 1069 Campelles Principat #> 1070 Camprodon Principat #> 1071 Gombrèn Principat #> 1072 les Llosses Principat #> 1073 Llanars Principat #> 1074 Molló Principat #> 1075 Ogassa Principat #> 1076 Pardines Principat #> 1077 Planoles Principat #> 1078 Queralbs Principat #> 1079 Ribes de Freser Principat #> 1080 Ripoll Principat #> 1081 Sant Joan de les Abadesses Principat #> 1082 Sant Pau de Segúries Principat #> 1083 Setcases Principat #> 1084 Toses Principat #> 1085 Vallfogona de Ripollès Principat #> 1086 Vilallonga de Ter Principat #> 1087 Biosca Principat #> 1088 Cervera Principat #> 1089 els Plans de Sió Principat #> 1090 Estaràs Principat #> 1091 Granyanella Principat #> 1092 Granyena de Segarra Principat #> 1093 Guissona Principat #> 1094 Ivorra Principat #> 1095 les Oluges Principat #> 1096 Massoteres Principat #> 1097 Montoliu de Segarra Principat #> 1098 Montornès de Segarra Principat #> 1099 Ribera d'Ondara Principat #> 1100 Sanaüja Principat #> 1101 Sant Guim de Freixenet Principat #> 1102 Sant Guim de la Plana Principat #> 1103 Sant Ramon Principat #> 1104 Talavera Principat #> 1105 Tarroja de Segarra Principat #> 1106 Torà Principat #> 1107 Torrefeta i Florejacs Principat #> 1108 Aitona Principat #> 1109 Albatàrrec Principat #> 1110 Alcanó Principat #> 1111 Alcarràs Principat #> 1112 Alcoletge Principat #> 1113 Alfarràs Principat #> 1114 Alfés Principat #> 1115 Alguaire Principat #> 1116 Almacelles Principat #> 1117 Almatret Principat #> 1118 Almenar Principat #> 1119 Alpicat Principat #> 1120 Artesa de Lleida Principat #> 1121 Aspa Principat #> 1122 Benavent de Segrià Principat #> 1123 Corbins Principat #> 1124 els Alamús Principat #> 1125 Gimenells i el Pla de la Font Principat #> 1126 la Granja d'Escarp Principat #> 1127 la Portella Principat #> 1128 Llardecans Principat #> 1129 Lleida Principat #> 1130 Maials Principat #> 1131 Massalcoreig Principat #> 1132 Montoliu de Lleida Principat #> 1133 Puigverd de Lleida Principat #> 1134 Rosselló Principat #> 1135 Sarroca de Lleida Principat #> 1136 Seròs Principat #> 1137 Soses Principat #> 1138 Sudanell Principat #> 1139 Sunyer Principat #> 1140 Torre-serona Principat #> 1141 Torrebesses Principat #> 1142 Torrefarrera Principat #> 1143 Torres de Segre Principat #> 1144 Vilanova de la Barca Principat #> 1145 Vilanova de Segrià Principat #> 1146 Amer Principat #> 1147 Anglès Principat #> 1148 Arbúcies Principat #> 1149 Blanes Principat #> 1150 Breda Principat #> 1151 Brunyola i Sant Martí Sapresa Principat #> 1152 Caldes de Malavella Principat #> 1153 Fogars de la Selva Principat #> 1154 Hostalric Principat #> 1155 la Cellera de Ter Principat #> 1156 Lloret de Mar Principat #> 1157 Maçanes Principat #> 1158 Maçanet de la Selva Principat #> 1159 Osor Principat #> 1160 Riells i Viabrea Principat #> 1161 Riudarenes Principat #> 1162 Riudellots de la Selva Principat #> 1163 Sant Feliu de Buixalleu Principat #> 1164 Sant Hilari Sacalm Principat #> 1165 Sant Julià del Llor i Bonmatí Principat #> 1166 Santa Coloma de Farners Principat #> 1167 Sils Principat #> 1168 Susqueda Principat #> 1169 Tossa de Mar Principat #> 1170 Vidreres Principat #> 1171 Vilobí d'Onyar Principat #> 1172 Castellar de la Ribera Principat #> 1173 Clariana de Cardener Principat #> 1174 Guixers Principat #> 1175 la Coma i la Pedra Principat #> 1176 la Molsosa Principat #> 1177 Lladurs Principat #> 1178 Llobera Principat #> 1179 Navès Principat #> 1180 Odèn Principat #> 1181 Olius Principat #> 1182 Pinell de Solsonès Principat #> 1183 Pinós Principat #> 1184 Riner Principat #> 1185 Sant Llorenç de Morunys Principat #> 1186 Solsona Principat #> 1187 Altafulla Principat #> 1188 Constantí Principat #> 1189 Creixell Principat #> 1190 el Catllar Principat #> 1191 el Morell Principat #> 1192 els Pallaresos Principat #> 1193 la Canonja Principat #> 1194 la Nou de Gaià Principat #> 1195 la Pobla de Mafumet Principat #> 1196 la Pobla de Montornès Principat #> 1197 la Riera de Gaià Principat #> 1198 la Secuita Principat #> 1199 Perafort Principat #> 1200 Renau Principat #> 1201 Roda de Berà Principat #> 1202 Salomó Principat #> 1203 Salou Principat #> 1204 Tarragona Principat #> 1205 Torredembarra Principat #> 1206 Vespella de Gaià Principat #> 1207 Vila-seca Principat #> 1208 Vilallonga del Camp Principat #> 1209 Arnes Principat #> 1210 Batea Principat #> 1211 Bot Principat #> 1212 Caseres Principat #> 1213 Corbera d'Ebre Principat #> 1214 el Pinell de Brai Principat #> 1215 Gandesa Principat #> 1216 Horta de Sant Joan Principat #> 1217 la Fatarella Principat #> 1218 la Pobla de Massaluca Principat #> 1219 Prat de Comte Principat #> 1220 Vilalba dels Arcs Principat #> 1221 Agramunt Principat #> 1222 Anglesola Principat #> 1223 Belianes Principat #> 1224 Bellpuig Principat #> 1225 Castellserà Principat #> 1226 Ciutadilla Principat #> 1227 els Omells de na Gaia Principat #> 1228 Guimerà Principat #> 1229 la Fuliola Principat #> 1230 Maldà Principat #> 1231 Nalec Principat #> 1232 Ossó de Sió Principat #> 1233 Preixana Principat #> 1234 Puigverd d'Agramunt Principat #> 1235 Sant Martí de Riucorb Principat #> 1236 Tàrrega Principat #> 1237 Tornabous Principat #> 1238 Vallbona de les Monges Principat #> 1239 Verdú Principat #> 1240 Vilagrassa Principat #> 1241 Badia del Vallès Principat #> 1242 Barberà del Vallès Principat #> 1243 Castellar del Vallès Principat #> 1244 Castellbisbal Principat #> 1245 Cerdanyola del Vallès Principat #> 1246 Gallifa Principat #> 1247 Matadepera Principat #> 1248 Montcada i Reixac Principat #> 1249 Palau-solità i Plegamans Principat #> 1250 Polinyà Principat #> 1251 Rellinars Principat #> 1252 Ripollet Principat #> 1253 Rubí Principat #> 1254 Sabadell Principat #> 1255 Sant Cugat del Vallès Principat #> 1256 Sant Llorenç Savall Principat #> 1257 Sant Quirze del Vallès Principat #> 1258 Santa Perpètua de Mogoda Principat #> 1259 Sentmenat Principat #> 1260 Terrassa Principat #> 1261 Ullastrell Principat #> 1262 Vacarisses Principat #> 1263 Viladecavalls Principat #> 1264 Aiguafreda Principat #> 1265 Bigues i Riells del Fai Principat #> 1266 Caldes de Montbui Principat #> 1267 Campins Principat #> 1268 Canovelles Principat #> 1269 Cànoves i Samalús Principat #> 1270 Cardedeu Principat #> 1271 el Figueró i Montmany Principat #> 1272 Fogars de Montclús Principat #> 1273 Granollers Principat #> 1274 Gualba Principat #> 1275 l'Ametlla del Vallès Principat #> 1276 la Garriga Principat #> 1277 la Llagosta Principat #> 1278 la Roca del Vallès Principat #> 1279 les Franqueses del Vallès Principat #> 1280 Lliçà d'Amunt Principat #> 1281 Lliçà de Vall Principat #> 1282 Llinars del Vallès Principat #> 1283 Martorelles Principat #> 1284 Mollet del Vallès Principat #> 1285 Montmeló Principat #> 1286 Montornès del Vallès Principat #> 1287 Montseny Principat #> 1288 Parets del Vallès Principat #> 1289 Sant Antoni de Vilamajor Principat #> 1290 Sant Celoni Principat #> 1291 Sant Esteve de Palautordera Principat #> 1292 Sant Feliu de Codines Principat #> 1293 Sant Fost de Campsentelles Principat #> 1294 Sant Pere de Vilamajor Principat #> 1295 Santa Eulàlia de Ronçana Principat #> 1296 Santa Maria de Martorelles Principat #> 1297 Santa Maria de Palautordera Principat #> 1298 Tagamanent Principat #> 1299 Vallgorguina Principat #> 1300 Vallromanes Principat #> 1301 Vilalba Sasserra Principat #> 1302 Vilanova del Vallès Principat #> 1303 València PV #> 1304 Alcalà de Xivert PV #> 1305 Benicarló PV #> 1306 Càlig PV #> 1307 Canet lo Roig PV #> 1308 Castell de Cabres PV #> 1309 Cervera del Maestrat PV #> 1310 la Jana PV #> 1311 la Pobla de Benifassà PV #> 1312 la Salzadella PV #> 1313 Peníscola PV #> 1314 Rossell PV #> 1315 Sant Jordi PV #> 1316 Sant Mateu PV #> 1317 Sant Rafel del Riu PV #> 1318 Santa Magdalena de Polpís PV #> 1319 Traiguera PV #> 1320 Vinaròs PV #> 1321 Xert PV #> 1322 Guardamar del Segura PV #> 1323 Crevillent PV #> 1324 Elx PV #> 1325 Santa Pola PV #> 1326 Albalat dels Tarongers PV #> 1327 Alfara de la Baronia PV #> 1328 Algar de Palància PV #> 1329 Algímia d'Alfara PV #> 1330 Benavites PV #> 1331 Benifairó de les Valls PV #> 1332 Canet d'en Berenguer PV #> 1333 Estivella PV #> 1334 Faura PV #> 1335 Gilet PV #> 1336 Petrés PV #> 1337 Quart de les Valls PV #> 1338 Quartell PV #> 1339 Sagunt PV #> 1340 Segart PV #> 1341 Torres Torres PV #> 1342 Benaguasil PV #> 1343 Benissanó PV #> 1344 Bétera PV #> 1345 Casinos PV #> 1346 l'Eliana PV #> 1347 la Pobla de Vallbona PV #> 1348 Llíria PV #> 1349 Nàquera PV #> 1350 Olocau PV #> 1351 Riba-roja de Túria PV #> 1352 Serra PV #> 1353 Vilamarxant PV #> 1354 Agres PV #> 1355 Alcoleja PV #> 1356 Alcosser PV #> 1357 Alfafara PV #> 1358 Almudaina PV #> 1359 Balones PV #> 1360 Benasau PV #> 1361 Beniarrés PV #> 1362 Benilloba PV #> 1363 Benillup PV #> 1364 Benimarfull PV #> 1365 Benimassot PV #> 1366 Cocentaina PV #> 1367 Fageca PV #> 1368 Famorca PV #> 1369 Gaianes PV #> 1370 Gorga PV #> 1371 l'Alqueria d'Asnar PV #> 1372 l'Orxa PV #> 1373 Millena PV #> 1374 Muro d'Alcoi PV #> 1375 Planes PV #> 1376 Quatretondeta PV #> 1377 Tollos PV #> 1378 el Fondó de les Neus PV #> 1379 el Fondó dels Frares PV #> 1380 el Pinós PV #> 1381 l'Alguenya PV #> 1382 la Romana PV #> 1383 Monòver PV #> 1384 Novelda PV #> 1385 Petrer PV #> 1386 Castellfort PV #> 1387 Cinctorres PV #> 1388 el Forcall PV #> 1389 Herbers PV #> 1390 la Mata de Morella PV #> 1391 la Todolella PV #> 1392 Morella PV #> 1393 Palanques PV #> 1394 Portell de Morella PV #> 1395 Sorita PV #> 1396 Vallibona PV #> 1397 Vilafranca PV #> 1398 Villores PV #> 1399 Agost PV #> 1400 Aigües PV #> 1401 Alacant PV #> 1402 Busot PV #> 1403 el Campello PV #> 1404 la Torre de les Maçanes PV #> 1405 Mutxamel PV #> 1406 Sant Joan d'Alacant PV #> 1407 Sant Vicent del Raspeig PV #> 1408 Xixona PV #> 1409 Costur PV #> 1410 Figueroles PV #> 1411 l'Alcora PV #> 1412 les Useres PV #> 1413 Llucena PV #> 1414 Vistabella del Maestrat PV #> 1415 Xodos PV #> 1416 Alcoi PV #> 1417 Banyeres de Mariola PV #> 1418 Benifallim PV #> 1419 Castalla PV #> 1420 Ibi PV #> 1421 Onil PV #> 1422 Penàguila PV #> 1423 Tibi PV #> 1424 Albocàsser PV #> 1425 Ares del Maestrat PV #> 1426 Atzeneta del Maestrat PV #> 1427 Benafigos PV #> 1428 Benassal PV #> 1429 Catí PV #> 1430 Culla PV #> 1431 la Serratella PV #> 1432 la Torre d'en Besora PV #> 1433 Tírig PV #> 1434 Vilar de Canes PV #> 1435 Beneixama PV #> 1436 Biar PV #> 1437 el Camp de Mirra PV #> 1438 la Canyada PV #> 1439 Albalat dels Sorells PV #> 1440 Alboraia PV #> 1441 Albuixec PV #> 1442 Alfara del Patriarca PV #> 1443 Almàssera PV #> 1444 Bonrepòs i Mirambell PV #> 1445 Burjassot PV #> 1446 el Puig de Santa Maria PV #> 1447 Emperador PV #> 1448 Foios PV #> 1449 Godella PV #> 1450 la Pobla de Farnals PV #> 1451 Massalfassar PV #> 1452 Massamagrell PV #> 1453 Meliana PV #> 1454 Montcada PV #> 1455 Museros PV #> 1456 Paterna PV #> 1457 Puçol PV #> 1458 Rafelbunyol PV #> 1459 Rocafort PV #> 1460 Tavernes Blanques PV #> 1461 Vinalesa PV #> 1462 Alaquàs PV #> 1463 Albal PV #> 1464 Alcàsser PV #> 1465 Aldaia PV #> 1466 Alfafar PV #> 1467 Benetússer PV #> 1468 Beniparrell PV #> 1469 Catarroja PV #> 1470 Llocnou de la Corona PV #> 1471 Manises PV #> 1472 Massanassa PV #> 1473 Mislata PV #> 1474 Paiporta PV #> 1475 Picanya PV #> 1476 Picassent PV #> 1477 Quart de Poblet PV #> 1478 Sedaví PV #> 1479 Silla PV #> 1480 Torrent PV #> 1481 Xirivella PV #> 1482 Barxeta PV #> 1483 Canals PV #> 1484 Cerdà PV #> 1485 el Genovés PV #> 1486 Estubeny PV #> 1487 l'Alcúdia de Crespins PV #> 1488 la Font de la Figuera PV #> 1489 la Granja de la Costera PV #> 1490 la Llosa de Ranes PV #> 1491 Llanera de Ranes PV #> 1492 Llocnou d'en Fenollet PV #> 1493 Moixent PV #> 1494 Montesa PV #> 1495 Novetlè PV #> 1496 Rotglà i Corberà PV #> 1497 Torrella PV #> 1498 Vallada PV #> 1499 Vallés PV #> 1500 Xàtiva PV #> 1501 Alcalalí PV #> 1502 Beniarbeig PV #> 1503 Benidoleig PV #> 1504 Benigembla PV #> 1505 Benimeli PV #> 1506 Benissa PV #> 1507 Calp PV #> 1508 Castell de Castells PV #> 1509 Dénia PV #> 1510 el Poble Nou de Benitatxell PV #> 1511 el Ràfol d'Almúnia PV #> 1512 el Verger PV #> 1513 els Poblets PV #> 1514 Gata de Gorgos PV #> 1515 l'Atzúbia PV #> 1516 la Vall d'Alcalà PV #> 1517 la Vall d'Ebo PV #> 1518 la Vall de Gallinera PV #> 1519 la Vall de Laguar PV #> 1520 Llíber PV #> 1521 Murla PV #> 1522 Ondara PV #> 1523 Orba PV #> 1524 Parcent PV #> 1525 Pedreguer PV #> 1526 Pego PV #> 1527 Sagra PV #> 1528 Sanet i els Negrals PV #> 1529 Senija PV #> 1530 Teulada PV #> 1531 Tormos PV #> 1532 Xàbia PV #> 1533 Xaló PV #> 1534 Altea PV #> 1535 Beniardà PV #> 1536 Benidorm PV #> 1537 Benifato PV #> 1538 Benimantell PV #> 1539 Bolulla PV #> 1540 Callosa d'en Sarrià PV #> 1541 Confrides PV #> 1542 el Castell de Guadalest PV #> 1543 Finestrat PV #> 1544 l'Alfàs del Pi PV #> 1545 la Nucia PV #> 1546 la Vila Joiosa PV #> 1547 Orxeta PV #> 1548 Polop PV #> 1549 Relleu PV #> 1550 Sella PV #> 1551 Tàrbena PV #> 1552 Almassora PV #> 1553 Benicàssim PV #> 1554 Benlloc PV #> 1555 Borriol PV #> 1556 Cabanes PV #> 1557 Castelló de la Plana PV #> 1558 la Pobla Tornesa PV #> 1559 la Serra d'en Galceran PV #> 1560 la Torre d'en Doménec PV #> 1561 la Vall d'Alba PV #> 1562 les Coves de Vinromà PV #> 1563 Orpesa PV #> 1564 Sant Joan de Moró PV #> 1565 Torreblanca PV #> 1566 Vilafamés PV #> 1567 Vilanova d'Alcolea PV #> 1568 Aín PV #> 1569 Alfondeguilla PV #> 1570 Almenara PV #> 1571 Artana PV #> 1572 Betxí PV #> 1573 Borriana PV #> 1574 Eslida PV #> 1575 l'Alcúdia de Veo PV #> 1576 la Llosa PV #> 1577 la Vall d'Uixó PV #> 1578 la Vilavella PV #> 1579 les Alqueries PV #> 1580 Moncofa PV #> 1581 Nules PV #> 1582 Onda PV #> 1583 Ribesalbes PV #> 1584 Suera PV #> 1585 Tales PV #> 1586 Vila-real PV #> 1587 Xilxes PV #> 1588 Alberic PV #> 1589 Alcàntera de Xúquer PV #> 1590 Alfarb PV #> 1591 Algemesí PV #> 1592 Alginet PV #> 1593 Alzira PV #> 1594 Antella PV #> 1595 Beneixida PV #> 1596 Benifaió PV #> 1597 Benimodo PV #> 1598 Benimuslem PV #> 1599 Carcaixent PV #> 1600 Càrcer PV #> 1601 Carlet PV #> 1602 Castelló PV #> 1603 Catadau PV #> 1604 Cotes PV #> 1605 Gavarda PV #> 1606 Guadassuar PV #> 1607 l'Alcúdia PV #> 1608 l'Énova PV #> 1609 la Pobla Llarga PV #> 1610 Llombai PV #> 1611 Manuel PV #> 1612 Massalavés PV #> 1613 Montroi PV #> 1614 Montserrat PV #> 1615 Rafelguaraf PV #> 1616 Real PV #> 1617 Sant Joanet PV #> 1618 Sellent PV #> 1619 Senyera PV #> 1620 Sumacàrcer PV #> 1621 Torís PV #> 1622 Albalat de la Ribera PV #> 1623 Almussafes PV #> 1624 Benicull de Xúquer PV #> 1625 Corbera PV #> 1626 Cullera PV #> 1627 Favara PV #> 1628 Fortaleny PV #> 1629 Llaurí PV #> 1630 Polinyà de Xúquer PV #> 1631 Riola PV #> 1632 Sollana PV #> 1633 Sueca PV #> 1634 Ador PV #> 1635 Alfauir PV #> 1636 Almiserà PV #> 1637 Almoines PV #> 1638 Barx PV #> 1639 Bellreguard PV #> 1640 Beniarjó PV #> 1641 Benifairó de la Valldigna PV #> 1642 Beniflà PV #> 1643 Benirredrà PV #> 1644 Castellonet de la Conquesta PV #> 1645 Daimús PV #> 1646 el Real de Gandia PV #> 1647 Gandia PV #> 1648 Guardamar de la Safor PV #> 1649 l'Alqueria de la Comtessa PV #> 1650 la Font d'en Carròs PV #> 1651 Llocnou de Sant Jeroni PV #> 1652 Miramar PV #> 1653 Oliva PV #> 1654 Palma de Gandia PV #> 1655 Palmera PV #> 1656 Piles PV #> 1657 Potries PV #> 1658 Rafelcofer PV #> 1659 Ròtova PV #> 1660 Simat de la Valldigna PV #> 1661 Tavernes de la Valldigna PV #> 1662 Vilallonga PV #> 1663 Xeraco PV #> 1664 Xeresa PV #> 1665 Agullent PV #> 1666 Aielo de Malferit PV #> 1667 Aielo de Rugat PV #> 1668 Albaida PV #> 1669 Alfarrasí PV #> 1670 Atzeneta d'Albaida PV #> 1671 Bèlgida PV #> 1672 Bellús PV #> 1673 Beniatjar PV #> 1674 Benicolet PV #> 1675 Benigànim PV #> 1676 Benissoda PV #> 1677 Benissuera PV #> 1678 Bocairent PV #> 1679 Bufali PV #> 1680 Carrícola PV #> 1681 Castelló de Rugat PV #> 1682 el Palomar PV #> 1683 el Ràfol de Salem PV #> 1684 Fontanars dels Alforins PV #> 1685 Guadasséquies PV #> 1686 l'Olleria PV #> 1687 la Pobla del Duc PV #> 1688 Llutxent PV #> 1689 Montaverner PV #> 1690 Montitxelvo PV #> 1691 Ontinyent PV #> 1692 Otos PV #> 1693 Pinet PV #> 1694 Quatretonda PV #> 1695 Rugat PV #> 1696 Salem PV #> 1697 Sempere PV #> 1698 Terrateig PV #> 1699 l'Alguer Sardenya #> name #> 1 Naut Aran #> 2 Arres #> 3 Bausen #> 4 Bossòst #> 5 Canejan #> 6 Es Bòrdes #> 7 Les #> 8 Vielha e Mijaran #> 9 Vilamòs #> 10 Angoustrine-Villeneuve-des-Escaldes #> 11 Bolquère #> 12 Dorres #> 13 Égat #> 14 Eyne #> 15 Enveitg #> 16 Err #> 17 Estavar #> 18 Font-Romeu-Odeillo-Via #> 19 La Cabanasse #> 20 Bourg-Madame #> 21 Latour-de-Carol #> 22 Llo #> 23 Mont-Louis #> 24 Nahuja #> 25 Osséja #> 26 Palau-de-Cerdagne #> 27 Porta #> 28 Porté-Puymorens #> 29 Saillagouse #> 30 Sainte-Léocadie #> 31 Targasonne #> 32 Ur #> 33 Valcebollère #> 34 Les Angles #> 35 Fontrabiouse #> 36 Formiguères #> 37 Matemale #> 38 Puyvalador #> 39 Réal #> 40 Ayguatébia-Talau #> 41 Arboussols #> 42 Campôme #> 43 Canaveilles #> 44 Casteil #> 45 Catllar #> 46 Caudiès-de-Conflent #> 47 Sansa #> 48 Clara-Villerach #> 49 Codalet #> 50 Conat #> 51 Corneilla-de-Conflent #> 52 Escaro #> 53 Espira-de-Conflent #> 54 Estoher #> 55 Eus #> 56 Fillols #> 57 Finestret #> 58 Fontpédrouse #> 59 Fuilla #> 60 Glorianes #> 61 Joch #> 62 Jujols #> 63 La Bastide #> 64 La Llagonne #> 65 Los Masos #> 66 Marquixanes #> 67 Mantet #> 68 Molitg-les-Bains #> 69 Mosset #> 70 Nohèdes #> 71 Nyer #> 72 Olette #> 73 Urbanya #> 74 Oreilla #> 75 Py #> 76 Planès #> 77 Prades #> 78 Railleu #> 79 Ria-Sirach #> 80 Rigarda #> 81 Rodès #> 82 Saint-Marsal #> 83 Saint-Pierre-dels-Forcats #> 84 Sahorre #> 85 Sauto #> 86 Serdinya #> 87 Souanyas #> 88 Tarerach #> 89 Taurinya #> 90 Thuès-Entre-Valls #> 91 Baillestavy #> 92 Valmanya #> 93 Vernet-les-Bains #> 94 Villefranche-de-Conflent #> 95 Vinça #> 96 Ansignan #> 97 Bélesta #> 98 Campoussy #> 99 Caramany #> 100 Cassagnes #> 101 Caudiès-de-Fenouillèdes #> 102 Saint-Arnac #> 103 Le Vivier #> 104 Feilluns #> 105 Fenouillet #> 106 Fosse #> 107 Lesquerde #> 108 Latour-de-France #> 109 Lansac #> 110 Maury #> 111 Montalba-le-Château #> 112 Pézilla-de-Conflent #> 113 Planèzes #> 114 Prats-de-Sournia #> 115 Prugnanes #> 116 Rasiguères #> 117 Rabouillet #> 118 Saint-Martin-de-Fenouillet #> 119 Saint-Paul-de-Fenouillet #> 120 Sournia #> 121 Trévillach #> 122 Trilla #> 123 Vira #> 124 Alénya #> 125 Argelès-sur-Mer #> 126 Bages #> 127 Baixas #> 128 Banyuls-sur-Mer #> 129 Banyuls-dels-Aspres #> 130 Baho #> 131 Bompas #> 132 Brouilla #> 133 Boule-d'Amont #> 134 Bouleternère #> 135 Cabestany #> 136 Calce #> 137 Calmeilles #> 138 Camélas #> 139 Canet-en-Roussillon #> 140 Canohès #> 141 Casefabre #> 142 Cases-de-Pène #> 143 Castelnou #> 144 Cerbère #> 145 Claira #> 146 Corbère #> 147 Corneilla-la-Rivière #> 148 Corneilla-del-Vercol #> 149 Collioure #> 150 Le Barcarès #> 151 Le Soler #> 152 Le Boulou #> 153 Elne #> 154 Espira-de-l'Agly #> 155 Estagel #> 156 Fourques #> 157 Ille-sur-Têt #> 158 Corbère-les-Cabanes #> 159 Laroque-des-Albères #> 160 Latour-Bas-Elne #> 161 Llauro #> 162 Llupia #> 163 Millas #> 164 Montescot #> 165 Montesquieu-des-Albères #> 166 Montner #> 167 Montauriol #> 168 Néfiach #> 169 Oms #> 170 Opoul-Périllos #> 171 Ortaffa #> 172 Passa #> 173 Palau-del-Vidre #> 174 Peyrestortes #> 175 Perpignan #> 176 Pézilla-la-Rivière #> 177 Pia #> 178 Pollestres #> 179 Ponteilla #> 180 Port-Vendres #> 181 Prunet-et-Belpuig #> 182 Caixas #> 183 Rivesaltes #> 184 Saleilles #> 185 Salses-le-Château #> 186 Saint-André #> 187 Saint-Cyprien #> 188 Saint-Estève #> 189 Saint-Féliu-d'Amont #> 190 Saint-Féliu-d'Avall #> 191 Saint-Génis-des-Fontaines #> 192 Saint-Hippolyte #> 193 Saint-Jean-Lasseille #> 194 Saint-Laurent-de-la-Salanque #> 195 Saint-Michel-de-Llotes #> 196 Saint-Nazaire #> 197 Sainte-Colombe-de-la-Commanderie #> 198 Sainte-Marie-la-Mer #> 199 Sorède #> 200 Tautavel #> 201 Terrats #> 202 Théza #> 203 Toulouges #> 204 Tordères #> 205 Torreilles #> 206 Tresserre #> 207 Trouillas #> 208 Thuir #> 209 Villelongue-de-la-Salanque #> 210 Villelongue-dels-Monts #> 211 Villemolaque #> 212 Villeneuve-la-Rivière #> 213 Villeneuve-de-la-Raho #> 214 Vingrau #> 215 Arles-sur-Tech #> 216 Céret #> 217 Corsavy #> 218 Coustouges #> 219 Le Perthus #> 220 Le Tech #> 221 Amélie-les-Bains-Palalda #> 222 L'Albère #> 223 Lamanère #> 224 Les Cluses #> 225 Montbolo #> 226 Montferrer #> 227 Maureillas-las-Illas #> 228 Prats-de-Mollo-la-Preste #> 229 Reynès #> 230 Saint-Jean-Pla-de-Corts #> 231 Saint-Laurent-de-Cerdans #> 232 Serralongue #> 233 Taillet #> 234 Taulis #> 235 Vivès #> 236 Aguaviva / Aiguaviva de Bergantes #> 237 Belmonte de San José / Bellmunt de Mesquí #> 238 La Cañada de Verich / la Canyada de Beric #> 239 La Codoñera / la Codonyera #> 240 La Ginebrosa / la Ginebrosa #> 241 La Cerollera / la Sorollera #> 242 Torrevelilla / Torre de Vilella #> 243 Fayón / Faió #> 244 Fabara / Favara #> 245 Maella #> 246 Nonaspe / Nonasp #> 247 Fraga #> 248 Mequinenza / Mequinensa #> 249 Zaidín / Saidí #> 250 Torrente de Cinca / Torrent de Cinca #> 251 Velilla de Cinca #> 252 Albelda #> 253 Baells #> 254 Camporrells #> 255 Castillonroy / Castellonroi #> 256 Alcampell / el Campell #> 257 Altorricón / el Torricó #> 258 Peralta de Calasanz #> 259 San Esteban de Litera / Sant Esteve de Llitera #> 260 Azanuy-Alins #> 261 Tamarite de Litera / Tamarit de Llitera #> 262 Baldellou / Valdellou #> 263 Vencillón / Vensilló #> 264 Arens de Lledó / Arenys de Lledó #> 265 Beceite / Beseit #> 266 Calaceite / Calaceit #> 267 Fuentespalda / Fontdespatla #> 268 Fórnoles / Fórnols #> 269 La Fresneda / la Freixneda #> 270 La Portellada #> 271 Torre del Compte / la Torre del Comte #> 272 Valdeltormo / la Vall del Tormo #> 273 Lledó / Lledó d'Algars #> 274 Mazaleón / Massalió #> 275 Monroyo / Montroig #> 276 Peñarroya de Tastavins / Pena-roja de Tastavins #> 277 Cretas / Queretes #> 278 Ráfales / Ràfels #> 279 Torre de Arcas / Torredarques #> 280 Valderrobres / Vall de Roures #> 281 Valjunquera / Valljunquera #> 282 Arén / Areny de Noguera #> 283 Benabarre / Benavarri #> 284 Beranuy #> 285 Bonansa #> 286 Castigaleu #> 287 Estopiñán del Castillo / Estopanyà #> 288 Isábena #> 289 Lascuarre / Lasquarri #> 290 Laspaúles / Les Paüls #> 291 Monesma y Cajigar / Monesma i Caixigar #> 292 Montanuy / Montanui #> 293 Puente de Montañana / Pont de Montanyana #> 294 Sopeira #> 295 Tolva / Tolba #> 296 Torre la Ribera #> 297 Viacamp y Litera/Viacamp i Lliterà #> 298 Eivissa #> 299 Sant Antoni de Portmany #> 300 Sant Joan de Labritja #> 301 Sant Josep de sa Talaia #> 302 Santa Eulària des Riu #> 303 Formentera #> 304 Artà #> 305 Capdepera #> 306 Manacor #> 307 Sant Llorenç des Cardassar #> 308 Son Servera #> 309 Alaior #> 310 Ciutadella #> 311 es Castell #> 312 es Mercadal #> 313 es Migjorn Gran #> 314 Ferreries #> 315 Maó #> 316 Sant Lluís #> 317 Campos #> 318 Felanitx #> 319 Llucmajor #> 320 Santanyí #> 321 ses Salines #> 322 Palma #> 323 Algaida #> 324 Ariany #> 325 Costitx #> 326 Lloret de Vistalegre #> 327 Llubí #> 328 Maria de la Salut #> 329 Montuïri #> 330 Muro #> 331 Petra #> 332 Porreres #> 333 Sant Joan #> 334 Santa Eugènia #> 335 Santa Margalida #> 336 Sencelles #> 337 Sineu #> 338 Vilafranca de Bonany #> 339 Alaró #> 340 Alcúdia #> 341 Binissalem #> 342 Búger #> 343 Campanet #> 344 Consell #> 345 Inca #> 346 Lloseta #> 347 Mancor de la Vall #> 348 Marratxí #> 349 sa Pobla #> 350 Santa Maria del Camí #> 351 Selva #> 352 Andratx #> 353 Banyalbufar #> 354 Bunyola #> 355 Calvià #> 356 Deià #> 357 Escorca #> 358 Esporles #> 359 Estellencs #> 360 Fornalutx #> 361 Pollença #> 362 Puigpunyent #> 363 Sóller #> 364 Valldemossa #> 365 Aiguamúrcia #> 366 Alcover #> 367 Alió #> 368 Bràfim #> 369 Cabra del Camp #> 370 el Milà #> 371 el Pla de Santa Maria #> 372 el Pont d'Armentera #> 373 el Rourell #> 374 els Garidells #> 375 Figuerola del Camp #> 376 la Masó #> 377 la Riba #> 378 Mont-ral #> 379 Montferri #> 380 Nulles #> 381 Puigpelat #> 382 Querol #> 383 Rodonyà #> 384 Vallmoll #> 385 Valls #> 386 Vila-rodona #> 387 Vilabella #> 388 Agullana #> 389 Albanyà #> 390 Avinyonet de Puigventós #> 391 Bàscara #> 392 Biure #> 393 Boadella i les Escaules #> 394 Borrassà #> 395 Cabanelles #> 396 Cabanes #> 397 Cadaqués #> 398 Capmany #> 399 Cantallops #> 400 Castelló d'Empúries #> 401 Cistella #> 402 Colera #> 403 Darnius #> 404 el Far d'Empordà #> 405 el Port de la Selva #> 406 Espolla #> 407 Figueres #> 408 Fortià #> 409 Garrigàs #> 410 Garriguella #> 411 l'Armentera #> 412 l'Escala #> 413 la Jonquera #> 414 la Selva de Mar #> 415 la Vajol #> 416 Llançà #> 417 Lladó #> 418 Llers #> 419 Maçanet de Cabrenys #> 420 Masarac i Vilarnadal #> 421 Mollet de Peralada #> 422 Navata #> 423 Ordis #> 424 Palau de Santa Eulàlia #> 425 Palau-saverdera #> 426 Pau #> 427 Pedret i Marzà #> 428 Peralada #> 429 Pont de Molins #> 430 Pontós #> 431 Portbou #> 432 Rabós #> 433 Riumors #> 434 Roses #> 435 Sant Climent Sescebes #> 436 Sant Llorenç de la Muga #> 437 Sant Miquel de Fluvià #> 438 Sant Mori #> 439 Sant Pere Pescador #> 440 Santa Llogaia d'Àlguema #> 441 Saus, Camallera i Llampaies #> 442 Siurana #> 443 Terrades #> 444 Torroella de Fluvià #> 445 Ventalló #> 446 Vila-sacra #> 447 Vilabertran #> 448 Viladamat #> 449 Vilafant #> 450 Vilajuïga #> 451 Vilamacolum #> 452 Vilamalla #> 453 Vilamaniscle #> 454 Vilanant #> 455 Vilaür #> 456 Avinyonet del Penedès #> 457 Castellet i la Gornal #> 458 Castellví de la Marca #> 459 el Pla del Penedès #> 460 Font-rubí #> 461 Gelida #> 462 la Granada #> 463 les Cabanyes #> 464 Mediona #> 465 Olèrdola #> 466 Olesa de Bonesvalls #> 467 Pacs del Penedès #> 468 Pontons #> 469 Puigdàlber #> 470 Sant Cugat Sesgarrigues #> 471 Sant Llorenç d'Hortons #> 472 Sant Martí Sarroca #> 473 Sant Pere de Riudebitlles #> 474 Sant Quintí de Mediona #> 475 Sant Sadurní d'Anoia #> 476 Santa Fe del Penedès #> 477 Santa Margarida i els Monjos #> 478 Subirats #> 479 Torrelavit #> 480 Torrelles de Foix #> 481 Vilafranca del Penedès #> 482 Vilobí del Penedès #> 483 Alàs i Cerc #> 484 Arsèguel #> 485 Bassella #> 486 Cabó #> 487 Cava #> 488 Coll de Nargó #> 489 el Pont de Bar #> 490 Estamariu #> 491 Fígols i Alinyà #> 492 Josa i Tuixén #> 493 la Seu d'Urgell #> 494 la Vansa i Fórnols #> 495 les Valls d'Aguilar #> 496 les Valls de Valira #> 497 Montferrer i Castellbò #> 498 Oliana #> 499 Organyà #> 500 Peramola #> 501 Ribera d'Urgellet #> 502 el Pont de Suert #> 503 la Vall de Boí #> 504 Vilaller #> 505 Argençola #> 506 Bellprat #> 507 Cabrera d'Anoia #> 508 Calaf #> 509 Calonge de Segarra #> 510 Capellades #> 511 Carme #> 512 Castellfollit de Riubregós #> 513 Castellolí #> 514 Copons #> 515 el Bruc #> 516 els Hostalets de Pierola #> 517 els Prats de Rei #> 518 Igualada #> 519 Jorba #> 520 la Llacuna #> 521 la Pobla de Claramunt #> 522 la Torre de Claramunt #> 523 Masquefa #> 524 Montmaneu #> 525 Òdena #> 526 Orpí #> 527 Piera #> 528 Pujalt #> 529 Rubió #> 530 Sant Martí de Tous #> 531 Sant Martí Sesgueioles #> 532 Sant Pere Sallavinera #> 533 Santa Margarida de Montbui #> 534 Santa Maria de Miralles #> 535 Vallbona d'Anoia #> 536 Veciana #> 537 Vilanova del Camí #> 538 Aguilar de Segarra #> 539 Artés #> 540 Avinyó #> 541 Balsareny #> 542 Callús #> 543 Cardona #> 544 Castellbell i el Vilar #> 545 Castellfollit del Boix #> 546 Castellgalí #> 547 Castellnou de Bages #> 548 el Pont de Vilomara i Rocafort #> 549 Fonollosa #> 550 Gaià #> 551 Manresa #> 552 Marganell #> 553 Monistrol de Montserrat #> 554 Mura #> 555 Navarcles #> 556 Navàs #> 557 Rajadell #> 558 Sallent #> 559 Sant Feliu Sasserra #> 560 Sant Fruitós de Bages #> 561 Sant Joan de Vilatorrada #> 562 Sant Mateu de Bages #> 563 Sant Salvador de Guardiola #> 564 Sant Vicenç de Castellet #> 565 Santpedor #> 566 Súria #> 567 Talamanca #> 568 Alforja #> 569 Almoster #> 570 Arbolí #> 571 Botarell #> 572 Cambrils #> 573 Capafonts #> 574 Castellvell del Camp #> 575 Colldejou #> 576 Duesaigües #> 577 l'Albiol #> 578 l'Aleixar #> 579 l'Argentera #> 580 la Febró #> 581 la Selva del Camp #> 582 les Borges del Camp #> 583 Maspujols #> 584 Mont-roig del Camp #> 585 Montbrió del Camp #> 586 Prades #> 587 Pratdip #> 588 Reus #> 589 Riudecanyes #> 590 Riudecols #> 591 Riudoms #> 592 Vandellòs i l'Hospitalet de l'Infant #> 593 Vilanova d'Escornalbou #> 594 Vilaplana #> 595 Vinyols i els Arcs #> 596 Aldover #> 597 Alfara de Carles #> 598 Benifallet #> 599 Camarles #> 600 Deltebre #> 601 el Perelló #> 602 l'Aldea #> 603 l'Ametlla de Mar #> 604 l'Ampolla #> 605 Paüls #> 606 Roquetes #> 607 Tivenys #> 608 Tortosa #> 609 Xerta #> 610 Albons #> 611 Begur #> 612 Bellcaire d'Empordà #> 613 Calonge i Sant Antoni #> 614 Castell d'Aro, Platja d'Aro i s'Agaró #> 615 Colomers #> 616 Corçà #> 617 Cruïlles, Monells i Sant Sadurní de l'Heura #> 618 Foixà #> 619 Fontanilles #> 620 Garrigoles #> 621 Gualta #> 622 Jafre #> 623 la Bisbal d'Empordà #> 624 la Pera #> 625 la Tallada d'Empordà #> 626 Mont-ras #> 627 Palafrugell #> 628 Palamós #> 629 Palau-sator #> 630 Pals #> 631 Parlavà #> 632 Regencós #> 633 Rupià #> 634 Sant Feliu de Guíxols #> 635 Santa Cristina d'Aro #> 636 Serra de Daró #> 637 Torrent #> 638 Torroella de Montgrí #> 639 Ullà #> 640 Ullastret #> 641 Ultramort #> 642 Vall-llobrega #> 643 Verges #> 644 Vilopriu #> 645 Forallac #> 646 Abrera #> 647 Begues #> 648 Castelldefels #> 649 Castellví de Rosanes #> 650 Cervelló #> 651 Collbató #> 652 Corbera de Llobregat #> 653 Cornellà de Llobregat #> 654 el Papiol #> 655 el Prat de Llobregat #> 656 Esparreguera #> 657 Esplugues de Llobregat #> 658 Gavà #> 659 la Palma de Cervelló #> 660 Martorell #> 661 Molins de Rei #> 662 Olesa de Montserrat #> 663 Pallejà #> 664 Sant Andreu de la Barca #> 665 Sant Boi de Llobregat #> 666 Sant Climent de Llobregat #> 667 Sant Esteve Sesrovires #> 668 Sant Feliu de Llobregat #> 669 Sant Joan Despí #> 670 Sant Just Desvern #> 671 Sant Vicenç dels Horts #> 672 Santa Coloma de Cervelló #> 673 Torrelles de Llobregat #> 674 Vallirana #> 675 Viladecans #> 676 Albinyana #> 677 Banyeres del Penedès #> 678 Bellvei #> 679 Bonastre #> 680 Calafell #> 681 Cunit #> 682 el Montmell #> 683 el Vendrell #> 684 l'Arboç #> 685 la Bisbal del Penedès #> 686 Llorenç del Penedès #> 687 Masllorenç #> 688 Sant Jaume dels Domenys #> 689 Santa Oliva #> 690 Badalona #> 691 Barcelona #> 692 l'Hospitalet de Llobregat #> 693 Sant Adrià de Besòs #> 694 Santa Coloma de Gramenet #> 695 Avià #> 696 Bagà #> 697 Berga #> 698 Borredà #> 699 Capolat #> 700 Casserres #> 701 Castell de l'Areny #> 702 Castellar de n'Hug #> 703 Castellar del Riu #> 704 Cercs #> 705 Fígols #> 706 Gironella #> 707 Gisclareny #> 708 Gósol #> 709 Guardiola de Berguedà #> 710 l'Espunyola #> 711 la Nou de Berguedà #> 712 la Pobla de Lillet #> 713 la Quar #> 714 Montclar #> 715 Montmajor #> 716 Olvan #> 717 Puig-reig #> 718 Sagàs #> 719 Saldes #> 720 Sant Jaume de Frontanyà #> 721 Sant Julià de Cerdanyola #> 722 Santa Maria de Merlès #> 723 Vallcebre #> 724 Vilada #> 725 Viver i Serrateix #> 726 Alp #> 727 Bellver de Cerdanya #> 728 Bolvir #> 729 Das #> 730 Fontanals de Cerdanya #> 731 Ger #> 732 Guils de Cerdanya #> 733 Isòvol #> 734 Lles de Cerdanya #> 735 Llívia #> 736 Meranges #> 737 Montellà i Martinet #> 738 Prats i Sansor #> 739 Prullans #> 740 Puigcerdà #> 741 Riu de Cerdanya #> 742 Urús #> 743 Barberà de la Conca #> 744 Blancafort #> 745 Conesa #> 746 Forès #> 747 l'Espluga de Francolí #> 748 les Piles #> 749 Llorac #> 750 Montblanc #> 751 Passanant i Belltall #> 752 Pira #> 753 Pontils #> 754 Rocafort de Queralt #> 755 Santa Coloma de Queralt #> 756 Sarral #> 757 Savallà del Comtat #> 758 Senan #> 759 Solivella #> 760 Vallclara #> 761 Vallfogona de Riucorb #> 762 Vilanova de Prades #> 763 Vilaverd #> 764 Vimbodí i Poblet #> 765 Canyelles #> 766 Cubelles #> 767 Olivella #> 768 Sant Pere de Ribes #> 769 Sitges #> 770 Vilanova i la Geltrú #> 771 Arbeca #> 772 Bellaguarda #> 773 Bovera #> 774 Castelldans #> 775 Cervià de les Garrigues #> 776 el Cogul #> 777 el Soleràs #> 778 el Vilosell #> 779 els Omellons #> 780 els Torms #> 781 Fulleda #> 782 Granyena de les Garrigues #> 783 Juncosa #> 784 Juneda #> 785 l'Albagés #> 786 l'Albi #> 787 l'Espluga Calba #> 788 la Floresta #> 789 la Granadella #> 790 la Pobla de Cérvoles #> 791 les Borges Blanques #> 792 Puiggròs #> 793 Tarrés #> 794 Vinaixa #> 795 Argelaguer #> 796 Besalú #> 797 Beuda #> 798 Castellfollit de la Roca #> 799 la Vall d'en Bas #> 800 la Vall de Bianya #> 801 les Planes d'Hostoles #> 802 les Preses #> 803 Maià de Montcal #> 804 Mieres #> 805 Montagut i Oix #> 806 Olot #> 807 Riudaura #> 808 Sales de Llierca #> 809 Sant Aniol de Finestres #> 810 Sant Feliu de Pallerols #> 811 Sant Ferriol #> 812 Sant Jaume de Llierca #> 813 Sant Joan les Fonts #> 814 Santa Pau #> 815 Tortellà #> 816 Aiguaviva #> 817 Bescanó #> 818 Bordils #> 819 Campllong #> 820 Canet d'Adri #> 821 Cassà de la Selva #> 822 Celrà #> 823 Cervià de Ter #> 824 Flaçà #> 825 Fornells de la Selva #> 826 Girona #> 827 Juià #> 828 Llagostera #> 829 Llambilles #> 830 Madremanya #> 831 Quart #> 832 Salt #> 833 Sant Andreu Salou #> 834 Sant Gregori #> 835 Sant Joan de Mollet #> 836 Sant Jordi Desvalls #> 837 Sant Julià de Ramis #> 838 Sant Martí de Llémena #> 839 Sant Martí Vell #> 840 Sarrià de Ter #> 841 Vilablareix #> 842 Viladasens #> 843 Alpens #> 844 Lluçà #> 845 Olost #> 846 Oristà #> 847 Perafita #> 848 Prats de Lluçanès #> 849 Sant Martí d'Albars #> 850 Sobremunt #> 851 Alella #> 852 Arenys de Mar #> 853 Arenys de Munt #> 854 Argentona #> 855 Cabrera de Mar #> 856 Cabrils #> 857 Caldes d'Estrac #> 858 Calella #> 859 Canet de Mar #> 860 Dosrius #> 861 el Masnou #> 862 Malgrat de Mar #> 863 Mataró #> 864 Montgat #> 865 Òrrius #> 866 Palafolls #> 867 Pineda de Mar #> 868 Premià de Dalt #> 869 Premià de Mar #> 870 Sant Andreu de Llavaneres #> 871 Sant Cebrià de Vallalta #> 872 Sant Iscle de Vallalta #> 873 Sant Pol de Mar #> 874 Sant Vicenç de Montalt #> 875 Santa Susanna #> 876 Teià #> 877 Tiana #> 878 Tordera #> 879 Vilassar de Dalt #> 880 Vilassar de Mar #> 881 Calders #> 882 Castellcir #> 883 Castellterçol #> 884 Collsuspina #> 885 Granera #> 886 l'Estany #> 887 Moià #> 888 Monistrol de Calders #> 889 Sant Quirze Safaja #> 890 Santa Maria d'Oló #> 891 Alcanar #> 892 Amposta #> 893 Freginals #> 894 Godall #> 895 la Galera #> 896 la Ràpita #> 897 la Sénia #> 898 Mas de Barberans #> 899 Masdenverge #> 900 Sant Jaume d'Enveja #> 901 Santa Bàrbara #> 902 Ulldecona #> 903 Àger #> 904 Albesa #> 905 Algerri #> 906 Alòs de Balaguer #> 907 Artesa de Segre #> 908 Balaguer #> 909 Bellcaire d'Urgell #> 910 Bellmunt d'Urgell #> 911 Cabanabona #> 912 Camarasa #> 913 Castelló de Farfanya #> 914 Cubells #> 915 Foradada #> 916 Ivars de Noguera #> 917 la Baronia de Rialb #> 918 la Sentiu de Sió #> 919 les Avellanes i Santa Linya #> 920 Menàrguens #> 921 Montgai #> 922 Oliola #> 923 Os de Balaguer #> 924 Penelles #> 925 Ponts #> 926 Preixens #> 927 Térmens #> 928 Tiurana #> 929 Torrelameu #> 930 Vallfogona de Balaguer #> 931 Vilanova de l'Aguda #> 932 Vilanova de Meià #> 933 Balenyà #> 934 Calldetenes #> 935 Centelles #> 936 el Brull #> 937 Espinelves #> 938 Folgueroles #> 939 Gurb #> 940 l'Esquirol #> 941 les Masies de Roda #> 942 les Masies de Voltregà #> 943 Malla #> 944 Manlleu #> 945 Montesquiu #> 946 Muntanyola #> 947 Orís #> 948 Roda de Ter #> 949 Rupit i Pruit #> 950 Sant Agustí de Lluçanès #> 951 Sant Bartomeu del Grau #> 952 Sant Boi de Lluçanès #> 953 Sant Hipòlit de Voltregà #> 954 Sant Julià de Vilatorta #> 955 Sant Martí de Centelles #> 956 Sant Pere de Torelló #> 957 Sant Quirze de Besora #> 958 Sant Sadurní d'Osormort #> 959 Sant Vicenç de Torelló #> 960 Santa Cecília de Voltregà #> 961 Santa Eugènia de Berga #> 962 Santa Eulàlia de Riuprimer #> 963 Santa Maria de Besora #> 964 Seva #> 965 Sora #> 966 Taradell #> 967 Tavèrnoles #> 968 Tavertet #> 969 Tona #> 970 Torelló #> 971 Vic #> 972 Vidrà #> 973 Viladrau #> 974 Vilanova de Sau #> 975 Abella de la Conca #> 976 Castell de Mur #> 977 Conca de Dalt #> 978 Gavet de la Conca #> 979 Isona i Conca Dellà #> 980 la Pobla de Segur #> 981 la Torre de Cabdella #> 982 Llimiana #> 983 Salàs de Pallars #> 984 Sant Esteve de la Sarga #> 985 Sarroca de Bellera #> 986 Senterada #> 987 Talarn #> 988 Tremp #> 989 Alins #> 990 Alt Àneu #> 991 Baix Pallars #> 992 Espot #> 993 Esterri d'Àneu #> 994 Esterri de Cardós #> 995 Farrera #> 996 la Guingueta d'Àneu #> 997 Lladorre #> 998 Llavorsí #> 999 Rialp #> 1000 Soriguera #> 1001 Sort #> 1002 Tírvia #> 1003 Vall de Cardós #> 1004 Barbens #> 1005 Bell-lloc d'Urgell #> 1006 Bellvís #> 1007 Castellnou de Seana #> 1008 el Palau d'Anglesola #> 1009 el Poal #> 1010 Fondarella #> 1011 Golmés #> 1012 Ivars d'Urgell #> 1013 Linyola #> 1014 Miralcamp #> 1015 Mollerussa #> 1016 Sidamon #> 1017 Torregrossa #> 1018 Vila-sana #> 1019 Vilanova de Bellpuig #> 1020 Banyoles #> 1021 Camós #> 1022 Cornellà del Terri #> 1023 Crespià #> 1024 Esponellà #> 1025 Fontcoberta #> 1026 Palol de Revardit #> 1027 Porqueres #> 1028 Sant Miquel de Campmajor #> 1029 Serinyà #> 1030 Vilademuls #> 1031 Bellmunt del Priorat #> 1032 Cabacés #> 1033 Capçanes #> 1034 Cornudella de Montsant #> 1035 el Lloar #> 1036 el Masroig #> 1037 el Molar #> 1038 els Guiamets #> 1039 Falset #> 1040 Gratallops #> 1041 la Bisbal de Montsant #> 1042 la Figuera #> 1043 la Morera de Montsant #> 1044 la Torre de Fontaubella #> 1045 la Vilella Alta #> 1046 la Vilella Baixa #> 1047 Marçà #> 1048 Margalef #> 1049 Poboleda #> 1050 Porrera #> 1051 Pradell de la Teixeta #> 1052 Torroja del Priorat #> 1053 Ulldemolins #> 1054 Ascó #> 1055 Benissanet #> 1056 Flix #> 1057 Garcia #> 1058 Ginestar #> 1059 la Palma d'Ebre #> 1060 la Torre de l'Espanyol #> 1061 Miravet #> 1062 Móra d'Ebre #> 1063 Móra la Nova #> 1064 Rasquera #> 1065 Riba-roja d'Ebre #> 1066 Tivissa #> 1067 Vinebre #> 1068 Campdevànol #> 1069 Campelles #> 1070 Camprodon #> 1071 Gombrèn #> 1072 les Llosses #> 1073 Llanars #> 1074 Molló #> 1075 Ogassa #> 1076 Pardines #> 1077 Planoles #> 1078 Queralbs #> 1079 Ribes de Freser #> 1080 Ripoll #> 1081 Sant Joan de les Abadesses #> 1082 Sant Pau de Segúries #> 1083 Setcases #> 1084 Toses #> 1085 Vallfogona de Ripollès #> 1086 Vilallonga de Ter #> 1087 Biosca #> 1088 Cervera #> 1089 els Plans de Sió #> 1090 Estaràs #> 1091 Granyanella #> 1092 Granyena de Segarra #> 1093 Guissona #> 1094 Ivorra #> 1095 les Oluges #> 1096 Massoteres #> 1097 Montoliu de Segarra #> 1098 Montornès de Segarra #> 1099 Ribera d'Ondara #> 1100 Sanaüja #> 1101 Sant Guim de Freixenet #> 1102 Sant Guim de la Plana #> 1103 Sant Ramon #> 1104 Talavera #> 1105 Tarroja de Segarra #> 1106 Torà #> 1107 Torrefeta i Florejacs #> 1108 Aitona #> 1109 Albatàrrec #> 1110 Alcanó #> 1111 Alcarràs #> 1112 Alcoletge #> 1113 Alfarràs #> 1114 Alfés #> 1115 Alguaire #> 1116 Almacelles #> 1117 Almatret #> 1118 Almenar #> 1119 Alpicat #> 1120 Artesa de Lleida #> 1121 Aspa #> 1122 Benavent de Segrià #> 1123 Corbins #> 1124 els Alamús #> 1125 Gimenells i el Pla de la Font #> 1126 la Granja d'Escarp #> 1127 la Portella #> 1128 Llardecans #> 1129 Lleida #> 1130 Maials #> 1131 Massalcoreig #> 1132 Montoliu de Lleida #> 1133 Puigverd de Lleida #> 1134 Rosselló #> 1135 Sarroca de Lleida #> 1136 Seròs #> 1137 Soses #> 1138 Sudanell #> 1139 Sunyer #> 1140 Torre-serona #> 1141 Torrebesses #> 1142 Torrefarrera #> 1143 Torres de Segre #> 1144 Vilanova de la Barca #> 1145 Vilanova de Segrià #> 1146 Amer #> 1147 Anglès #> 1148 Arbúcies #> 1149 Blanes #> 1150 Breda #> 1151 Brunyola i Sant Martí Sapresa #> 1152 Caldes de Malavella #> 1153 Fogars de la Selva #> 1154 Hostalric #> 1155 la Cellera de Ter #> 1156 Lloret de Mar #> 1157 Massanes #> 1158 Maçanet de la Selva #> 1159 Osor #> 1160 Riells i Viabrea #> 1161 Riudarenes #> 1162 Riudellots de la Selva #> 1163 Sant Feliu de Buixalleu #> 1164 Sant Hilari Sacalm #> 1165 Sant Julià del Llor i Bonmatí #> 1166 Santa Coloma de Farners #> 1167 Sils #> 1168 Susqueda #> 1169 Tossa de Mar #> 1170 Vidreres #> 1171 Vilobí d'Onyar #> 1172 Castellar de la Ribera #> 1173 Clariana de Cardener #> 1174 Guixers #> 1175 la Coma i la Pedra #> 1176 la Molsosa #> 1177 Lladurs #> 1178 Llobera #> 1179 Navès #> 1180 Odèn #> 1181 Olius #> 1182 Pinell de Solsonès #> 1183 Pinós #> 1184 Riner #> 1185 Sant Llorenç de Morunys #> 1186 Solsona #> 1187 Altafulla #> 1188 Constantí #> 1189 Creixell #> 1190 el Catllar #> 1191 el Morell #> 1192 els Pallaresos #> 1193 la Canonja #> 1194 la Nou de Gaià #> 1195 la Pobla de Mafumet #> 1196 la Pobla de Montornès #> 1197 la Riera de Gaià #> 1198 la Secuita #> 1199 Perafort #> 1200 Renau #> 1201 Roda de Berà #> 1202 Salomó #> 1203 Salou #> 1204 Tarragona #> 1205 Torredembarra #> 1206 Vespella de Gaià #> 1207 Vila-seca #> 1208 Vilallonga del Camp #> 1209 Arnes #> 1210 Batea #> 1211 Bot #> 1212 Caseres #> 1213 Corbera d'Ebre #> 1214 el Pinell de Brai #> 1215 Gandesa #> 1216 Horta de Sant Joan #> 1217 la Fatarella #> 1218 la Pobla de Massaluca #> 1219 Prat de Comte #> 1220 Vilalba dels Arcs #> 1221 Agramunt #> 1222 Anglesola #> 1223 Belianes #> 1224 Bellpuig #> 1225 Castellserà #> 1226 Ciutadilla #> 1227 els Omells de na Gaia #> 1228 Guimerà #> 1229 la Fuliola #> 1230 Maldà #> 1231 Nalec #> 1232 Ossó de Sió #> 1233 Preixana #> 1234 Puigverd d'Agramunt #> 1235 Sant Martí de Riucorb #> 1236 Tàrrega #> 1237 Tornabous #> 1238 Vallbona de les Monges #> 1239 Verdú #> 1240 Vilagrassa #> 1241 Badia del Vallès #> 1242 Barberà del Vallès #> 1243 Castellar del Vallès #> 1244 Castellbisbal #> 1245 Cerdanyola del Vallès #> 1246 Gallifa #> 1247 Matadepera #> 1248 Montcada i Reixac #> 1249 Palau-solità i Plegamans #> 1250 Polinyà #> 1251 Rellinars #> 1252 Ripollet #> 1253 Rubí #> 1254 Sabadell #> 1255 Sant Cugat del Vallès #> 1256 Sant Llorenç Savall #> 1257 Sant Quirze del Vallès #> 1258 Santa Perpètua de Mogoda #> 1259 Sentmenat #> 1260 Terrassa #> 1261 Ullastrell #> 1262 Vacarisses #> 1263 Viladecavalls #> 1264 Aiguafreda #> 1265 Bigues i Riells del Fai #> 1266 Caldes de Montbui #> 1267 Campins #> 1268 Canovelles #> 1269 Cànoves i Samalús #> 1270 Cardedeu #> 1271 Figaró-Montmany #> 1272 Fogars de Montclús #> 1273 Granollers #> 1274 Gualba #> 1275 l'Ametlla del Vallès #> 1276 la Garriga #> 1277 la Llagosta #> 1278 la Roca del Vallès #> 1279 les Franqueses del Vallès #> 1280 Lliçà d'Amunt #> 1281 Lliçà de Vall #> 1282 Llinars del Vallès #> 1283 Martorelles #> 1284 Mollet del Vallès #> 1285 Montmeló #> 1286 Montornès del Vallès #> 1287 Montseny #> 1288 Parets del Vallès #> 1289 Sant Antoni de Vilamajor #> 1290 Sant Celoni #> 1291 Sant Esteve de Palautordera #> 1292 Sant Feliu de Codines #> 1293 Sant Fost de Campsentelles #> 1294 Sant Pere de Vilamajor #> 1295 Santa Eulàlia de Ronçana #> 1296 Santa Maria de Martorelles #> 1297 Santa Maria de Palautordera #> 1298 Tagamanent #> 1299 Vallgorguina #> 1300 Vallromanes #> 1301 Vilalba Sasserra #> 1302 Vilanova del Vallès #> 1303 València #> 1304 Alcalà de Xivert #> 1305 Benicarló #> 1306 Càlig #> 1307 Canet lo Roig #> 1308 Castell de Cabres #> 1309 Cervera del Maestre #> 1310 la Jana #> 1311 la Pobla de Benifassà #> 1312 la Salzadella #> 1313 Peníscola / Peñíscola #> 1314 Rossell #> 1315 Sant Jordi / San Jorge #> 1316 Sant Mateu #> 1317 Sant Rafel del Riu #> 1318 Santa Magdalena de Pulpis #> 1319 Traiguera #> 1320 Vinaròs #> 1321 Xert #> 1322 Guardamar del Segura #> 1323 Crevillent #> 1324 Elx / Elche #> 1325 Santa Pola #> 1326 Albalat dels Tarongers #> 1327 Alfara de la Baronia #> 1328 Algar de Palància #> 1329 Algímia d'Alfara #> 1330 Benavites #> 1331 Benifairó de les Valls #> 1332 Canet d'en Berenguer #> 1333 Estivella #> 1334 Faura #> 1335 Gilet #> 1336 Petrés #> 1337 Quart de les Valls #> 1338 Quartell #> 1339 Sagunt / Sagunto #> 1340 Segart #> 1341 Torres Torres #> 1342 Benaguasil #> 1343 Benissanó #> 1344 Bétera #> 1345 Casinos #> 1346 l'Eliana #> 1347 la Pobla de Vallbona #> 1348 Llíria #> 1349 Nàquera / Náquera #> 1350 Olocau #> 1351 Riba-roja de Túria #> 1352 Serra #> 1353 Vilamarxant #> 1354 Agres #> 1355 Alcoleja #> 1356 Alcosser #> 1357 Alfafara #> 1358 Almudaina #> 1359 Balones #> 1360 Benasau #> 1361 Beniarrés #> 1362 Benilloba #> 1363 Benillup #> 1364 Benimarfull #> 1365 Benimassot #> 1366 Cocentaina #> 1367 Fageca #> 1368 Famorca #> 1369 Gaianes #> 1370 Gorga #> 1371 l'Alqueria d'Asnar #> 1372 l'Orxa / Lorcha #> 1373 Millena #> 1374 Muro de Alcoy #> 1375 Planes #> 1376 Quatretondeta #> 1377 Tollos #> 1378 el Fondó de les Neus / Hondón de las Nieves #> 1379 Hondón de los Frailes #> 1380 el Pinós / Pinoso #> 1381 Algueña #> 1382 la Romana #> 1383 Monòver / Monóvar #> 1384 Novelda #> 1385 Petrer #> 1386 Castellfort #> 1387 Cinctorres #> 1388 Forcall #> 1389 Herbers #> 1390 la Mata de Morella #> 1391 Todolella #> 1392 Morella #> 1393 Palanques #> 1394 Portell de Morella #> 1395 Zorita del Maestrazgo #> 1396 Vallibona #> 1397 Vilafranca / Villafranca del Cid #> 1398 Villores #> 1399 Agost #> 1400 Aigües #> 1401 Alacant / Alicante #> 1402 Busot #> 1403 el Campello #> 1404 la Torre de les Maçanes / Torremanzanas #> 1405 Mutxamel #> 1406 Sant Joan d'Alacant #> 1407 Sant Vicent del Raspeig / San Vicente del Raspeig #> 1408 Xixona / Jijona #> 1409 Costur #> 1410 Figueroles #> 1411 l'Alcora #> 1412 les Useres / Useras #> 1413 Llucena / Lucena del Cid #> 1414 Vistabella del Maestrat #> 1415 Xodos / Chodos #> 1416 Alcoi / Alcoy #> 1417 Banyeres de Mariola #> 1418 Benifallim #> 1419 Castalla #> 1420 Ibi #> 1421 Onil #> 1422 Penàguila #> 1423 Tibi #> 1424 Albocàsser #> 1425 Ares del Maestrat #> 1426 Atzeneta del Maestrat #> 1427 Benafigos #> 1428 Benassal #> 1429 Catí #> 1430 Culla #> 1431 la Serratella #> 1432 la Torre d'en Besora #> 1433 Tírig #> 1434 Vilar de Canes #> 1435 Beneixama #> 1436 Biar #> 1437 el Camp de Mirra / Campo de Mirra #> 1438 Cañada #> 1439 Albalat dels Sorells #> 1440 Alboraia / Alboraya #> 1441 Albuixech #> 1442 Alfara del Patriarca #> 1443 Almàssera #> 1444 Bonrepòs i Mirambell #> 1445 Burjassot #> 1446 el Puig de Santa Maria #> 1447 Emperador #> 1448 Foios #> 1449 Godella #> 1450 la Pobla de Farnals #> 1451 Massalfassar #> 1452 Massamagrell #> 1453 Meliana #> 1454 Montcada / Moncada #> 1455 Museros #> 1456 Paterna #> 1457 Puçol #> 1458 Rafelbunyol #> 1459 Rocafort #> 1460 Tavernes Blanques #> 1461 Vinalesa #> 1462 Alaquàs #> 1463 Albal #> 1464 Alcàsser #> 1465 Aldaia #> 1466 Alfafar #> 1467 Benetússer #> 1468 Beniparrell #> 1469 Catarroja #> 1470 Llocnou de la Corona #> 1471 Manises #> 1472 Massanassa #> 1473 Mislata #> 1474 Paiporta #> 1475 Picanya #> 1476 Picassent #> 1477 Quart de Poblet #> 1478 Sedaví #> 1479 Silla #> 1480 Torrent #> 1481 Xirivella #> 1482 Barxeta #> 1483 Canals #> 1484 Cerdà #> 1485 el Genovés #> 1486 Estubeny #> 1487 l'Alcúdia de Crespins #> 1488 la Font de la Figuera #> 1489 la Granja de la Costera #> 1490 la Llosa de Ranes #> 1491 Llanera de Ranes #> 1492 Llocnou d'en Fenollet #> 1493 Moixent / Mogente #> 1494 Montesa #> 1495 Novetlè #> 1496 Rotglà i Corberà #> 1497 Torrella #> 1498 Vallada #> 1499 Vallés #> 1500 Xàtiva #> 1501 Alcalalí #> 1502 Beniarbeig #> 1503 Benidoleig #> 1504 Benigembla #> 1505 Benimeli #> 1506 Benissa #> 1507 Calp #> 1508 Castell de Castells #> 1509 Dénia #> 1510 el Poble Nou de Benitatxell / Benitachell #> 1511 el Ràfol d'Almúnia #> 1512 el Verger #> 1513 els Poblets #> 1514 Gata de Gorgos #> 1515 l'Atzúbia #> 1516 la Vall d'Alcalà #> 1517 la Vall d'Ebo #> 1518 la Vall de Gallinera #> 1519 la Vall de Laguar #> 1520 Llíber #> 1521 Murla #> 1522 Ondara #> 1523 Orba #> 1524 Parcent #> 1525 Pedreguer #> 1526 Pego #> 1527 Sagra #> 1528 Sanet y Negrals #> 1529 Senija #> 1530 Teulada #> 1531 Tormos #> 1532 Xàbia / Jávea #> 1533 Xaló #> 1534 Altea #> 1535 Beniardà #> 1536 Benidorm #> 1537 Benifato #> 1538 Benimantell #> 1539 Bolulla #> 1540 Callosa d'en Sarrià #> 1541 Confrides #> 1542 el Castell de Guadalest #> 1543 Finestrat #> 1544 l'Alfàs del Pi #> 1545 la Nucia #> 1546 la Vila Joiosa / Villajoyosa #> 1547 Orxeta #> 1548 Polop #> 1549 Relleu #> 1550 Sella #> 1551 Tàrbena #> 1552 Almassora #> 1553 Benicàssim / Benicasim #> 1554 Benlloc #> 1555 Borriol #> 1556 Cabanes #> 1557 Castelló de la Plana #> 1558 la Pobla Tornesa #> 1559 Sierra Engarcerán #> 1560 la Torre d'en Doménec #> 1561 Vall d'Alba #> 1562 les Coves de Vinromà #> 1563 Orpesa / Oropesa del Mar #> 1564 Sant Joan de Moró #> 1565 Torreblanca #> 1566 Vilafamés #> 1567 Vilanova d'Alcolea #> 1568 Aín #> 1569 Alfondeguilla #> 1570 Almenara #> 1571 Artana #> 1572 Betxí #> 1573 Borriana / Burriana #> 1574 Eslida #> 1575 Alcudia de Veo #> 1576 la Llosa #> 1577 la Vall d'Uixó #> 1578 la Vilavella #> 1579 les Alqueries / Alquerías del Niño Perdido #> 1580 Moncofa #> 1581 Nules #> 1582 Onda #> 1583 Ribesalbes #> 1584 Suera / Sueras #> 1585 Tales #> 1586 Vila-real #> 1587 Xilxes / Chilches #> 1588 Alberic #> 1589 Alcàntera de Xúquer #> 1590 Alfarb #> 1591 Algemesí #> 1592 Alginet #> 1593 Alzira #> 1594 Antella #> 1595 Beneixida #> 1596 Benifaió #> 1597 Benimodo #> 1598 Benimuslem #> 1599 Carcaixent #> 1600 Càrcer #> 1601 Carlet #> 1602 Castelló #> 1603 Catadau #> 1604 Cotes #> 1605 Gavarda #> 1606 Guadassuar #> 1607 l'Alcúdia #> 1608 l'Énova #> 1609 la Pobla Llarga #> 1610 Llombai #> 1611 Manuel #> 1612 Massalavés #> 1613 Montroi / Montroy #> 1614 Montserrat #> 1615 Rafelguaraf #> 1616 Real #> 1617 Sant Joanet #> 1618 Sellent #> 1619 Senyera #> 1620 Sumacàrcer #> 1621 Turís #> 1622 Albalat de la Ribera #> 1623 Almussafes #> 1624 Benicull de Xúquer #> 1625 Corbera #> 1626 Cullera #> 1627 Favara #> 1628 Fortaleny #> 1629 Llaurí #> 1630 Polinyà de Xúquer #> 1631 Riola #> 1632 Sollana #> 1633 Sueca #> 1634 Ador #> 1635 Alfauir #> 1636 Almiserà #> 1637 Almoines #> 1638 Barx #> 1639 Bellreguard #> 1640 Beniarjó #> 1641 Benifairó de la Valldigna #> 1642 Beniflà #> 1643 Benirredrà #> 1644 Castellonet de la Conquesta #> 1645 Daimús #> 1646 el Real de Gandia #> 1647 Gandia #> 1648 Guardamar de la Safor #> 1649 l'Alqueria de la Comtessa #> 1650 la Font d'en Carròs #> 1651 Llocnou de Sant Jeroni #> 1652 Miramar #> 1653 Oliva #> 1654 Palma de Gandía #> 1655 Palmera #> 1656 Piles #> 1657 Potries #> 1658 Rafelcofer #> 1659 Ròtova #> 1660 Simat de la Valldigna #> 1661 Tavernes de la Valldigna #> 1662 Vilallonga / Villalonga #> 1663 Xeraco #> 1664 Xeresa #> 1665 Agullent #> 1666 Aielo de Malferit #> 1667 Aielo de Rugat #> 1668 Albaida #> 1669 Alfarrasí #> 1670 Atzeneta d'Albaida #> 1671 Bèlgida #> 1672 Bellús #> 1673 Beniatjar #> 1674 Benicolet #> 1675 Benigànim #> 1676 Benissoda #> 1677 Benissuera #> 1678 Bocairent #> 1679 Bufali #> 1680 Carrícola #> 1681 Castelló de Rugat #> 1682 el Palomar #> 1683 Ráfol de Salem #> 1684 Fontanars dels Alforins #> 1685 Guadasséquies #> 1686 l'Olleria #> 1687 la Pobla del Duc #> 1688 Llutxent #> 1689 Montaverner #> 1690 Montitxelvo / Montichelvo #> 1691 Ontinyent #> 1692 Otos #> 1693 Pinet #> 1694 Quatretonda #> 1695 Rugat #> 1696 Salem #> 1697 Sempere #> 1698 Terrateig #> 1699 l'Alguer/Alghero"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/territoris.html","id":null,"dir":"Reference","previous_headings":"","what":"Territoris dels Països Catalans — territoris","title":"Territoris dels Països Catalans — territoris","text":"Dades dels territoris dels Països Catalans.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/territoris.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Territoris dels Països Catalans — territoris","text":"","code":"territoris"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/territoris.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Territoris dels Països Catalans — territoris","text":"Un data.frame amb dades dels 10 territoris per les següents 7 variables. name:ca Etiqueta name:ca. regio Nom de la regió [\"Andorra\", \"Aran\", \"CatNord\", \"Franja\", \"Illes\", \"Múrcia\", \"Principat\", \"PV\"]. osm_id Número identificador OSM. osm_type Tipus d'objecte d'OSM. name Etiqueta name. wikipedia Etiqueta wikipedia. wikidata Etiqueta wikidata.","code":""},{"path":[]},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/territoris.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Exemples","title":"Territoris dels Països Catalans — territoris","text":"","code":"territoris[, c(\"regio\", \"name\")] #> regio name #> 1 Andorra Andorra #> 2 Aran Val d'Aran #> 3 CatNord Catalunya del Nord #> 4 Franja Franja de Ponent #> 5 Illes Illes Balears #> 6 Illes Pitiüses #> 7 Illes Mallorca #> 8 Illes Menorca #> 9 Múrcia El Carche #> 10 Principat Català com a llengua pròpia a Catalunya #> 11 Principat Catalunya #> 12 PV Comunitat Valenciana #> 13 PV Municipis de Predomini Lingüístic Valencià"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/versio_canvis_html.html","id":null,"dir":"Reference","previous_headings":"","what":"Mostra les versions que introdueixen canvis en html — versio_canvis_html","title":"Mostra les versions que introdueixen canvis en html — versio_canvis_html","text":"Funció pensada per usar en fitxers .qmd o .Rmd.","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/versio_canvis_html.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Ús","title":"Mostra les versions que introdueixen canvis en html — versio_canvis_html","text":"","code":"versio_canvis_html(x)"},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/versio_canvis_html.html","id":"par-metres","dir":"Reference","previous_headings":"","what":"Paràmetres","title":"Mostra les versions que introdueixen canvis en html — versio_canvis_html","text":"x Una llista de canvis retornada per cerca_versio_canvis().","code":""},{"path":"https://osm-catalan.github.io/monitorOSM/docs/reference/versio_canvis_html.html","id":"valor","dir":"Reference","previous_headings":"","what":"Valor","title":"Mostra les versions que introdueixen canvis en html — versio_canvis_html","text":"Mostra les taules html amb informació del conjunt de canvis que ha modificat etiquetes.","code":""}] diff --git a/docs/site.webmanifest b/docs/site.webmanifest new file mode 100644 index 0000000..4ebda26 --- /dev/null +++ b/docs/site.webmanifest @@ -0,0 +1,21 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/web-app-manifest-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "/web-app-manifest-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml new file mode 100644 index 0000000..c1ffc8b --- /dev/null +++ b/docs/sitemap.xml @@ -0,0 +1,23 @@ + +https://osm-catalan.github.io/monitorOSM/docs/404.html +https://osm-catalan.github.io/monitorOSM/docs/LICENSE.html +https://osm-catalan.github.io/monitorOSM/docs/authors.html +https://osm-catalan.github.io/monitorOSM/docs/index.html +https://osm-catalan.github.io/monitorOSM/docs/reference/PPCC.html +https://osm-catalan.github.io/monitorOSM/docs/reference/canvis_html.html +https://osm-catalan.github.io/monitorOSM/docs/reference/capitals.html +https://osm-catalan.github.io/monitorOSM/docs/reference/cerca_versio_canvis.html +https://osm-catalan.github.io/monitorOSM/docs/reference/comarques.html +https://osm-catalan.github.io/monitorOSM/docs/reference/comprova_canvis_osm.html +https://osm-catalan.github.io/monitorOSM/docs/reference/consulta_etiquetes_osm.html +https://osm-catalan.github.io/monitorOSM/docs/reference/estats.html +https://osm-catalan.github.io/monitorOSM/docs/reference/index.html +https://osm-catalan.github.io/monitorOSM/docs/reference/loc_admin_centre_municipis.html +https://osm-catalan.github.io/monitorOSM/docs/reference/mars.html +https://osm-catalan.github.io/monitorOSM/docs/reference/missatge_telegram.html +https://osm-catalan.github.io/monitorOSM/docs/reference/modifica_etiquetes_osm.html +https://osm-catalan.github.io/monitorOSM/docs/reference/municipis.html +https://osm-catalan.github.io/monitorOSM/docs/reference/territoris.html +https://osm-catalan.github.io/monitorOSM/docs/reference/versio_canvis_html.html + + diff --git a/docs/web-app-manifest-192x192.png b/docs/web-app-manifest-192x192.png new file mode 100644 index 0000000..7e7be8f Binary files /dev/null and b/docs/web-app-manifest-192x192.png differ diff --git a/docs/web-app-manifest-512x512.png b/docs/web-app-manifest-512x512.png new file mode 100644 index 0000000..7fa3577 Binary files /dev/null and b/docs/web-app-manifest-512x512.png differ