diff --git a/.gitattributes b/.gitattributes index d89f53a823bf24d8580208fe4ad0f30936ae4391..c1aec0b202f595864e46f5ab0c4e21b6dd0ccbea 100644 --- a/.gitattributes +++ b/.gitattributes @@ -238,3 +238,10 @@ tuning-competition-baseline/.venv/lib/python3.11/site-packages/torch/_inductor/_ .venv/lib/python3.11/site-packages/pycountry/locales/de/LC_MESSAGES/iso639-3.mo filter=lfs diff=lfs merge=lfs -text .venv/lib/python3.11/site-packages/pycountry/locales/da/LC_MESSAGES/iso3166-2.mo filter=lfs diff=lfs merge=lfs -text .venv/lib/python3.11/site-packages/pycountry/locales/id/LC_MESSAGES/iso3166-2.mo filter=lfs diff=lfs merge=lfs -text +.venv/lib/python3.11/site-packages/pycountry/locales/de/LC_MESSAGES/iso3166-2.mo filter=lfs diff=lfs merge=lfs -text +.venv/lib/python3.11/site-packages/pycountry/locales/nl/LC_MESSAGES/iso3166-2.mo filter=lfs diff=lfs merge=lfs -text +.venv/lib/python3.11/site-packages/pycountry/locales/ro/LC_MESSAGES/iso3166-2.mo filter=lfs diff=lfs merge=lfs -text +.venv/lib/python3.11/site-packages/pycountry/locales/sr/LC_MESSAGES/iso3166-2.mo filter=lfs diff=lfs merge=lfs -text +.venv/lib/python3.11/site-packages/pycountry/locales/gl/LC_MESSAGES/iso639-3.mo filter=lfs diff=lfs merge=lfs -text +.venv/lib/python3.11/site-packages/pycountry/locales/sv/LC_MESSAGES/iso3166-2.mo filter=lfs diff=lfs merge=lfs -text +.venv/lib/python3.11/site-packages/pycountry/locales/sv/LC_MESSAGES/iso639-3.mo filter=lfs diff=lfs merge=lfs -text diff --git a/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/INSTALLER b/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/INSTALLER new file mode 100644 index 0000000000000000000000000000000000000000..a1b589e38a32041e49332e5e81c2d363dc418d68 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/License.txt b/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/License.txt new file mode 100644 index 0000000000000000000000000000000000000000..b491c70e0aef319022ded661e111ddbd45b8a17f --- /dev/null +++ b/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/License.txt @@ -0,0 +1,1568 @@ +End User License Agreement +-------------------------- + + +Preface +------- + +The Software License Agreement in Chapter 1 and the Supplement +in Chapter 2 contain license terms and conditions that govern +the use of NVIDIA software. By accepting this agreement, you +agree to comply with all the terms and conditions applicable +to the product(s) included herein. + + +NVIDIA Driver + + +Description + +This package contains the operating system driver and +fundamental system software components for NVIDIA GPUs. + + +NVIDIA CUDA Toolkit + + +Description + +The NVIDIA CUDA Toolkit provides command-line and graphical +tools for building, debugging and optimizing the performance +of applications accelerated by NVIDIA GPUs, runtime and math +libraries, and documentation including programming guides, +user manuals, and API references. + + +Default Install Location of CUDA Toolkit + +Windows platform: + +%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v#.# + +Linux platform: + +/usr/local/cuda-#.# + +Mac platform: + +/Developer/NVIDIA/CUDA-#.# + + +NVIDIA CUDA Samples + + +Description + +This package includes over 100+ CUDA examples that demonstrate +various CUDA programming principles, and efficient CUDA +implementation of algorithms in specific application domains. + + +Default Install Location of CUDA Samples + +Windows platform: + +%ProgramData%\NVIDIA Corporation\CUDA Samples\v#.# + +Linux platform: + +/usr/local/cuda-#.#/samples + +and + +$HOME/NVIDIA_CUDA-#.#_Samples + +Mac platform: + +/Developer/NVIDIA/CUDA-#.#/samples + + +NVIDIA Nsight Visual Studio Edition (Windows only) + + +Description + +NVIDIA Nsight Development Platform, Visual Studio Edition is a +development environment integrated into Microsoft Visual +Studio that provides tools for debugging, profiling, analyzing +and optimizing your GPU computing and graphics applications. + + +Default Install Location of Nsight Visual Studio Edition + +Windows platform: + +%ProgramFiles(x86)%\NVIDIA Corporation\Nsight Visual Studio Edition #.# + + +1. License Agreement for NVIDIA Software Development Kits +--------------------------------------------------------- + + +Release Date: July 26, 2018 +--------------------------- + + +Important NoticeRead before downloading, installing, +copying or using the licensed software: +------------------------------------------------------- + +This license agreement, including exhibits attached +("Agreement”) is a legal agreement between you and NVIDIA +Corporation ("NVIDIA") and governs your use of a NVIDIA +software development kit (“SDK”). + +Each SDK has its own set of software and materials, but here +is a description of the types of items that may be included in +a SDK: source code, header files, APIs, data sets and assets +(examples include images, textures, models, scenes, videos, +native API input/output files), binary software, sample code, +libraries, utility programs, programming code and +documentation. + +This Agreement can be accepted only by an adult of legal age +of majority in the country in which the SDK is used. + +If you are entering into this Agreement on behalf of a company +or other legal entity, you represent that you have the legal +authority to bind the entity to this Agreement, in which case +“you” will mean the entity you represent. + +If you don’t have the required age or authority to accept +this Agreement, or if you don’t accept all the terms and +conditions of this Agreement, do not download, install or use +the SDK. + +You agree to use the SDK only for purposes that are permitted +by (a) this Agreement, and (b) any applicable law, regulation +or generally accepted practices or guidelines in the relevant +jurisdictions. + + +1.1. License + + +1.1.1. License Grant + +Subject to the terms of this Agreement, NVIDIA hereby grants +you a non-exclusive, non-transferable license, without the +right to sublicense (except as expressly provided in this +Agreement) to: + + 1. Install and use the SDK, + + 2. Modify and create derivative works of sample source code + delivered in the SDK, and + + 3. Distribute those portions of the SDK that are identified + in this Agreement as distributable, as incorporated in + object code format into a software application that meets + the distribution requirements indicated in this Agreement. + + +1.1.2. Distribution Requirements + +These are the distribution requirements for you to exercise +the distribution grant: + + 1. Your application must have material additional + functionality, beyond the included portions of the SDK. + + 2. The distributable portions of the SDK shall only be + accessed by your application. + + 3. The following notice shall be included in modifications + and derivative works of sample source code distributed: + “This software contains source code provided by NVIDIA + Corporation.” + + 4. Unless a developer tool is identified in this Agreement + as distributable, it is delivered for your internal use + only. + + 5. The terms under which you distribute your application + must be consistent with the terms of this Agreement, + including (without limitation) terms relating to the + license grant and license restrictions and protection of + NVIDIA’s intellectual property rights. Additionally, you + agree that you will protect the privacy, security and + legal rights of your application users. + + 6. You agree to notify NVIDIA in writing of any known or + suspected distribution or use of the SDK not in compliance + with the requirements of this Agreement, and to enforce + the terms of your agreements with respect to distributed + SDK. + + +1.1.3. Authorized Users + +You may allow employees and contractors of your entity or of +your subsidiary(ies) to access and use the SDK from your +secure network to perform work on your behalf. + +If you are an academic institution you may allow users +enrolled or employed by the academic institution to access and +use the SDK from your secure network. + +You are responsible for the compliance with the terms of this +Agreement by your authorized users. If you become aware that +your authorized users didn’t follow the terms of this +Agreement, you agree to take reasonable steps to resolve the +non-compliance and prevent new occurrences. + + +1.1.4. Pre-Release SDK + +The SDK versions identified as alpha, beta, preview or +otherwise as pre-release, may not be fully functional, may +contain errors or design flaws, and may have reduced or +different security, privacy, accessibility, availability, and +reliability standards relative to commercial versions of +NVIDIA software and materials. Use of a pre-release SDK may +result in unexpected results, loss of data, project delays or +other unpredictable damage or loss. + +You may use a pre-release SDK at your own risk, understanding +that pre-release SDKs are not intended for use in production +or business-critical systems. + +NVIDIA may choose not to make available a commercial version +of any pre-release SDK. NVIDIA may also choose to abandon +development and terminate the availability of a pre-release +SDK at any time without liability. + + +1.1.5. Updates + +NVIDIA may, at its option, make available patches, workarounds +or other updates to this SDK. Unless the updates are provided +with their separate governing terms, they are deemed part of +the SDK licensed to you as provided in this Agreement. You +agree that the form and content of the SDK that NVIDIA +provides may change without prior notice to you. While NVIDIA +generally maintains compatibility between versions, NVIDIA may +in some cases make changes that introduce incompatibilities in +future versions of the SDK. + + +1.1.6. Third Party Licenses + +The SDK may come bundled with, or otherwise include or be +distributed with, third party software licensed by a NVIDIA +supplier and/or open source software provided under an open +source license. Use of third party software is subject to the +third-party license terms, or in the absence of third party +terms, the terms of this Agreement. Copyright to third party +software is held by the copyright holders indicated in the +third-party software or license. + + +1.1.7. Reservation of Rights + +NVIDIA reserves all rights, title, and interest in and to the +SDK, not expressly granted to you under this Agreement. + + +1.2. Limitations + +The following license limitations apply to your use of the +SDK: + + 1. You may not reverse engineer, decompile or disassemble, + or remove copyright or other proprietary notices from any + portion of the SDK or copies of the SDK. + + 2. Except as expressly provided in this Agreement, you may + not copy, sell, rent, sublicense, transfer, distribute, + modify, or create derivative works of any portion of the + SDK. For clarity, you may not distribute or sublicense the + SDK as a stand-alone product. + + 3. Unless you have an agreement with NVIDIA for this + purpose, you may not indicate that an application created + with the SDK is sponsored or endorsed by NVIDIA. + + 4. You may not bypass, disable, or circumvent any + encryption, security, digital rights management or + authentication mechanism in the SDK. + + 5. You may not use the SDK in any manner that would cause it + to become subject to an open source software license. As + examples, licenses that require as a condition of use, + modification, and/or distribution that the SDK be: + + a. Disclosed or distributed in source code form; + + b. Licensed for the purpose of making derivative works; + or + + c. Redistributable at no charge. + + 6. Unless you have an agreement with NVIDIA for this + purpose, you may not use the SDK with any system or + application where the use or failure of the system or + application can reasonably be expected to threaten or + result in personal injury, death, or catastrophic loss. + Examples include use in avionics, navigation, military, + medical, life support or other life critical applications. + NVIDIA does not design, test or manufacture the SDK for + these critical uses and NVIDIA shall not be liable to you + or any third party, in whole or in part, for any claims or + damages arising from such uses. + + 7. You agree to defend, indemnify and hold harmless NVIDIA + and its affiliates, and their respective employees, + contractors, agents, officers and directors, from and + against any and all claims, damages, obligations, losses, + liabilities, costs or debt, fines, restitutions and + expenses (including but not limited to attorney’s fees + and costs incident to establishing the right of + indemnification) arising out of or related to your use of + the SDK outside of the scope of this Agreement, or not in + compliance with its terms. + + +1.3. Ownership + + 1. NVIDIA or its licensors hold all rights, title and + interest in and to the SDK and its modifications and + derivative works, including their respective intellectual + property rights, subject to your rights described in this + section. This SDK may include software and materials from + NVIDIA’s licensors, and these licensors are intended + third party beneficiaries that may enforce this Agreement + with respect to their intellectual property rights. + + 2. You hold all rights, title and interest in and to your + applications and your derivative works of the sample + source code delivered in the SDK, including their + respective intellectual property rights, subject to + NVIDIA’s rights described in this section. + + 3. You may, but don’t have to, provide to NVIDIA + suggestions, feature requests or other feedback regarding + the SDK, including possible enhancements or modifications + to the SDK. For any feedback that you voluntarily provide, + you hereby grant NVIDIA and its affiliates a perpetual, + non-exclusive, worldwide, irrevocable license to use, + reproduce, modify, license, sublicense (through multiple + tiers of sublicensees), and distribute (through multiple + tiers of distributors) it without the payment of any + royalties or fees to you. NVIDIA will use feedback at its + choice. NVIDIA is constantly looking for ways to improve + its products, so you may send feedback to NVIDIA through + the developer portal at https://developer.nvidia.com. + + +1.4. No Warranties + +THE SDK IS PROVIDED BY NVIDIA “AS IS” AND “WITH ALL +FAULTS.” TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA AND +ITS AFFILIATES EXPRESSLY DISCLAIM ALL WARRANTIES OF ANY KIND +OR NATURE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, +BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, OR THE +ABSENCE OF ANY DEFECTS THEREIN, WHETHER LATENT OR PATENT. NO +WARRANTY IS MADE ON THE BASIS OF TRADE USAGE, COURSE OF +DEALING OR COURSE OF TRADE. + + +1.5. Limitation of Liability + +TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA AND ITS +AFFILIATES SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, +PUNITIVE OR CONSEQUENTIAL DAMAGES, OR ANY LOST PROFITS, LOSS +OF USE, LOSS OF DATA OR LOSS OF GOODWILL, OR THE COSTS OF +PROCURING SUBSTITUTE PRODUCTS, ARISING OUT OF OR IN CONNECTION +WITH THIS AGREEMENT OR THE USE OR PERFORMANCE OF THE SDK, +WHETHER SUCH LIABILITY ARISES FROM ANY CLAIM BASED UPON BREACH +OF CONTRACT, BREACH OF WARRANTY, TORT (INCLUDING NEGLIGENCE), +PRODUCT LIABILITY OR ANY OTHER CAUSE OF ACTION OR THEORY OF +LIABILITY. IN NO EVENT WILL NVIDIA’S AND ITS AFFILIATES +TOTAL CUMULATIVE LIABILITY UNDER OR ARISING OUT OF THIS +AGREEMENT EXCEED US$10.00. THE NATURE OF THE LIABILITY OR THE +NUMBER OF CLAIMS OR SUITS SHALL NOT ENLARGE OR EXTEND THIS +LIMIT. + +These exclusions and limitations of liability shall apply +regardless if NVIDIA or its affiliates have been advised of +the possibility of such damages, and regardless of whether a +remedy fails its essential purpose. These exclusions and +limitations of liability form an essential basis of the +bargain between the parties, and, absent any of these +exclusions or limitations of liability, the provisions of this +Agreement, including, without limitation, the economic terms, +would be substantially different. + + +1.6. Termination + + 1. This Agreement will continue to apply until terminated by + either you or NVIDIA as described below. + + 2. If you want to terminate this Agreement, you may do so by + stopping to use the SDK. + + 3. NVIDIA may, at any time, terminate this Agreement if: + + a. (i) you fail to comply with any term of this + Agreement and the non-compliance is not fixed within + thirty (30) days following notice from NVIDIA (or + immediately if you violate NVIDIA’s intellectual + property rights); + + b. (ii) you commence or participate in any legal + proceeding against NVIDIA with respect to the SDK; or + + c. (iii) NVIDIA decides to no longer provide the SDK in + a country or, in NVIDIA’s sole discretion, the + continued use of it is no longer commercially viable. + + 4. Upon any termination of this Agreement, you agree to + promptly discontinue use of the SDK and destroy all copies + in your possession or control. Your prior distributions in + accordance with this Agreement are not affected by the + termination of this Agreement. Upon written request, you + will certify in writing that you have complied with your + commitments under this section. Upon any termination of + this Agreement all provisions survive except for the + license grant provisions. + + +1.7. General + +If you wish to assign this Agreement or your rights and +obligations, including by merger, consolidation, dissolution +or operation of law, contact NVIDIA to ask for permission. Any +attempted assignment not approved by NVIDIA in writing shall +be void and of no effect. NVIDIA may assign, delegate or +transfer this Agreement and its rights and obligations, and if +to a non-affiliate you will be notified. + +You agree to cooperate with NVIDIA and provide reasonably +requested information to verify your compliance with this +Agreement. + +This Agreement will be governed in all respects by the laws of +the United States and of the State of Delaware as those laws +are applied to contracts entered into and performed entirely +within Delaware by Delaware residents, without regard to the +conflicts of laws principles. The United Nations Convention on +Contracts for the International Sale of Goods is specifically +disclaimed. You agree to all terms of this Agreement in the +English language. + +The state or federal courts residing in Santa Clara County, +California shall have exclusive jurisdiction over any dispute +or claim arising out of this Agreement. Notwithstanding this, +you agree that NVIDIA shall still be allowed to apply for +injunctive remedies or an equivalent type of urgent legal +relief in any jurisdiction. + +If any court of competent jurisdiction determines that any +provision of this Agreement is illegal, invalid or +unenforceable, such provision will be construed as limited to +the extent necessary to be consistent with and fully +enforceable under the law and the remaining provisions will +remain in full force and effect. Unless otherwise specified, +remedies are cumulative. + +Each party acknowledges and agrees that the other is an +independent contractor in the performance of this Agreement. + +The SDK has been developed entirely at private expense and is +“commercial items” consisting of “commercial computer +software” and “commercial computer software +documentation” provided with RESTRICTED RIGHTS. Use, +duplication or disclosure by the U.S. Government or a U.S. +Government subcontractor is subject to the restrictions in +this Agreement pursuant to DFARS 227.7202-3(a) or as set forth +in subparagraphs (c)(1) and (2) of the Commercial Computer +Software - Restricted Rights clause at FAR 52.227-19, as +applicable. Contractor/manufacturer is NVIDIA, 2788 San Tomas +Expressway, Santa Clara, CA 95051. + +The SDK is subject to United States export laws and +regulations. You agree that you will not ship, transfer or +export the SDK into any country, or use the SDK in any manner, +prohibited by the United States Bureau of Industry and +Security or economic sanctions regulations administered by the +U.S. Department of Treasury’s Office of Foreign Assets +Control (OFAC), or any applicable export laws, restrictions or +regulations. These laws include restrictions on destinations, +end users and end use. By accepting this Agreement, you +confirm that you are not a resident or citizen of any country +currently embargoed by the U.S. and that you are not otherwise +prohibited from receiving the SDK. + +Any notice delivered by NVIDIA to you under this Agreement +will be delivered via mail, email or fax. You agree that any +notices that NVIDIA sends you electronically will satisfy any +legal communication requirements. Please direct your legal +notices or other correspondence to NVIDIA Corporation, 2788 +San Tomas Expressway, Santa Clara, California 95051, United +States of America, Attention: Legal Department. + +This Agreement and any exhibits incorporated into this +Agreement constitute the entire agreement of the parties with +respect to the subject matter of this Agreement and supersede +all prior negotiations or documentation exchanged between the +parties relating to this SDK license. Any additional and/or +conflicting terms on documents issued by you are null, void, +and invalid. Any amendment or waiver under this Agreement +shall be in writing and signed by representatives of both +parties. + + +2. CUDA Toolkit Supplement to Software License Agreement for +NVIDIA Software Development Kits +------------------------------------------------------------ + + +Release date: August 16, 2018 +----------------------------- + +The terms in this supplement govern your use of the NVIDIA +CUDA Toolkit SDK under the terms of your license agreement +(“Agreement”) as modified by this supplement. Capitalized +terms used but not defined below have the meaning assigned to +them in the Agreement. + +This supplement is an exhibit to the Agreement and is +incorporated as an integral part of the Agreement. In the +event of conflict between the terms in this supplement and the +terms in the Agreement, the terms in this supplement govern. + + +2.1. License Scope + +The SDK is licensed for you to develop applications only for +use in systems with NVIDIA GPUs. + + +2.2. Distribution + +The portions of the SDK that are distributable under the +Agreement are listed in Attachment A. + + +2.3. Operating Systems + +Those portions of the SDK designed exclusively for use on the +Linux or FreeBSD operating systems, or other operating systems +derived from the source code to these operating systems, may +be copied and redistributed for use in accordance with this +Agreement, provided that the object code files are not +modified in any way (except for unzipping of compressed +files). + + +2.4. Audio and Video Encoders and Decoders + +You acknowledge and agree that it is your sole responsibility +to obtain any additional third-party licenses required to +make, have made, use, have used, sell, import, and offer for +sale your products or services that include or incorporate any +third-party software and content relating to audio and/or +video encoders and decoders from, including but not limited +to, Microsoft, Thomson, Fraunhofer IIS, Sisvel S.p.A., +MPEG-LA, and Coding Technologies. NVIDIA does not grant to you +under this Agreement any necessary patent or other rights with +respect to any audio and/or video encoders and decoders. + + +2.5. Licensing + +If the distribution terms in this Agreement are not suitable +for your organization, or for any questions regarding this +Agreement, please contact NVIDIA at +nvidia-compute-license-questions@nvidia.com. + + +2.6. Attachment A + +The following portions of the SDK are distributable under the +Agreement: + +Component + +CUDA Runtime + +Windows + +cudart.dll, cudart_static.lib, cudadevrt.lib + +Mac OSX + +libcudart.dylib, libcudart_static.a, libcudadevrt.a + +Linux + +libcudart.so, libcudart_static.a, libcudadevrt.a + +Android + +libcudart.so, libcudart_static.a, libcudadevrt.a + +Component + +CUDA FFT Library + +Windows + +cufft.dll, cufftw.dll, cufft.lib, cufftw.lib + +Mac OSX + +libcufft.dylib, libcufft_static.a, libcufftw.dylib, +libcufftw_static.a + +Linux + +libcufft.so, libcufft_static.a, libcufftw.so, +libcufftw_static.a + +Android + +libcufft.so, libcufft_static.a, libcufftw.so, +libcufftw_static.a + +Component + +CUDA BLAS Library + +Windows + +cublas.dll, cublasLt.dll + +Mac OSX + +libcublas.dylib, libcublasLt.dylib, libcublas_static.a, +libcublasLt_static.a + +Linux + +libcublas.so, libcublasLt.so, libcublas_static.a, +libcublasLt_static.a + +Android + +libcublas.so, libcublasLt.so, libcublas_static.a, +libcublasLt_static.a + +Component + +NVIDIA "Drop-in" BLAS Library + +Windows + +nvblas.dll + +Mac OSX + +libnvblas.dylib + +Linux + +libnvblas.so + +Component + +CUDA Sparse Matrix Library + +Windows + +cusparse.dll, cusparse.lib + +Mac OSX + +libcusparse.dylib, libcusparse_static.a + +Linux + +libcusparse.so, libcusparse_static.a + +Android + +libcusparse.so, libcusparse_static.a + +Component + +CUDA Linear Solver Library + +Windows + +cusolver.dll, cusolver.lib + +Mac OSX + +libcusolver.dylib, libcusolver_static.a + +Linux + +libcusolver.so, libcusolver_static.a + +Android + +libcusolver.so, libcusolver_static.a + +Component + +CUDA Random Number Generation Library + +Windows + +curand.dll, curand.lib + +Mac OSX + +libcurand.dylib, libcurand_static.a + +Linux + +libcurand.so, libcurand_static.a + +Android + +libcurand.so, libcurand_static.a + +Component + +CUDA Accelerated Graph Library + +Component + +NVIDIA Performance Primitives Library + +Windows + +nppc.dll, nppc.lib, nppial.dll, nppial.lib, nppicc.dll, +nppicc.lib, nppicom.dll, nppicom.lib, nppidei.dll, +nppidei.lib, nppif.dll, nppif.lib, nppig.dll, nppig.lib, +nppim.dll, nppim.lib, nppist.dll, nppist.lib, nppisu.dll, +nppisu.lib, nppitc.dll, nppitc.lib, npps.dll, npps.lib + +Mac OSX + +libnppc.dylib, libnppc_static.a, libnppial.dylib, +libnppial_static.a, libnppicc.dylib, libnppicc_static.a, +libnppicom.dylib, libnppicom_static.a, libnppidei.dylib, +libnppidei_static.a, libnppif.dylib, libnppif_static.a, +libnppig.dylib, libnppig_static.a, libnppim.dylib, +libnppisu_static.a, libnppitc.dylib, libnppitc_static.a, +libnpps.dylib, libnpps_static.a + +Linux + +libnppc.so, libnppc_static.a, libnppial.so, +libnppial_static.a, libnppicc.so, libnppicc_static.a, +libnppicom.so, libnppicom_static.a, libnppidei.so, +libnppidei_static.a, libnppif.so, libnppif_static.a +libnppig.so, libnppig_static.a, libnppim.so, +libnppim_static.a, libnppist.so, libnppist_static.a, +libnppisu.so, libnppisu_static.a, libnppitc.so +libnppitc_static.a, libnpps.so, libnpps_static.a + +Android + +libnppc.so, libnppc_static.a, libnppial.so, +libnppial_static.a, libnppicc.so, libnppicc_static.a, +libnppicom.so, libnppicom_static.a, libnppidei.so, +libnppidei_static.a, libnppif.so, libnppif_static.a +libnppig.so, libnppig_static.a, libnppim.so, +libnppim_static.a, libnppist.so, libnppist_static.a, +libnppisu.so, libnppisu_static.a, libnppitc.so +libnppitc_static.a, libnpps.so, libnpps_static.a + +Component + +NVIDIA JPEG Library + +Linux + +libnvjpeg.so, libnvjpeg_static.a + +Component + +Internal common library required for statically linking to +cuBLAS, cuSPARSE, cuFFT, cuRAND, nvJPEG and NPP + +Mac OSX + +libculibos.a + +Linux + +libculibos.a + +Component + +NVIDIA Runtime Compilation Library and Header + +All + +nvrtc.h + +Windows + +nvrtc.dll, nvrtc-builtins.dll + +Mac OSX + +libnvrtc.dylib, libnvrtc-builtins.dylib + +Linux + +libnvrtc.so, libnvrtc-builtins.so + +Component + +NVIDIA Optimizing Compiler Library + +Windows + +nvvm.dll + +Mac OSX + +libnvvm.dylib + +Linux + +libnvvm.so + +Component + +NVIDIA Common Device Math Functions Library + +Windows + +libdevice.10.bc + +Mac OSX + +libdevice.10.bc + +Linux + +libdevice.10.bc + +Component + +CUDA Occupancy Calculation Header Library + +All + +cuda_occupancy.h + +Component + +CUDA Half Precision Headers + +All + +cuda_fp16.h, cuda_fp16.hpp + +Component + +CUDA Profiling Tools Interface (CUPTI) Library + +Windows + +cupti.dll + +Mac OSX + +libcupti.dylib + +Linux + +libcupti.so + +Component + +NVIDIA Tools Extension Library + +Windows + +nvToolsExt.dll, nvToolsExt.lib + +Mac OSX + +libnvToolsExt.dylib + +Linux + +libnvToolsExt.so + +Component + +NVIDIA CUDA Driver Libraries + +Linux + +libcuda.so, libnvidia-fatbinaryloader.so, +libnvidia-ptxjitcompiler.so + +The NVIDIA CUDA Driver Libraries are only distributable in +applications that meet this criteria: + + 1. The application was developed starting from a NVIDIA CUDA + container obtained from Docker Hub or the NVIDIA GPU + Cloud, and + + 2. The resulting application is packaged as a Docker + container and distributed to users on Docker Hub or the + NVIDIA GPU Cloud only. + + +2.7. Attachment B + + +Additional Licensing Obligations + +The following third party components included in the SOFTWARE +are licensed to Licensee pursuant to the following terms and +conditions: + + 1. Licensee's use of the GDB third party component is + subject to the terms and conditions of GNU GPL v3: + + This product includes copyrighted third-party software licensed + under the terms of the GNU General Public License v3 ("GPL v3"). + All third-party software packages are copyright by their respective + authors. GPL v3 terms and conditions are hereby incorporated into + the Agreement by this reference: http://www.gnu.org/licenses/gpl.txt + + Consistent with these licensing requirements, the software + listed below is provided under the terms of the specified + open source software licenses. To obtain source code for + software provided under licenses that require + redistribution of source code, including the GNU General + Public License (GPL) and GNU Lesser General Public License + (LGPL), contact oss-requests@nvidia.com. This offer is + valid for a period of three (3) years from the date of the + distribution of this product by NVIDIA CORPORATION. + + Component License + CUDA-GDB GPL v3 + + 2. Licensee represents and warrants that any and all third + party licensing and/or royalty payment obligations in + connection with Licensee's use of the H.264 video codecs + are solely the responsibility of Licensee. + + 3. Licensee's use of the Thrust library is subject to the + terms and conditions of the Apache License Version 2.0. + All third-party software packages are copyright by their + respective authors. Apache License Version 2.0 terms and + conditions are hereby incorporated into the Agreement by + this reference. + http://www.apache.org/licenses/LICENSE-2.0.html + + In addition, Licensee acknowledges the following notice: + Thrust includes source code from the Boost Iterator, + Tuple, System, and Random Number libraries. + + Boost Software License - Version 1.0 - August 17th, 2003 + . . . . + + Permission is hereby granted, free of charge, to any person or + organization obtaining a copy of the software and accompanying + documentation covered by this license (the "Software") to use, + reproduce, display, distribute, execute, and transmit the Software, + and to prepare derivative works of the Software, and to permit + third-parties to whom the Software is furnished to do so, all + subject to the following: + + The copyright notices in the Software and this entire statement, + including the above license grant, this restriction and the following + disclaimer, must be included in all copies of the Software, in whole + or in part, and all derivative works of the Software, unless such + copies or derivative works are solely in the form of machine-executable + object code generated by a source language processor. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND + NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR + ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR + OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + 4. Licensee's use of the LLVM third party component is + subject to the following terms and conditions: + + ====================================================== + LLVM Release License + ====================================================== + University of Illinois/NCSA + Open Source License + + Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign. + All rights reserved. + + Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal with the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at Urbana- + Champaign, nor the names of its contributors may be used to endorse or + promote products derived from this Software without specific prior + written permission. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS WITH THE SOFTWARE. + + 5. Licensee's use (e.g. nvprof) of the PCRE third party + component is subject to the following terms and + conditions: + + ------------ + PCRE LICENCE + ------------ + PCRE is a library of functions to support regular expressions whose syntax + and semantics are as close as possible to those of the Perl 5 language. + Release 8 of PCRE is distributed under the terms of the "BSD" licence, as + specified below. The documentation for PCRE, supplied in the "doc" + directory, is distributed under the same terms as the software itself. The + basic library functions are written in C and are freestanding. Also + included in the distribution is a set of C++ wrapper functions, and a just- + in-time compiler that can be used to optimize pattern matching. These are + both optional features that can be omitted when the library is built. + + THE BASIC LIBRARY FUNCTIONS + --------------------------- + Written by: Philip Hazel + Email local part: ph10 + Email domain: cam.ac.uk + University of Cambridge Computing Service, + Cambridge, England. + Copyright (c) 1997-2012 University of Cambridge + All rights reserved. + + PCRE JUST-IN-TIME COMPILATION SUPPORT + ------------------------------------- + Written by: Zoltan Herczeg + Email local part: hzmester + Emain domain: freemail.hu + Copyright(c) 2010-2012 Zoltan Herczeg + All rights reserved. + + STACK-LESS JUST-IN-TIME COMPILER + -------------------------------- + Written by: Zoltan Herczeg + Email local part: hzmester + Emain domain: freemail.hu + Copyright(c) 2009-2012 Zoltan Herczeg + All rights reserved. + + THE C++ WRAPPER FUNCTIONS + ------------------------- + Contributed by: Google Inc. + Copyright (c) 2007-2012, Google Inc. + All rights reserved. + + THE "BSD" LICENCE + ----------------- + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the name of Google + Inc. nor the names of their contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + 6. Some of the cuBLAS library routines were written by or + derived from code written by Vasily Volkov and are subject + to the Modified Berkeley Software Distribution License as + follows: + + Copyright (c) 2007-2009, Regents of the University of California + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of the University of California, Berkeley nor + the names of its contributors may be used to endorse or promote + products derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + 7. Some of the cuBLAS library routines were written by or + derived from code written by Davide Barbieri and are + subject to the Modified Berkeley Software Distribution + License as follows: + + Copyright (c) 2008-2009 Davide Barbieri @ University of Rome Tor Vergata. + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * The name of the author may not be used to endorse or promote + products derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + 8. Some of the cuBLAS library routines were derived from + code developed by the University of Tennessee and are + subject to the Modified Berkeley Software Distribution + License as follows: + + Copyright (c) 2010 The University of Tennessee. + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer listed in this license in the documentation and/or + other materials provided with the distribution. + * Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 9. Some of the cuBLAS library routines were written by or + derived from code written by Jonathan Hogg and are subject + to the Modified Berkeley Software Distribution License as + follows: + + Copyright (c) 2012, The Science and Technology Facilities Council (STFC). + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of the STFC nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE STFC BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 10. Some of the cuBLAS library routines were written by or + derived from code written by Ahmad M. Abdelfattah, David + Keyes, and Hatem Ltaief, and are subject to the Apache + License, Version 2.0, as follows: + + -- (C) Copyright 2013 King Abdullah University of Science and Technology + Authors: + Ahmad Abdelfattah (ahmad.ahmad@kaust.edu.sa) + David Keyes (david.keyes@kaust.edu.sa) + Hatem Ltaief (hatem.ltaief@kaust.edu.sa) + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the King Abdullah University of Science and + Technology nor the names of its contributors may be used to endorse + or promote products derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + + 11. Some of the cuSPARSE library routines were written by or + derived from code written by Li-Wen Chang and are subject + to the NCSA Open Source License as follows: + + Copyright (c) 2012, University of Illinois. + + All rights reserved. + + Developed by: IMPACT Group, University of Illinois, http://impact.crhc.illinois.edu + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal with the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimers in the documentation and/or other materials provided + with the distribution. + * Neither the names of IMPACT Group, University of Illinois, nor + the names of its contributors may be used to endorse or promote + products derived from this Software without specific prior + written permission. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR + IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE + SOFTWARE. + + 12. Some of the cuRAND library routines were written by or + derived from code written by Mutsuo Saito and Makoto + Matsumoto and are subject to the following license: + + Copyright (c) 2009, 2010 Mutsuo Saito, Makoto Matsumoto and Hiroshima + University. All rights reserved. + + Copyright (c) 2011 Mutsuo Saito, Makoto Matsumoto, Hiroshima + University and University of Tokyo. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of the Hiroshima University nor the names of + its contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 13. Some of the cuRAND library routines were derived from + code developed by D. E. Shaw Research and are subject to + the following license: + + Copyright 2010-2011, D. E. Shaw Research. + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions, and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions, and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of D. E. Shaw Research nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 14. Some of the Math library routines were written by or + derived from code developed by Norbert Juffa and are + subject to the following license: + + Copyright (c) 2015-2017, Norbert Juffa + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 15. Licensee's use of the lz4 third party component is + subject to the following terms and conditions: + + Copyright (C) 2011-2013, Yann Collet. + BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 16. The NPP library uses code from the Boost Math Toolkit, + and is subject to the following license: + + Boost Software License - Version 1.0 - August 17th, 2003 + . . . . + + Permission is hereby granted, free of charge, to any person or + organization obtaining a copy of the software and accompanying + documentation covered by this license (the "Software") to use, + reproduce, display, distribute, execute, and transmit the Software, + and to prepare derivative works of the Software, and to permit + third-parties to whom the Software is furnished to do so, all + subject to the following: + + The copyright notices in the Software and this entire statement, + including the above license grant, this restriction and the following + disclaimer, must be included in all copies of the Software, in whole + or in part, and all derivative works of the Software, unless such + copies or derivative works are solely in the form of machine-executable + object code generated by a source language processor. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND + NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR + ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR + OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + 17. Portions of the Nsight Eclipse Edition is subject to the + following license: + + The Eclipse Foundation makes available all content in this plug-in + ("Content"). Unless otherwise indicated below, the Content is provided + to you under the terms and conditions of the Eclipse Public License + Version 1.0 ("EPL"). A copy of the EPL is available at http:// + www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" + will mean the Content. + + If you did not receive this Content directly from the Eclipse + Foundation, the Content is being redistributed by another party + ("Redistributor") and different terms and conditions may apply to your + use of any object code in the Content. Check the Redistributor's + license that was provided with the Content. If no such license exists, + contact the Redistributor. Unless otherwise indicated below, the terms + and conditions of the EPL still apply to any source code in the + Content and such source code may be obtained at http://www.eclipse.org. + + 18. Some of the cuBLAS library routines uses code from + OpenAI, which is subject to the following license: + + License URL + https://github.com/openai/openai-gemm/blob/master/LICENSE + + License Text + The MIT License + + Copyright (c) 2016 OpenAI (http://openai.com), 2016 Google Inc. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + + 19. Licensee's use of the Visual Studio Setup Configuration + Samples is subject to the following license: + + The MIT License (MIT) + Copyright (C) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + 20. Licensee's use of linmath.h header for CPU functions for + GL vector/matrix operations from lunarG is subject to the + Apache License Version 2.0. + + 21. The DX12-CUDA sample uses the d3dx12.h header, which is + subject to the MIT license . + +----------------- diff --git a/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/METADATA b/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/METADATA new file mode 100644 index 0000000000000000000000000000000000000000..0b8cf29e6f82235cc8fa638b4594844111370546 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/METADATA @@ -0,0 +1,35 @@ +Metadata-Version: 2.1 +Name: nvidia-cublas-cu12 +Version: 12.4.5.8 +Summary: CUBLAS native runtime libraries +Home-page: https://developer.nvidia.com/cuda-zone +Author: Nvidia CUDA Installer Team +Author-email: cuda_installer@nvidia.com +License: NVIDIA Proprietary Software +Keywords: cuda,nvidia,runtime,machine learning,deep learning +Classifier: Development Status :: 4 - Beta +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: Education +Classifier: Intended Audience :: Science/Research +Classifier: License :: Other/Proprietary License +Classifier: Natural Language :: English +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Topic :: Scientific/Engineering +Classifier: Topic :: Scientific/Engineering :: Mathematics +Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence +Classifier: Topic :: Software Development +Classifier: Topic :: Software Development :: Libraries +Classifier: Operating System :: Microsoft :: Windows +Classifier: Operating System :: POSIX :: Linux +Requires-Python: >=3 +License-File: License.txt + +CUBLAS native runtime libraries diff --git a/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/RECORD b/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/RECORD new file mode 100644 index 0000000000000000000000000000000000000000..55c8f8ab32617b171936bd8443c3889060c361f8 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/RECORD @@ -0,0 +1,23 @@ +nvidia/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +nvidia/__pycache__/__init__.cpython-311.pyc,, +nvidia/cublas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +nvidia/cublas/__pycache__/__init__.cpython-311.pyc,, +nvidia/cublas/include/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +nvidia/cublas/include/__pycache__/__init__.cpython-311.pyc,, +nvidia/cublas/include/cublas.h,sha256=a0lLqy-k47NuwyDjuueC3W0Mpc908MTU7o5sMJqE-1w,41246 +nvidia/cublas/include/cublasLt.h,sha256=51KyHQc7T9rxmVfNimP9O6vka8JqBdebjZKCWKZakt4,77626 +nvidia/cublas/include/cublasXt.h,sha256=CW9dyXYGSUW1wEXrVVyhU6OxBK1PUvMoYdVGlQT7L9A,37380 +nvidia/cublas/include/cublas_api.h,sha256=XRArlgDy_4hWuEt8XafRsE9KRJ5XVo06Nh113cgg-7o,370663 +nvidia/cublas/include/cublas_v2.h,sha256=qxMdB5jb97luEfw61LEAB-Wlr8A9DLBvO4rRypDCNKw,15460 +nvidia/cublas/include/nvblas.h,sha256=dXCLR-2oUiJFzLsDtIAK09m42ct4G0HWdYzBUuDPXpc,23341 +nvidia/cublas/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +nvidia/cublas/lib/__pycache__/__init__.cpython-311.pyc,, +nvidia/cublas/lib/libcublas.so.12,sha256=TMRVJkSaldOYU4l4XphbeDJGDqPbF4vJ6ZY74hEfvug,109604768 +nvidia/cublas/lib/libcublasLt.so.12,sha256=RKgTqi2giDD5CD-B0Otz8a5AUqTZsLDeSAqPbNnrMHg,441938896 +nvidia/cublas/lib/libnvblas.so.12,sha256=fCpY3FQVQgg5IwHQ_j1ToSDkwevquegM6R_plIuurck,757496 +nvidia_cublas_cu12-12.4.5.8.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +nvidia_cublas_cu12-12.4.5.8.dist-info/License.txt,sha256=rW9YU_ugyg0VnQ9Y1JrkmDDC-Mk_epJki5zpCttMbM0,59262 +nvidia_cublas_cu12-12.4.5.8.dist-info/METADATA,sha256=FtdQvmVmrqzO9Vp7VbNtbQWUxXF45arMsnGnwYdlZuc,1505 +nvidia_cublas_cu12-12.4.5.8.dist-info/RECORD,, +nvidia_cublas_cu12-12.4.5.8.dist-info/WHEEL,sha256=XDTs3wIbcE-BcRO08VJlZpA6z9OaC1mOKPCGGGwuM2g,109 +nvidia_cublas_cu12-12.4.5.8.dist-info/top_level.txt,sha256=fTkAtiFuL16nUrB9ytDDtpytz2t0B4NvYTnRzwAhO14,7 diff --git a/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/WHEEL b/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/WHEEL new file mode 100644 index 0000000000000000000000000000000000000000..e6c30e957cfb045017a9fef3430bb8ee87c4a074 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.42.0) +Root-Is-Purelib: true +Tag: py3-none-manylinux2014_x86_64 + diff --git a/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/top_level.txt b/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/top_level.txt new file mode 100644 index 0000000000000000000000000000000000000000..862f7abf232cdfbb928609856247292e81c9decb --- /dev/null +++ b/.venv/lib/python3.11/site-packages/nvidia_cublas_cu12-12.4.5.8.dist-info/top_level.txt @@ -0,0 +1 @@ +nvidia diff --git a/.venv/lib/python3.11/site-packages/pycountry/__pycache__/__init__.cpython-311.pyc b/.venv/lib/python3.11/site-packages/pycountry/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b634e63a288eaaffeaa01a1420715dcdc979820e Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/__pycache__/__init__.cpython-311.pyc differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/__pycache__/db.cpython-311.pyc b/.venv/lib/python3.11/site-packages/pycountry/__pycache__/db.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c61625614c3144f7fb0b585fdc15afbd55d2045c Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/__pycache__/db.cpython-311.pyc differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/databases/iso15924.json b/.venv/lib/python3.11/site-packages/pycountry/databases/iso15924.json new file mode 100644 index 0000000000000000000000000000000000000000..32a31139ab6f5ea0aedb7e598d37ddc44a8ac37e --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/databases/iso15924.json @@ -0,0 +1,914 @@ +{ + "15924": [ + { + "alpha_4": "Adlm", + "name": "Adlam", + "numeric": "166" + }, + { + "alpha_4": "Afak", + "name": "Afaka", + "numeric": "439" + }, + { + "alpha_4": "Aghb", + "name": "Caucasian Albanian", + "numeric": "239" + }, + { + "alpha_4": "Ahom", + "name": "Ahom, Tai Ahom", + "numeric": "338" + }, + { + "alpha_4": "Arab", + "name": "Arabic", + "numeric": "160" + }, + { + "alpha_4": "Aran", + "name": "Arabic (Nastaliq variant)", + "numeric": "161" + }, + { + "alpha_4": "Armi", + "name": "Imperial Aramaic", + "numeric": "124" + }, + { + "alpha_4": "Armn", + "name": "Armenian", + "numeric": "230" + }, + { + "alpha_4": "Avst", + "name": "Avestan", + "numeric": "134" + }, + { + "alpha_4": "Bali", + "name": "Balinese", + "numeric": "360" + }, + { + "alpha_4": "Bamu", + "name": "Bamum", + "numeric": "435" + }, + { + "alpha_4": "Bass", + "name": "Bassa Vah", + "numeric": "259" + }, + { + "alpha_4": "Batk", + "name": "Batak", + "numeric": "365" + }, + { + "alpha_4": "Beng", + "name": "Bengali", + "numeric": "325" + }, + { + "alpha_4": "Bhks", + "name": "Bhaiksuki", + "numeric": "334" + }, + { + "alpha_4": "Blis", + "name": "Blissymbols", + "numeric": "550" + }, + { + "alpha_4": "Bopo", + "name": "Bopomofo", + "numeric": "285" + }, + { + "alpha_4": "Brah", + "name": "Brahmi", + "numeric": "300" + }, + { + "alpha_4": "Brai", + "name": "Braille", + "numeric": "570" + }, + { + "alpha_4": "Bugi", + "name": "Buginese", + "numeric": "367" + }, + { + "alpha_4": "Buhd", + "name": "Buhid", + "numeric": "372" + }, + { + "alpha_4": "Cakm", + "name": "Chakma", + "numeric": "349" + }, + { + "alpha_4": "Cans", + "name": "Unified Canadian Aboriginal Syllabics", + "numeric": "440" + }, + { + "alpha_4": "Cari", + "name": "Carian", + "numeric": "201" + }, + { + "alpha_4": "Cham", + "name": "Cham", + "numeric": "358" + }, + { + "alpha_4": "Cher", + "name": "Cherokee", + "numeric": "445" + }, + { + "alpha_4": "Cirt", + "name": "Cirth", + "numeric": "291" + }, + { + "alpha_4": "Copt", + "name": "Coptic", + "numeric": "204" + }, + { + "alpha_4": "Cprt", + "name": "Cypriot", + "numeric": "403" + }, + { + "alpha_4": "Cyrl", + "name": "Cyrillic", + "numeric": "220" + }, + { + "alpha_4": "Cyrs", + "name": "Cyrillic (Old Church Slavonic variant)", + "numeric": "221" + }, + { + "alpha_4": "Deva", + "name": "Devanagari (Nagari)", + "numeric": "315" + }, + { + "alpha_4": "Dsrt", + "name": "Deseret (Mormon)", + "numeric": "250" + }, + { + "alpha_4": "Dupl", + "name": "Duployan shorthand, Duployan stenography", + "numeric": "755" + }, + { + "alpha_4": "Egyd", + "name": "Egyptian demotic", + "numeric": "070" + }, + { + "alpha_4": "Egyh", + "name": "Egyptian hieratic", + "numeric": "060" + }, + { + "alpha_4": "Egyp", + "name": "Egyptian hieroglyphs", + "numeric": "050" + }, + { + "alpha_4": "Elba", + "name": "Elbasan", + "numeric": "226" + }, + { + "alpha_4": "Ethi", + "name": "Ethiopic (Geʻez)", + "numeric": "430" + }, + { + "alpha_4": "Geok", + "name": "Khutsuri (Asomtavruli and Nuskhuri)", + "numeric": "241" + }, + { + "alpha_4": "Geor", + "name": "Georgian (Mkhedruli)", + "numeric": "240" + }, + { + "alpha_4": "Glag", + "name": "Glagolitic", + "numeric": "225" + }, + { + "alpha_4": "Goth", + "name": "Gothic", + "numeric": "206" + }, + { + "alpha_4": "Gran", + "name": "Grantha", + "numeric": "343" + }, + { + "alpha_4": "Grek", + "name": "Greek", + "numeric": "200" + }, + { + "alpha_4": "Gujr", + "name": "Gujarati", + "numeric": "320" + }, + { + "alpha_4": "Guru", + "name": "Gurmukhi", + "numeric": "310" + }, + { + "alpha_4": "Hanb", + "name": "Han with Bopomofo (alias for Han + Bopomofo)", + "numeric": "503" + }, + { + "alpha_4": "Hang", + "name": "Hangul (Hangŭl, Hangeul)", + "numeric": "286" + }, + { + "alpha_4": "Hani", + "name": "Han (Hanzi, Kanji, Hanja)", + "numeric": "500" + }, + { + "alpha_4": "Hano", + "name": "Hanunoo (Hanunóo)", + "numeric": "371" + }, + { + "alpha_4": "Hans", + "name": "Han (Simplified variant)", + "numeric": "501" + }, + { + "alpha_4": "Hant", + "name": "Han (Traditional variant)", + "numeric": "502" + }, + { + "alpha_4": "Hatr", + "name": "Hatran", + "numeric": "127" + }, + { + "alpha_4": "Hebr", + "name": "Hebrew", + "numeric": "125" + }, + { + "alpha_4": "Hira", + "name": "Hiragana", + "numeric": "410" + }, + { + "alpha_4": "Hluw", + "name": "Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs)", + "numeric": "080" + }, + { + "alpha_4": "Hmng", + "name": "Pahawh Hmong", + "numeric": "450" + }, + { + "alpha_4": "Hrkt", + "name": "Japanese syllabaries (alias for Hiragana + Katakana)", + "numeric": "412" + }, + { + "alpha_4": "Hung", + "name": "Old Hungarian (Hungarian Runic)", + "numeric": "176" + }, + { + "alpha_4": "Inds", + "name": "Indus (Harappan)", + "numeric": "610" + }, + { + "alpha_4": "Ital", + "name": "Old Italic (Etruscan, Oscan, etc.)", + "numeric": "210" + }, + { + "alpha_4": "Jamo", + "name": "Jamo (alias for Jamo subset of Hangul)", + "numeric": "284" + }, + { + "alpha_4": "Java", + "name": "Javanese", + "numeric": "361" + }, + { + "alpha_4": "Jpan", + "name": "Japanese (alias for Han + Hiragana + Katakana)", + "numeric": "413" + }, + { + "alpha_4": "Jurc", + "name": "Jurchen", + "numeric": "510" + }, + { + "alpha_4": "Kali", + "name": "Kayah Li", + "numeric": "357" + }, + { + "alpha_4": "Kana", + "name": "Katakana", + "numeric": "411" + }, + { + "alpha_4": "Khar", + "name": "Kharoshthi", + "numeric": "305" + }, + { + "alpha_4": "Khmr", + "name": "Khmer", + "numeric": "355" + }, + { + "alpha_4": "Khoj", + "name": "Khojki", + "numeric": "322" + }, + { + "alpha_4": "Kitl", + "name": "Khitan large script", + "numeric": "505" + }, + { + "alpha_4": "Kits", + "name": "Khitan small script", + "numeric": "288" + }, + { + "alpha_4": "Knda", + "name": "Kannada", + "numeric": "345" + }, + { + "alpha_4": "Kore", + "name": "Korean (alias for Hangul + Han)", + "numeric": "287" + }, + { + "alpha_4": "Kpel", + "name": "Kpelle", + "numeric": "436" + }, + { + "alpha_4": "Kthi", + "name": "Kaithi", + "numeric": "317" + }, + { + "alpha_4": "Lana", + "name": "Tai Tham (Lanna)", + "numeric": "351" + }, + { + "alpha_4": "Laoo", + "name": "Lao", + "numeric": "356" + }, + { + "alpha_4": "Latf", + "name": "Latin (Fraktur variant)", + "numeric": "217" + }, + { + "alpha_4": "Latg", + "name": "Latin (Gaelic variant)", + "numeric": "216" + }, + { + "alpha_4": "Latn", + "name": "Latin", + "numeric": "215" + }, + { + "alpha_4": "Leke", + "name": "Leke", + "numeric": "364" + }, + { + "alpha_4": "Lepc", + "name": "Lepcha (Róng)", + "numeric": "335" + }, + { + "alpha_4": "Limb", + "name": "Limbu", + "numeric": "336" + }, + { + "alpha_4": "Lina", + "name": "Linear A", + "numeric": "400" + }, + { + "alpha_4": "Linb", + "name": "Linear B", + "numeric": "401" + }, + { + "alpha_4": "Lisu", + "name": "Lisu (Fraser)", + "numeric": "399" + }, + { + "alpha_4": "Loma", + "name": "Loma", + "numeric": "437" + }, + { + "alpha_4": "Lyci", + "name": "Lycian", + "numeric": "202" + }, + { + "alpha_4": "Lydi", + "name": "Lydian", + "numeric": "116" + }, + { + "alpha_4": "Mahj", + "name": "Mahajani", + "numeric": "314" + }, + { + "alpha_4": "Mand", + "name": "Mandaic, Mandaean", + "numeric": "140" + }, + { + "alpha_4": "Mani", + "name": "Manichaean", + "numeric": "139" + }, + { + "alpha_4": "Marc", + "name": "Marchen", + "numeric": "332" + }, + { + "alpha_4": "Maya", + "name": "Mayan hieroglyphs", + "numeric": "090" + }, + { + "alpha_4": "Mend", + "name": "Mende Kikakui", + "numeric": "438" + }, + { + "alpha_4": "Merc", + "name": "Meroitic Cursive", + "numeric": "101" + }, + { + "alpha_4": "Mero", + "name": "Meroitic Hieroglyphs", + "numeric": "100" + }, + { + "alpha_4": "Mlym", + "name": "Malayalam", + "numeric": "347" + }, + { + "alpha_4": "Modi", + "name": "Modi, Moḍī", + "numeric": "324" + }, + { + "alpha_4": "Mong", + "name": "Mongolian", + "numeric": "145" + }, + { + "alpha_4": "Moon", + "name": "Moon (Moon code, Moon script, Moon type)", + "numeric": "218" + }, + { + "alpha_4": "Mroo", + "name": "Mro, Mru", + "numeric": "199" + }, + { + "alpha_4": "Mtei", + "name": "Meitei Mayek (Meithei, Meetei)", + "numeric": "337" + }, + { + "alpha_4": "Mult", + "name": "Multani", + "numeric": "323" + }, + { + "alpha_4": "Mymr", + "name": "Myanmar (Burmese)", + "numeric": "350" + }, + { + "alpha_4": "Narb", + "name": "Old North Arabian (Ancient North Arabian)", + "numeric": "106" + }, + { + "alpha_4": "Nbat", + "name": "Nabataean", + "numeric": "159" + }, + { + "alpha_4": "Newa", + "name": "Newa, Newar, Newari, Nepāla lipi", + "numeric": "333" + }, + { + "alpha_4": "Nkgb", + "name": "Nakhi Geba ('Na-'Khi ²Ggŏ-¹baw, Naxi Geba)", + "numeric": "420" + }, + { + "alpha_4": "Nkoo", + "name": "N’Ko", + "numeric": "165" + }, + { + "alpha_4": "Nshu", + "name": "Nüshu", + "numeric": "499" + }, + { + "alpha_4": "Ogam", + "name": "Ogham", + "numeric": "212" + }, + { + "alpha_4": "Olck", + "name": "Ol Chiki (Ol Cemet’, Ol, Santali)", + "numeric": "261" + }, + { + "alpha_4": "Orkh", + "name": "Old Turkic, Orkhon Runic", + "numeric": "175" + }, + { + "alpha_4": "Orya", + "name": "Oriya", + "numeric": "327" + }, + { + "alpha_4": "Osge", + "name": "Osage", + "numeric": "219" + }, + { + "alpha_4": "Osma", + "name": "Osmanya", + "numeric": "260" + }, + { + "alpha_4": "Palm", + "name": "Palmyrene", + "numeric": "126" + }, + { + "alpha_4": "Pauc", + "name": "Pau Cin Hau", + "numeric": "263" + }, + { + "alpha_4": "Perm", + "name": "Old Permic", + "numeric": "227" + }, + { + "alpha_4": "Phag", + "name": "Phags-pa", + "numeric": "331" + }, + { + "alpha_4": "Phli", + "name": "Inscriptional Pahlavi", + "numeric": "131" + }, + { + "alpha_4": "Phlp", + "name": "Psalter Pahlavi", + "numeric": "132" + }, + { + "alpha_4": "Phlv", + "name": "Book Pahlavi", + "numeric": "133" + }, + { + "alpha_4": "Phnx", + "name": "Phoenician", + "numeric": "115" + }, + { + "alpha_4": "Piqd", + "name": "Klingon (KLI pIqaD)", + "numeric": "293" + }, + { + "alpha_4": "Plrd", + "name": "Miao (Pollard)", + "numeric": "282" + }, + { + "alpha_4": "Prti", + "name": "Inscriptional Parthian", + "numeric": "130" + }, + { + "alpha_4": "Qaaa", + "name": "Reserved for private use (start)", + "numeric": "900" + }, + { + "alpha_4": "Qabx", + "name": "Reserved for private use (end)", + "numeric": "949" + }, + { + "alpha_4": "Rjng", + "name": "Rejang (Redjang, Kaganga)", + "numeric": "363" + }, + { + "alpha_4": "Roro", + "name": "Rongorongo", + "numeric": "620" + }, + { + "alpha_4": "Runr", + "name": "Runic", + "numeric": "211" + }, + { + "alpha_4": "Samr", + "name": "Samaritan", + "numeric": "123" + }, + { + "alpha_4": "Sara", + "name": "Sarati", + "numeric": "292" + }, + { + "alpha_4": "Sarb", + "name": "Old South Arabian", + "numeric": "105" + }, + { + "alpha_4": "Saur", + "name": "Saurashtra", + "numeric": "344" + }, + { + "alpha_4": "Sgnw", + "name": "SignWriting", + "numeric": "095" + }, + { + "alpha_4": "Shaw", + "name": "Shavian (Shaw)", + "numeric": "281" + }, + { + "alpha_4": "Shrd", + "name": "Sharada, Śāradā", + "numeric": "319" + }, + { + "alpha_4": "Sidd", + "name": "Siddham, Siddhaṃ, Siddhamātṛkā", + "numeric": "302" + }, + { + "alpha_4": "Sind", + "name": "Khudawadi, Sindhi", + "numeric": "318" + }, + { + "alpha_4": "Sinh", + "name": "Sinhala", + "numeric": "348" + }, + { + "alpha_4": "Sora", + "name": "Sora Sompeng", + "numeric": "398" + }, + { + "alpha_4": "Sund", + "name": "Sundanese", + "numeric": "362" + }, + { + "alpha_4": "Sylo", + "name": "Syloti Nagri", + "numeric": "316" + }, + { + "alpha_4": "Syrc", + "name": "Syriac", + "numeric": "135" + }, + { + "alpha_4": "Syre", + "name": "Syriac (Estrangelo variant)", + "numeric": "138" + }, + { + "alpha_4": "Syrj", + "name": "Syriac (Western variant)", + "numeric": "137" + }, + { + "alpha_4": "Syrn", + "name": "Syriac (Eastern variant)", + "numeric": "136" + }, + { + "alpha_4": "Tagb", + "name": "Tagbanwa", + "numeric": "373" + }, + { + "alpha_4": "Takr", + "name": "Takri, Ṭākrī, Ṭāṅkrī", + "numeric": "321" + }, + { + "alpha_4": "Tale", + "name": "Tai Le", + "numeric": "353" + }, + { + "alpha_4": "Talu", + "name": "New Tai Lue", + "numeric": "354" + }, + { + "alpha_4": "Taml", + "name": "Tamil", + "numeric": "346" + }, + { + "alpha_4": "Tang", + "name": "Tangut", + "numeric": "520" + }, + { + "alpha_4": "Tavt", + "name": "Tai Viet", + "numeric": "359" + }, + { + "alpha_4": "Telu", + "name": "Telugu", + "numeric": "340" + }, + { + "alpha_4": "Teng", + "name": "Tengwar", + "numeric": "290" + }, + { + "alpha_4": "Tfng", + "name": "Tifinagh (Berber)", + "numeric": "120" + }, + { + "alpha_4": "Tglg", + "name": "Tagalog (Baybayin, Alibata)", + "numeric": "370" + }, + { + "alpha_4": "Thaa", + "name": "Thaana", + "numeric": "170" + }, + { + "alpha_4": "Thai", + "name": "Thai", + "numeric": "352" + }, + { + "alpha_4": "Tibt", + "name": "Tibetan", + "numeric": "330" + }, + { + "alpha_4": "Tirh", + "name": "Tirhuta", + "numeric": "326" + }, + { + "alpha_4": "Ugar", + "name": "Ugaritic", + "numeric": "040" + }, + { + "alpha_4": "Vaii", + "name": "Vai", + "numeric": "470" + }, + { + "alpha_4": "Visp", + "name": "Visible Speech", + "numeric": "280" + }, + { + "alpha_4": "Wara", + "name": "Warang Citi (Varang Kshiti)", + "numeric": "262" + }, + { + "alpha_4": "Wole", + "name": "Woleai", + "numeric": "480" + }, + { + "alpha_4": "Xpeo", + "name": "Old Persian", + "numeric": "030" + }, + { + "alpha_4": "Xsux", + "name": "Cuneiform, Sumero-Akkadian", + "numeric": "020" + }, + { + "alpha_4": "Yiii", + "name": "Yi", + "numeric": "460" + }, + { + "alpha_4": "Zinh", + "name": "Code for inherited script", + "numeric": "994" + }, + { + "alpha_4": "Zmth", + "name": "Mathematical notation", + "numeric": "995" + }, + { + "alpha_4": "Zsye", + "name": "Symbols (Emoji variant)", + "numeric": "993" + }, + { + "alpha_4": "Zsym", + "name": "Symbols", + "numeric": "996" + }, + { + "alpha_4": "Zxxx", + "name": "Code for unwritten documents", + "numeric": "997" + }, + { + "alpha_4": "Zyyy", + "name": "Code for undetermined script", + "numeric": "998" + }, + { + "alpha_4": "Zzzz", + "name": "Code for uncoded script", + "numeric": "999" + } + ] +} diff --git a/.venv/lib/python3.11/site-packages/pycountry/databases/iso3166-1.json b/.venv/lib/python3.11/site-packages/pycountry/databases/iso3166-1.json new file mode 100644 index 0000000000000000000000000000000000000000..ee48a43ecb73808e5acbdc839cbe17f7cc32664b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/databases/iso3166-1.json @@ -0,0 +1,1931 @@ +{ + "3166-1": [ + { + "alpha_2": "AW", + "alpha_3": "ABW", + "flag": "🇦🇼", + "name": "Aruba", + "numeric": "533" + }, + { + "alpha_2": "AF", + "alpha_3": "AFG", + "flag": "🇦🇫", + "name": "Afghanistan", + "numeric": "004", + "official_name": "Islamic Republic of Afghanistan" + }, + { + "alpha_2": "AO", + "alpha_3": "AGO", + "flag": "🇦🇴", + "name": "Angola", + "numeric": "024", + "official_name": "Republic of Angola" + }, + { + "alpha_2": "AI", + "alpha_3": "AIA", + "flag": "🇦🇮", + "name": "Anguilla", + "numeric": "660" + }, + { + "alpha_2": "AX", + "alpha_3": "ALA", + "flag": "🇦🇽", + "name": "Åland Islands", + "numeric": "248" + }, + { + "alpha_2": "AL", + "alpha_3": "ALB", + "flag": "🇦🇱", + "name": "Albania", + "numeric": "008", + "official_name": "Republic of Albania" + }, + { + "alpha_2": "AD", + "alpha_3": "AND", + "flag": "🇦🇩", + "name": "Andorra", + "numeric": "020", + "official_name": "Principality of Andorra" + }, + { + "alpha_2": "AE", + "alpha_3": "ARE", + "flag": "🇦🇪", + "name": "United Arab Emirates", + "numeric": "784" + }, + { + "alpha_2": "AR", + "alpha_3": "ARG", + "flag": "🇦🇷", + "name": "Argentina", + "numeric": "032", + "official_name": "Argentine Republic" + }, + { + "alpha_2": "AM", + "alpha_3": "ARM", + "flag": "🇦🇲", + "name": "Armenia", + "numeric": "051", + "official_name": "Republic of Armenia" + }, + { + "alpha_2": "AS", + "alpha_3": "ASM", + "flag": "🇦🇸", + "name": "American Samoa", + "numeric": "016" + }, + { + "alpha_2": "AQ", + "alpha_3": "ATA", + "flag": "🇦🇶", + "name": "Antarctica", + "numeric": "010" + }, + { + "alpha_2": "TF", + "alpha_3": "ATF", + "flag": "🇹🇫", + "name": "French Southern Territories", + "numeric": "260" + }, + { + "alpha_2": "AG", + "alpha_3": "ATG", + "flag": "🇦🇬", + "name": "Antigua and Barbuda", + "numeric": "028" + }, + { + "alpha_2": "AU", + "alpha_3": "AUS", + "flag": "🇦🇺", + "name": "Australia", + "numeric": "036" + }, + { + "alpha_2": "AT", + "alpha_3": "AUT", + "flag": "🇦🇹", + "name": "Austria", + "numeric": "040", + "official_name": "Republic of Austria" + }, + { + "alpha_2": "AZ", + "alpha_3": "AZE", + "flag": "🇦🇿", + "name": "Azerbaijan", + "numeric": "031", + "official_name": "Republic of Azerbaijan" + }, + { + "alpha_2": "BI", + "alpha_3": "BDI", + "flag": "🇧🇮", + "name": "Burundi", + "numeric": "108", + "official_name": "Republic of Burundi" + }, + { + "alpha_2": "BE", + "alpha_3": "BEL", + "flag": "🇧🇪", + "name": "Belgium", + "numeric": "056", + "official_name": "Kingdom of Belgium" + }, + { + "alpha_2": "BJ", + "alpha_3": "BEN", + "flag": "🇧🇯", + "name": "Benin", + "numeric": "204", + "official_name": "Republic of Benin" + }, + { + "alpha_2": "BQ", + "alpha_3": "BES", + "flag": "🇧🇶", + "name": "Bonaire, Sint Eustatius and Saba", + "numeric": "535", + "official_name": "Bonaire, Sint Eustatius and Saba" + }, + { + "alpha_2": "BF", + "alpha_3": "BFA", + "flag": "🇧🇫", + "name": "Burkina Faso", + "numeric": "854" + }, + { + "alpha_2": "BD", + "alpha_3": "BGD", + "flag": "🇧🇩", + "name": "Bangladesh", + "numeric": "050", + "official_name": "People's Republic of Bangladesh" + }, + { + "alpha_2": "BG", + "alpha_3": "BGR", + "flag": "🇧🇬", + "name": "Bulgaria", + "numeric": "100", + "official_name": "Republic of Bulgaria" + }, + { + "alpha_2": "BH", + "alpha_3": "BHR", + "flag": "🇧🇭", + "name": "Bahrain", + "numeric": "048", + "official_name": "Kingdom of Bahrain" + }, + { + "alpha_2": "BS", + "alpha_3": "BHS", + "flag": "🇧🇸", + "name": "Bahamas", + "numeric": "044", + "official_name": "Commonwealth of the Bahamas" + }, + { + "alpha_2": "BA", + "alpha_3": "BIH", + "flag": "🇧🇦", + "name": "Bosnia and Herzegovina", + "numeric": "070", + "official_name": "Republic of Bosnia and Herzegovina" + }, + { + "alpha_2": "BL", + "alpha_3": "BLM", + "flag": "🇧🇱", + "name": "Saint Barthélemy", + "numeric": "652" + }, + { + "alpha_2": "BY", + "alpha_3": "BLR", + "flag": "🇧🇾", + "name": "Belarus", + "numeric": "112", + "official_name": "Republic of Belarus" + }, + { + "alpha_2": "BZ", + "alpha_3": "BLZ", + "flag": "🇧🇿", + "name": "Belize", + "numeric": "084" + }, + { + "alpha_2": "BM", + "alpha_3": "BMU", + "flag": "🇧🇲", + "name": "Bermuda", + "numeric": "060" + }, + { + "alpha_2": "BO", + "alpha_3": "BOL", + "common_name": "Bolivia", + "flag": "🇧🇴", + "name": "Bolivia, Plurinational State of", + "numeric": "068", + "official_name": "Plurinational State of Bolivia" + }, + { + "alpha_2": "BR", + "alpha_3": "BRA", + "flag": "🇧🇷", + "name": "Brazil", + "numeric": "076", + "official_name": "Federative Republic of Brazil" + }, + { + "alpha_2": "BB", + "alpha_3": "BRB", + "flag": "🇧🇧", + "name": "Barbados", + "numeric": "052" + }, + { + "alpha_2": "BN", + "alpha_3": "BRN", + "flag": "🇧🇳", + "name": "Brunei Darussalam", + "numeric": "096" + }, + { + "alpha_2": "BT", + "alpha_3": "BTN", + "flag": "🇧🇹", + "name": "Bhutan", + "numeric": "064", + "official_name": "Kingdom of Bhutan" + }, + { + "alpha_2": "BV", + "alpha_3": "BVT", + "flag": "🇧🇻", + "name": "Bouvet Island", + "numeric": "074" + }, + { + "alpha_2": "BW", + "alpha_3": "BWA", + "flag": "🇧🇼", + "name": "Botswana", + "numeric": "072", + "official_name": "Republic of Botswana" + }, + { + "alpha_2": "CF", + "alpha_3": "CAF", + "flag": "🇨🇫", + "name": "Central African Republic", + "numeric": "140" + }, + { + "alpha_2": "CA", + "alpha_3": "CAN", + "flag": "🇨🇦", + "name": "Canada", + "numeric": "124" + }, + { + "alpha_2": "CC", + "alpha_3": "CCK", + "flag": "🇨🇨", + "name": "Cocos (Keeling) Islands", + "numeric": "166" + }, + { + "alpha_2": "CH", + "alpha_3": "CHE", + "flag": "🇨🇭", + "name": "Switzerland", + "numeric": "756", + "official_name": "Swiss Confederation" + }, + { + "alpha_2": "CL", + "alpha_3": "CHL", + "flag": "🇨🇱", + "name": "Chile", + "numeric": "152", + "official_name": "Republic of Chile" + }, + { + "alpha_2": "CN", + "alpha_3": "CHN", + "flag": "🇨🇳", + "name": "China", + "numeric": "156", + "official_name": "People's Republic of China" + }, + { + "alpha_2": "CI", + "alpha_3": "CIV", + "flag": "🇨🇮", + "name": "Côte d'Ivoire", + "numeric": "384", + "official_name": "Republic of Côte d'Ivoire" + }, + { + "alpha_2": "CM", + "alpha_3": "CMR", + "flag": "🇨🇲", + "name": "Cameroon", + "numeric": "120", + "official_name": "Republic of Cameroon" + }, + { + "alpha_2": "CD", + "alpha_3": "COD", + "flag": "🇨🇩", + "name": "Congo, The Democratic Republic of the", + "numeric": "180" + }, + { + "alpha_2": "CG", + "alpha_3": "COG", + "flag": "🇨🇬", + "name": "Congo", + "numeric": "178", + "official_name": "Republic of the Congo" + }, + { + "alpha_2": "CK", + "alpha_3": "COK", + "flag": "🇨🇰", + "name": "Cook Islands", + "numeric": "184" + }, + { + "alpha_2": "CO", + "alpha_3": "COL", + "flag": "🇨🇴", + "name": "Colombia", + "numeric": "170", + "official_name": "Republic of Colombia" + }, + { + "alpha_2": "KM", + "alpha_3": "COM", + "flag": "🇰🇲", + "name": "Comoros", + "numeric": "174", + "official_name": "Union of the Comoros" + }, + { + "alpha_2": "CV", + "alpha_3": "CPV", + "flag": "🇨🇻", + "name": "Cabo Verde", + "numeric": "132", + "official_name": "Republic of Cabo Verde" + }, + { + "alpha_2": "CR", + "alpha_3": "CRI", + "flag": "🇨🇷", + "name": "Costa Rica", + "numeric": "188", + "official_name": "Republic of Costa Rica" + }, + { + "alpha_2": "CU", + "alpha_3": "CUB", + "flag": "🇨🇺", + "name": "Cuba", + "numeric": "192", + "official_name": "Republic of Cuba" + }, + { + "alpha_2": "CW", + "alpha_3": "CUW", + "flag": "🇨🇼", + "name": "Curaçao", + "numeric": "531", + "official_name": "Curaçao" + }, + { + "alpha_2": "CX", + "alpha_3": "CXR", + "flag": "🇨🇽", + "name": "Christmas Island", + "numeric": "162" + }, + { + "alpha_2": "KY", + "alpha_3": "CYM", + "flag": "🇰🇾", + "name": "Cayman Islands", + "numeric": "136" + }, + { + "alpha_2": "CY", + "alpha_3": "CYP", + "flag": "🇨🇾", + "name": "Cyprus", + "numeric": "196", + "official_name": "Republic of Cyprus" + }, + { + "alpha_2": "CZ", + "alpha_3": "CZE", + "flag": "🇨🇿", + "name": "Czechia", + "numeric": "203", + "official_name": "Czech Republic" + }, + { + "alpha_2": "DE", + "alpha_3": "DEU", + "flag": "🇩🇪", + "name": "Germany", + "numeric": "276", + "official_name": "Federal Republic of Germany" + }, + { + "alpha_2": "DJ", + "alpha_3": "DJI", + "flag": "🇩🇯", + "name": "Djibouti", + "numeric": "262", + "official_name": "Republic of Djibouti" + }, + { + "alpha_2": "DM", + "alpha_3": "DMA", + "flag": "🇩🇲", + "name": "Dominica", + "numeric": "212", + "official_name": "Commonwealth of Dominica" + }, + { + "alpha_2": "DK", + "alpha_3": "DNK", + "flag": "🇩🇰", + "name": "Denmark", + "numeric": "208", + "official_name": "Kingdom of Denmark" + }, + { + "alpha_2": "DO", + "alpha_3": "DOM", + "flag": "🇩🇴", + "name": "Dominican Republic", + "numeric": "214" + }, + { + "alpha_2": "DZ", + "alpha_3": "DZA", + "flag": "🇩🇿", + "name": "Algeria", + "numeric": "012", + "official_name": "People's Democratic Republic of Algeria" + }, + { + "alpha_2": "EC", + "alpha_3": "ECU", + "flag": "🇪🇨", + "name": "Ecuador", + "numeric": "218", + "official_name": "Republic of Ecuador" + }, + { + "alpha_2": "EG", + "alpha_3": "EGY", + "flag": "🇪🇬", + "name": "Egypt", + "numeric": "818", + "official_name": "Arab Republic of Egypt" + }, + { + "alpha_2": "ER", + "alpha_3": "ERI", + "flag": "🇪🇷", + "name": "Eritrea", + "numeric": "232", + "official_name": "the State of Eritrea" + }, + { + "alpha_2": "EH", + "alpha_3": "ESH", + "flag": "🇪🇭", + "name": "Western Sahara", + "numeric": "732" + }, + { + "alpha_2": "ES", + "alpha_3": "ESP", + "flag": "🇪🇸", + "name": "Spain", + "numeric": "724", + "official_name": "Kingdom of Spain" + }, + { + "alpha_2": "EE", + "alpha_3": "EST", + "flag": "🇪🇪", + "name": "Estonia", + "numeric": "233", + "official_name": "Republic of Estonia" + }, + { + "alpha_2": "ET", + "alpha_3": "ETH", + "flag": "🇪🇹", + "name": "Ethiopia", + "numeric": "231", + "official_name": "Federal Democratic Republic of Ethiopia" + }, + { + "alpha_2": "FI", + "alpha_3": "FIN", + "flag": "🇫🇮", + "name": "Finland", + "numeric": "246", + "official_name": "Republic of Finland" + }, + { + "alpha_2": "FJ", + "alpha_3": "FJI", + "flag": "🇫🇯", + "name": "Fiji", + "numeric": "242", + "official_name": "Republic of Fiji" + }, + { + "alpha_2": "FK", + "alpha_3": "FLK", + "flag": "🇫🇰", + "name": "Falkland Islands (Malvinas)", + "numeric": "238" + }, + { + "alpha_2": "FR", + "alpha_3": "FRA", + "flag": "🇫🇷", + "name": "France", + "numeric": "250", + "official_name": "French Republic" + }, + { + "alpha_2": "FO", + "alpha_3": "FRO", + "flag": "🇫🇴", + "name": "Faroe Islands", + "numeric": "234" + }, + { + "alpha_2": "FM", + "alpha_3": "FSM", + "flag": "🇫🇲", + "name": "Micronesia, Federated States of", + "numeric": "583", + "official_name": "Federated States of Micronesia" + }, + { + "alpha_2": "GA", + "alpha_3": "GAB", + "flag": "🇬🇦", + "name": "Gabon", + "numeric": "266", + "official_name": "Gabonese Republic" + }, + { + "alpha_2": "GB", + "alpha_3": "GBR", + "flag": "🇬🇧", + "name": "United Kingdom", + "numeric": "826", + "official_name": "United Kingdom of Great Britain and Northern Ireland" + }, + { + "alpha_2": "GE", + "alpha_3": "GEO", + "flag": "🇬🇪", + "name": "Georgia", + "numeric": "268" + }, + { + "alpha_2": "GG", + "alpha_3": "GGY", + "flag": "🇬🇬", + "name": "Guernsey", + "numeric": "831" + }, + { + "alpha_2": "GH", + "alpha_3": "GHA", + "flag": "🇬🇭", + "name": "Ghana", + "numeric": "288", + "official_name": "Republic of Ghana" + }, + { + "alpha_2": "GI", + "alpha_3": "GIB", + "flag": "🇬🇮", + "name": "Gibraltar", + "numeric": "292" + }, + { + "alpha_2": "GN", + "alpha_3": "GIN", + "flag": "🇬🇳", + "name": "Guinea", + "numeric": "324", + "official_name": "Republic of Guinea" + }, + { + "alpha_2": "GP", + "alpha_3": "GLP", + "flag": "🇬🇵", + "name": "Guadeloupe", + "numeric": "312" + }, + { + "alpha_2": "GM", + "alpha_3": "GMB", + "flag": "🇬🇲", + "name": "Gambia", + "numeric": "270", + "official_name": "Republic of the Gambia" + }, + { + "alpha_2": "GW", + "alpha_3": "GNB", + "flag": "🇬🇼", + "name": "Guinea-Bissau", + "numeric": "624", + "official_name": "Republic of Guinea-Bissau" + }, + { + "alpha_2": "GQ", + "alpha_3": "GNQ", + "flag": "🇬🇶", + "name": "Equatorial Guinea", + "numeric": "226", + "official_name": "Republic of Equatorial Guinea" + }, + { + "alpha_2": "GR", + "alpha_3": "GRC", + "flag": "🇬🇷", + "name": "Greece", + "numeric": "300", + "official_name": "Hellenic Republic" + }, + { + "alpha_2": "GD", + "alpha_3": "GRD", + "flag": "🇬🇩", + "name": "Grenada", + "numeric": "308" + }, + { + "alpha_2": "GL", + "alpha_3": "GRL", + "flag": "🇬🇱", + "name": "Greenland", + "numeric": "304" + }, + { + "alpha_2": "GT", + "alpha_3": "GTM", + "flag": "🇬🇹", + "name": "Guatemala", + "numeric": "320", + "official_name": "Republic of Guatemala" + }, + { + "alpha_2": "GF", + "alpha_3": "GUF", + "flag": "🇬🇫", + "name": "French Guiana", + "numeric": "254" + }, + { + "alpha_2": "GU", + "alpha_3": "GUM", + "flag": "🇬🇺", + "name": "Guam", + "numeric": "316" + }, + { + "alpha_2": "GY", + "alpha_3": "GUY", + "flag": "🇬🇾", + "name": "Guyana", + "numeric": "328", + "official_name": "Republic of Guyana" + }, + { + "alpha_2": "HK", + "alpha_3": "HKG", + "flag": "🇭🇰", + "name": "Hong Kong", + "numeric": "344", + "official_name": "Hong Kong Special Administrative Region of China" + }, + { + "alpha_2": "HM", + "alpha_3": "HMD", + "flag": "🇭🇲", + "name": "Heard Island and McDonald Islands", + "numeric": "334" + }, + { + "alpha_2": "HN", + "alpha_3": "HND", + "flag": "🇭🇳", + "name": "Honduras", + "numeric": "340", + "official_name": "Republic of Honduras" + }, + { + "alpha_2": "HR", + "alpha_3": "HRV", + "flag": "🇭🇷", + "name": "Croatia", + "numeric": "191", + "official_name": "Republic of Croatia" + }, + { + "alpha_2": "HT", + "alpha_3": "HTI", + "flag": "🇭🇹", + "name": "Haiti", + "numeric": "332", + "official_name": "Republic of Haiti" + }, + { + "alpha_2": "HU", + "alpha_3": "HUN", + "flag": "🇭🇺", + "name": "Hungary", + "numeric": "348", + "official_name": "Hungary" + }, + { + "alpha_2": "ID", + "alpha_3": "IDN", + "flag": "🇮🇩", + "name": "Indonesia", + "numeric": "360", + "official_name": "Republic of Indonesia" + }, + { + "alpha_2": "IM", + "alpha_3": "IMN", + "flag": "🇮🇲", + "name": "Isle of Man", + "numeric": "833" + }, + { + "alpha_2": "IN", + "alpha_3": "IND", + "flag": "🇮🇳", + "name": "India", + "numeric": "356", + "official_name": "Republic of India" + }, + { + "alpha_2": "IO", + "alpha_3": "IOT", + "flag": "🇮🇴", + "name": "British Indian Ocean Territory", + "numeric": "086" + }, + { + "alpha_2": "IE", + "alpha_3": "IRL", + "flag": "🇮🇪", + "name": "Ireland", + "numeric": "372" + }, + { + "alpha_2": "IR", + "alpha_3": "IRN", + "common_name": "Iran", + "flag": "🇮🇷", + "name": "Iran, Islamic Republic of", + "numeric": "364", + "official_name": "Islamic Republic of Iran" + }, + { + "alpha_2": "IQ", + "alpha_3": "IRQ", + "flag": "🇮🇶", + "name": "Iraq", + "numeric": "368", + "official_name": "Republic of Iraq" + }, + { + "alpha_2": "IS", + "alpha_3": "ISL", + "flag": "🇮🇸", + "name": "Iceland", + "numeric": "352", + "official_name": "Republic of Iceland" + }, + { + "alpha_2": "IL", + "alpha_3": "ISR", + "flag": "🇮🇱", + "name": "Israel", + "numeric": "376", + "official_name": "State of Israel" + }, + { + "alpha_2": "IT", + "alpha_3": "ITA", + "flag": "🇮🇹", + "name": "Italy", + "numeric": "380", + "official_name": "Italian Republic" + }, + { + "alpha_2": "JM", + "alpha_3": "JAM", + "flag": "🇯🇲", + "name": "Jamaica", + "numeric": "388" + }, + { + "alpha_2": "JE", + "alpha_3": "JEY", + "flag": "🇯🇪", + "name": "Jersey", + "numeric": "832" + }, + { + "alpha_2": "JO", + "alpha_3": "JOR", + "flag": "🇯🇴", + "name": "Jordan", + "numeric": "400", + "official_name": "Hashemite Kingdom of Jordan" + }, + { + "alpha_2": "JP", + "alpha_3": "JPN", + "flag": "🇯🇵", + "name": "Japan", + "numeric": "392" + }, + { + "alpha_2": "KZ", + "alpha_3": "KAZ", + "flag": "🇰🇿", + "name": "Kazakhstan", + "numeric": "398", + "official_name": "Republic of Kazakhstan" + }, + { + "alpha_2": "KE", + "alpha_3": "KEN", + "flag": "🇰🇪", + "name": "Kenya", + "numeric": "404", + "official_name": "Republic of Kenya" + }, + { + "alpha_2": "KG", + "alpha_3": "KGZ", + "flag": "🇰🇬", + "name": "Kyrgyzstan", + "numeric": "417", + "official_name": "Kyrgyz Republic" + }, + { + "alpha_2": "KH", + "alpha_3": "KHM", + "flag": "🇰🇭", + "name": "Cambodia", + "numeric": "116", + "official_name": "Kingdom of Cambodia" + }, + { + "alpha_2": "KI", + "alpha_3": "KIR", + "flag": "🇰🇮", + "name": "Kiribati", + "numeric": "296", + "official_name": "Republic of Kiribati" + }, + { + "alpha_2": "KN", + "alpha_3": "KNA", + "flag": "🇰🇳", + "name": "Saint Kitts and Nevis", + "numeric": "659" + }, + { + "alpha_2": "KR", + "alpha_3": "KOR", + "common_name": "South Korea", + "flag": "🇰🇷", + "name": "Korea, Republic of", + "numeric": "410" + }, + { + "alpha_2": "KW", + "alpha_3": "KWT", + "flag": "🇰🇼", + "name": "Kuwait", + "numeric": "414", + "official_name": "State of Kuwait" + }, + { + "alpha_2": "LA", + "alpha_3": "LAO", + "common_name": "Laos", + "flag": "🇱🇦", + "name": "Lao People's Democratic Republic", + "numeric": "418" + }, + { + "alpha_2": "LB", + "alpha_3": "LBN", + "flag": "🇱🇧", + "name": "Lebanon", + "numeric": "422", + "official_name": "Lebanese Republic" + }, + { + "alpha_2": "LR", + "alpha_3": "LBR", + "flag": "🇱🇷", + "name": "Liberia", + "numeric": "430", + "official_name": "Republic of Liberia" + }, + { + "alpha_2": "LY", + "alpha_3": "LBY", + "flag": "🇱🇾", + "name": "Libya", + "numeric": "434", + "official_name": "Libya" + }, + { + "alpha_2": "LC", + "alpha_3": "LCA", + "flag": "🇱🇨", + "name": "Saint Lucia", + "numeric": "662" + }, + { + "alpha_2": "LI", + "alpha_3": "LIE", + "flag": "🇱🇮", + "name": "Liechtenstein", + "numeric": "438", + "official_name": "Principality of Liechtenstein" + }, + { + "alpha_2": "LK", + "alpha_3": "LKA", + "flag": "🇱🇰", + "name": "Sri Lanka", + "numeric": "144", + "official_name": "Democratic Socialist Republic of Sri Lanka" + }, + { + "alpha_2": "LS", + "alpha_3": "LSO", + "flag": "🇱🇸", + "name": "Lesotho", + "numeric": "426", + "official_name": "Kingdom of Lesotho" + }, + { + "alpha_2": "LT", + "alpha_3": "LTU", + "flag": "🇱🇹", + "name": "Lithuania", + "numeric": "440", + "official_name": "Republic of Lithuania" + }, + { + "alpha_2": "LU", + "alpha_3": "LUX", + "flag": "🇱🇺", + "name": "Luxembourg", + "numeric": "442", + "official_name": "Grand Duchy of Luxembourg" + }, + { + "alpha_2": "LV", + "alpha_3": "LVA", + "flag": "🇱🇻", + "name": "Latvia", + "numeric": "428", + "official_name": "Republic of Latvia" + }, + { + "alpha_2": "MO", + "alpha_3": "MAC", + "flag": "🇲🇴", + "name": "Macao", + "numeric": "446", + "official_name": "Macao Special Administrative Region of China" + }, + { + "alpha_2": "MF", + "alpha_3": "MAF", + "flag": "🇲🇫", + "name": "Saint Martin (French part)", + "numeric": "663" + }, + { + "alpha_2": "MA", + "alpha_3": "MAR", + "flag": "🇲🇦", + "name": "Morocco", + "numeric": "504", + "official_name": "Kingdom of Morocco" + }, + { + "alpha_2": "MC", + "alpha_3": "MCO", + "flag": "🇲🇨", + "name": "Monaco", + "numeric": "492", + "official_name": "Principality of Monaco" + }, + { + "alpha_2": "MD", + "alpha_3": "MDA", + "common_name": "Moldova", + "flag": "🇲🇩", + "name": "Moldova, Republic of", + "numeric": "498", + "official_name": "Republic of Moldova" + }, + { + "alpha_2": "MG", + "alpha_3": "MDG", + "flag": "🇲🇬", + "name": "Madagascar", + "numeric": "450", + "official_name": "Republic of Madagascar" + }, + { + "alpha_2": "MV", + "alpha_3": "MDV", + "flag": "🇲🇻", + "name": "Maldives", + "numeric": "462", + "official_name": "Republic of Maldives" + }, + { + "alpha_2": "MX", + "alpha_3": "MEX", + "flag": "🇲🇽", + "name": "Mexico", + "numeric": "484", + "official_name": "United Mexican States" + }, + { + "alpha_2": "MH", + "alpha_3": "MHL", + "flag": "🇲🇭", + "name": "Marshall Islands", + "numeric": "584", + "official_name": "Republic of the Marshall Islands" + }, + { + "alpha_2": "MK", + "alpha_3": "MKD", + "flag": "🇲🇰", + "name": "North Macedonia", + "numeric": "807", + "official_name": "Republic of North Macedonia" + }, + { + "alpha_2": "ML", + "alpha_3": "MLI", + "flag": "🇲🇱", + "name": "Mali", + "numeric": "466", + "official_name": "Republic of Mali" + }, + { + "alpha_2": "MT", + "alpha_3": "MLT", + "flag": "🇲🇹", + "name": "Malta", + "numeric": "470", + "official_name": "Republic of Malta" + }, + { + "alpha_2": "MM", + "alpha_3": "MMR", + "flag": "🇲🇲", + "name": "Myanmar", + "numeric": "104", + "official_name": "Republic of Myanmar" + }, + { + "alpha_2": "ME", + "alpha_3": "MNE", + "flag": "🇲🇪", + "name": "Montenegro", + "numeric": "499", + "official_name": "Montenegro" + }, + { + "alpha_2": "MN", + "alpha_3": "MNG", + "flag": "🇲🇳", + "name": "Mongolia", + "numeric": "496" + }, + { + "alpha_2": "MP", + "alpha_3": "MNP", + "flag": "🇲🇵", + "name": "Northern Mariana Islands", + "numeric": "580", + "official_name": "Commonwealth of the Northern Mariana Islands" + }, + { + "alpha_2": "MZ", + "alpha_3": "MOZ", + "flag": "🇲🇿", + "name": "Mozambique", + "numeric": "508", + "official_name": "Republic of Mozambique" + }, + { + "alpha_2": "MR", + "alpha_3": "MRT", + "flag": "🇲🇷", + "name": "Mauritania", + "numeric": "478", + "official_name": "Islamic Republic of Mauritania" + }, + { + "alpha_2": "MS", + "alpha_3": "MSR", + "flag": "🇲🇸", + "name": "Montserrat", + "numeric": "500" + }, + { + "alpha_2": "MQ", + "alpha_3": "MTQ", + "flag": "🇲🇶", + "name": "Martinique", + "numeric": "474" + }, + { + "alpha_2": "MU", + "alpha_3": "MUS", + "flag": "🇲🇺", + "name": "Mauritius", + "numeric": "480", + "official_name": "Republic of Mauritius" + }, + { + "alpha_2": "MW", + "alpha_3": "MWI", + "flag": "🇲🇼", + "name": "Malawi", + "numeric": "454", + "official_name": "Republic of Malawi" + }, + { + "alpha_2": "MY", + "alpha_3": "MYS", + "flag": "🇲🇾", + "name": "Malaysia", + "numeric": "458" + }, + { + "alpha_2": "YT", + "alpha_3": "MYT", + "flag": "🇾🇹", + "name": "Mayotte", + "numeric": "175" + }, + { + "alpha_2": "NA", + "alpha_3": "NAM", + "flag": "🇳🇦", + "name": "Namibia", + "numeric": "516", + "official_name": "Republic of Namibia" + }, + { + "alpha_2": "NC", + "alpha_3": "NCL", + "flag": "🇳🇨", + "name": "New Caledonia", + "numeric": "540" + }, + { + "alpha_2": "NE", + "alpha_3": "NER", + "flag": "🇳🇪", + "name": "Niger", + "numeric": "562", + "official_name": "Republic of the Niger" + }, + { + "alpha_2": "NF", + "alpha_3": "NFK", + "flag": "🇳🇫", + "name": "Norfolk Island", + "numeric": "574" + }, + { + "alpha_2": "NG", + "alpha_3": "NGA", + "flag": "🇳🇬", + "name": "Nigeria", + "numeric": "566", + "official_name": "Federal Republic of Nigeria" + }, + { + "alpha_2": "NI", + "alpha_3": "NIC", + "flag": "🇳🇮", + "name": "Nicaragua", + "numeric": "558", + "official_name": "Republic of Nicaragua" + }, + { + "alpha_2": "NU", + "alpha_3": "NIU", + "flag": "🇳🇺", + "name": "Niue", + "numeric": "570", + "official_name": "Niue" + }, + { + "alpha_2": "NL", + "alpha_3": "NLD", + "flag": "🇳🇱", + "name": "Netherlands", + "numeric": "528", + "official_name": "Kingdom of the Netherlands" + }, + { + "alpha_2": "NO", + "alpha_3": "NOR", + "flag": "🇳🇴", + "name": "Norway", + "numeric": "578", + "official_name": "Kingdom of Norway" + }, + { + "alpha_2": "NP", + "alpha_3": "NPL", + "flag": "🇳🇵", + "name": "Nepal", + "numeric": "524", + "official_name": "Federal Democratic Republic of Nepal" + }, + { + "alpha_2": "NR", + "alpha_3": "NRU", + "flag": "🇳🇷", + "name": "Nauru", + "numeric": "520", + "official_name": "Republic of Nauru" + }, + { + "alpha_2": "NZ", + "alpha_3": "NZL", + "flag": "🇳🇿", + "name": "New Zealand", + "numeric": "554" + }, + { + "alpha_2": "OM", + "alpha_3": "OMN", + "flag": "🇴🇲", + "name": "Oman", + "numeric": "512", + "official_name": "Sultanate of Oman" + }, + { + "alpha_2": "PK", + "alpha_3": "PAK", + "flag": "🇵🇰", + "name": "Pakistan", + "numeric": "586", + "official_name": "Islamic Republic of Pakistan" + }, + { + "alpha_2": "PA", + "alpha_3": "PAN", + "flag": "🇵🇦", + "name": "Panama", + "numeric": "591", + "official_name": "Republic of Panama" + }, + { + "alpha_2": "PN", + "alpha_3": "PCN", + "flag": "🇵🇳", + "name": "Pitcairn", + "numeric": "612" + }, + { + "alpha_2": "PE", + "alpha_3": "PER", + "flag": "🇵🇪", + "name": "Peru", + "numeric": "604", + "official_name": "Republic of Peru" + }, + { + "alpha_2": "PH", + "alpha_3": "PHL", + "flag": "🇵🇭", + "name": "Philippines", + "numeric": "608", + "official_name": "Republic of the Philippines" + }, + { + "alpha_2": "PW", + "alpha_3": "PLW", + "flag": "🇵🇼", + "name": "Palau", + "numeric": "585", + "official_name": "Republic of Palau" + }, + { + "alpha_2": "PG", + "alpha_3": "PNG", + "flag": "🇵🇬", + "name": "Papua New Guinea", + "numeric": "598", + "official_name": "Independent State of Papua New Guinea" + }, + { + "alpha_2": "PL", + "alpha_3": "POL", + "flag": "🇵🇱", + "name": "Poland", + "numeric": "616", + "official_name": "Republic of Poland" + }, + { + "alpha_2": "PR", + "alpha_3": "PRI", + "flag": "🇵🇷", + "name": "Puerto Rico", + "numeric": "630" + }, + { + "alpha_2": "KP", + "alpha_3": "PRK", + "common_name": "North Korea", + "flag": "🇰🇵", + "name": "Korea, Democratic People's Republic of", + "numeric": "408", + "official_name": "Democratic People's Republic of Korea" + }, + { + "alpha_2": "PT", + "alpha_3": "PRT", + "flag": "🇵🇹", + "name": "Portugal", + "numeric": "620", + "official_name": "Portuguese Republic" + }, + { + "alpha_2": "PY", + "alpha_3": "PRY", + "flag": "🇵🇾", + "name": "Paraguay", + "numeric": "600", + "official_name": "Republic of Paraguay" + }, + { + "alpha_2": "PS", + "alpha_3": "PSE", + "flag": "🇵🇸", + "name": "Palestine, State of", + "numeric": "275", + "official_name": "the State of Palestine" + }, + { + "alpha_2": "PF", + "alpha_3": "PYF", + "flag": "🇵🇫", + "name": "French Polynesia", + "numeric": "258" + }, + { + "alpha_2": "QA", + "alpha_3": "QAT", + "flag": "🇶🇦", + "name": "Qatar", + "numeric": "634", + "official_name": "State of Qatar" + }, + { + "alpha_2": "RE", + "alpha_3": "REU", + "flag": "🇷🇪", + "name": "Réunion", + "numeric": "638" + }, + { + "alpha_2": "RO", + "alpha_3": "ROU", + "flag": "🇷🇴", + "name": "Romania", + "numeric": "642" + }, + { + "alpha_2": "RU", + "alpha_3": "RUS", + "flag": "🇷🇺", + "name": "Russian Federation", + "numeric": "643" + }, + { + "alpha_2": "RW", + "alpha_3": "RWA", + "flag": "🇷🇼", + "name": "Rwanda", + "numeric": "646", + "official_name": "Rwandese Republic" + }, + { + "alpha_2": "SA", + "alpha_3": "SAU", + "flag": "🇸🇦", + "name": "Saudi Arabia", + "numeric": "682", + "official_name": "Kingdom of Saudi Arabia" + }, + { + "alpha_2": "SD", + "alpha_3": "SDN", + "flag": "🇸🇩", + "name": "Sudan", + "numeric": "729", + "official_name": "Republic of the Sudan" + }, + { + "alpha_2": "SN", + "alpha_3": "SEN", + "flag": "🇸🇳", + "name": "Senegal", + "numeric": "686", + "official_name": "Republic of Senegal" + }, + { + "alpha_2": "SG", + "alpha_3": "SGP", + "flag": "🇸🇬", + "name": "Singapore", + "numeric": "702", + "official_name": "Republic of Singapore" + }, + { + "alpha_2": "GS", + "alpha_3": "SGS", + "flag": "🇬🇸", + "name": "South Georgia and the South Sandwich Islands", + "numeric": "239" + }, + { + "alpha_2": "SH", + "alpha_3": "SHN", + "flag": "🇸🇭", + "name": "Saint Helena, Ascension and Tristan da Cunha", + "numeric": "654" + }, + { + "alpha_2": "SJ", + "alpha_3": "SJM", + "flag": "🇸🇯", + "name": "Svalbard and Jan Mayen", + "numeric": "744" + }, + { + "alpha_2": "SB", + "alpha_3": "SLB", + "flag": "🇸🇧", + "name": "Solomon Islands", + "numeric": "090" + }, + { + "alpha_2": "SL", + "alpha_3": "SLE", + "flag": "🇸🇱", + "name": "Sierra Leone", + "numeric": "694", + "official_name": "Republic of Sierra Leone" + }, + { + "alpha_2": "SV", + "alpha_3": "SLV", + "flag": "🇸🇻", + "name": "El Salvador", + "numeric": "222", + "official_name": "Republic of El Salvador" + }, + { + "alpha_2": "SM", + "alpha_3": "SMR", + "flag": "🇸🇲", + "name": "San Marino", + "numeric": "674", + "official_name": "Republic of San Marino" + }, + { + "alpha_2": "SO", + "alpha_3": "SOM", + "flag": "🇸🇴", + "name": "Somalia", + "numeric": "706", + "official_name": "Federal Republic of Somalia" + }, + { + "alpha_2": "PM", + "alpha_3": "SPM", + "flag": "🇵🇲", + "name": "Saint Pierre and Miquelon", + "numeric": "666" + }, + { + "alpha_2": "RS", + "alpha_3": "SRB", + "flag": "🇷🇸", + "name": "Serbia", + "numeric": "688", + "official_name": "Republic of Serbia" + }, + { + "alpha_2": "SS", + "alpha_3": "SSD", + "flag": "🇸🇸", + "name": "South Sudan", + "numeric": "728", + "official_name": "Republic of South Sudan" + }, + { + "alpha_2": "ST", + "alpha_3": "STP", + "flag": "🇸🇹", + "name": "Sao Tome and Principe", + "numeric": "678", + "official_name": "Democratic Republic of Sao Tome and Principe" + }, + { + "alpha_2": "SR", + "alpha_3": "SUR", + "flag": "🇸🇷", + "name": "Suriname", + "numeric": "740", + "official_name": "Republic of Suriname" + }, + { + "alpha_2": "SK", + "alpha_3": "SVK", + "flag": "🇸🇰", + "name": "Slovakia", + "numeric": "703", + "official_name": "Slovak Republic" + }, + { + "alpha_2": "SI", + "alpha_3": "SVN", + "flag": "🇸🇮", + "name": "Slovenia", + "numeric": "705", + "official_name": "Republic of Slovenia" + }, + { + "alpha_2": "SE", + "alpha_3": "SWE", + "flag": "🇸🇪", + "name": "Sweden", + "numeric": "752", + "official_name": "Kingdom of Sweden" + }, + { + "alpha_2": "SZ", + "alpha_3": "SWZ", + "flag": "🇸🇿", + "name": "Eswatini", + "numeric": "748", + "official_name": "Kingdom of Eswatini" + }, + { + "alpha_2": "SX", + "alpha_3": "SXM", + "flag": "🇸🇽", + "name": "Sint Maarten (Dutch part)", + "numeric": "534", + "official_name": "Sint Maarten (Dutch part)" + }, + { + "alpha_2": "SC", + "alpha_3": "SYC", + "flag": "🇸🇨", + "name": "Seychelles", + "numeric": "690", + "official_name": "Republic of Seychelles" + }, + { + "alpha_2": "SY", + "alpha_3": "SYR", + "common_name": "Syria", + "flag": "🇸🇾", + "name": "Syrian Arab Republic", + "numeric": "760" + }, + { + "alpha_2": "TC", + "alpha_3": "TCA", + "flag": "🇹🇨", + "name": "Turks and Caicos Islands", + "numeric": "796" + }, + { + "alpha_2": "TD", + "alpha_3": "TCD", + "flag": "🇹🇩", + "name": "Chad", + "numeric": "148", + "official_name": "Republic of Chad" + }, + { + "alpha_2": "TG", + "alpha_3": "TGO", + "flag": "🇹🇬", + "name": "Togo", + "numeric": "768", + "official_name": "Togolese Republic" + }, + { + "alpha_2": "TH", + "alpha_3": "THA", + "flag": "🇹🇭", + "name": "Thailand", + "numeric": "764", + "official_name": "Kingdom of Thailand" + }, + { + "alpha_2": "TJ", + "alpha_3": "TJK", + "flag": "🇹🇯", + "name": "Tajikistan", + "numeric": "762", + "official_name": "Republic of Tajikistan" + }, + { + "alpha_2": "TK", + "alpha_3": "TKL", + "flag": "🇹🇰", + "name": "Tokelau", + "numeric": "772" + }, + { + "alpha_2": "TM", + "alpha_3": "TKM", + "flag": "🇹🇲", + "name": "Turkmenistan", + "numeric": "795" + }, + { + "alpha_2": "TL", + "alpha_3": "TLS", + "flag": "🇹🇱", + "name": "Timor-Leste", + "numeric": "626", + "official_name": "Democratic Republic of Timor-Leste" + }, + { + "alpha_2": "TO", + "alpha_3": "TON", + "flag": "🇹🇴", + "name": "Tonga", + "numeric": "776", + "official_name": "Kingdom of Tonga" + }, + { + "alpha_2": "TT", + "alpha_3": "TTO", + "flag": "🇹🇹", + "name": "Trinidad and Tobago", + "numeric": "780", + "official_name": "Republic of Trinidad and Tobago" + }, + { + "alpha_2": "TN", + "alpha_3": "TUN", + "flag": "🇹🇳", + "name": "Tunisia", + "numeric": "788", + "official_name": "Republic of Tunisia" + }, + { + "alpha_2": "TR", + "alpha_3": "TUR", + "flag": "🇹🇷", + "name": "Türkiye", + "numeric": "792", + "official_name": "Republic of Türkiye" + }, + { + "alpha_2": "TV", + "alpha_3": "TUV", + "flag": "🇹🇻", + "name": "Tuvalu", + "numeric": "798" + }, + { + "alpha_2": "TW", + "alpha_3": "TWN", + "common_name": "Taiwan", + "flag": "🇹🇼", + "name": "Taiwan, Province of China", + "numeric": "158", + "official_name": "Taiwan, Province of China" + }, + { + "alpha_2": "TZ", + "alpha_3": "TZA", + "common_name": "Tanzania", + "flag": "🇹🇿", + "name": "Tanzania, United Republic of", + "numeric": "834", + "official_name": "United Republic of Tanzania" + }, + { + "alpha_2": "UG", + "alpha_3": "UGA", + "flag": "🇺🇬", + "name": "Uganda", + "numeric": "800", + "official_name": "Republic of Uganda" + }, + { + "alpha_2": "UA", + "alpha_3": "UKR", + "flag": "🇺🇦", + "name": "Ukraine", + "numeric": "804" + }, + { + "alpha_2": "UM", + "alpha_3": "UMI", + "flag": "🇺🇲", + "name": "United States Minor Outlying Islands", + "numeric": "581" + }, + { + "alpha_2": "UY", + "alpha_3": "URY", + "flag": "🇺🇾", + "name": "Uruguay", + "numeric": "858", + "official_name": "Eastern Republic of Uruguay" + }, + { + "alpha_2": "US", + "alpha_3": "USA", + "flag": "🇺🇸", + "name": "United States", + "numeric": "840", + "official_name": "United States of America" + }, + { + "alpha_2": "UZ", + "alpha_3": "UZB", + "flag": "🇺🇿", + "name": "Uzbekistan", + "numeric": "860", + "official_name": "Republic of Uzbekistan" + }, + { + "alpha_2": "VA", + "alpha_3": "VAT", + "flag": "🇻🇦", + "name": "Holy See (Vatican City State)", + "numeric": "336" + }, + { + "alpha_2": "VC", + "alpha_3": "VCT", + "flag": "🇻🇨", + "name": "Saint Vincent and the Grenadines", + "numeric": "670" + }, + { + "alpha_2": "VE", + "alpha_3": "VEN", + "common_name": "Venezuela", + "flag": "🇻🇪", + "name": "Venezuela, Bolivarian Republic of", + "numeric": "862", + "official_name": "Bolivarian Republic of Venezuela" + }, + { + "alpha_2": "VG", + "alpha_3": "VGB", + "flag": "🇻🇬", + "name": "Virgin Islands, British", + "numeric": "092", + "official_name": "British Virgin Islands" + }, + { + "alpha_2": "VI", + "alpha_3": "VIR", + "flag": "🇻🇮", + "name": "Virgin Islands, U.S.", + "numeric": "850", + "official_name": "Virgin Islands of the United States" + }, + { + "alpha_2": "VN", + "alpha_3": "VNM", + "common_name": "Vietnam", + "flag": "🇻🇳", + "name": "Viet Nam", + "numeric": "704", + "official_name": "Socialist Republic of Viet Nam" + }, + { + "alpha_2": "VU", + "alpha_3": "VUT", + "flag": "🇻🇺", + "name": "Vanuatu", + "numeric": "548", + "official_name": "Republic of Vanuatu" + }, + { + "alpha_2": "WF", + "alpha_3": "WLF", + "flag": "🇼🇫", + "name": "Wallis and Futuna", + "numeric": "876" + }, + { + "alpha_2": "WS", + "alpha_3": "WSM", + "flag": "🇼🇸", + "name": "Samoa", + "numeric": "882", + "official_name": "Independent State of Samoa" + }, + { + "alpha_2": "YE", + "alpha_3": "YEM", + "flag": "🇾🇪", + "name": "Yemen", + "numeric": "887", + "official_name": "Republic of Yemen" + }, + { + "alpha_2": "ZA", + "alpha_3": "ZAF", + "flag": "🇿🇦", + "name": "South Africa", + "numeric": "710", + "official_name": "Republic of South Africa" + }, + { + "alpha_2": "ZM", + "alpha_3": "ZMB", + "flag": "🇿🇲", + "name": "Zambia", + "numeric": "894", + "official_name": "Republic of Zambia" + }, + { + "alpha_2": "ZW", + "alpha_3": "ZWE", + "flag": "🇿🇼", + "name": "Zimbabwe", + "numeric": "716", + "official_name": "Republic of Zimbabwe" + } + ] +} diff --git a/.venv/lib/python3.11/site-packages/pycountry/databases/iso3166-2.json b/.venv/lib/python3.11/site-packages/pycountry/databases/iso3166-2.json new file mode 100644 index 0000000000000000000000000000000000000000..e16038b9a0cccdd5a879767044c77cacb774296b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/databases/iso3166-2.json @@ -0,0 +1,26690 @@ +{ + "3166-2": [ + { + "code": "AD-02", + "name": "Canillo", + "type": "Parish" + }, + { + "code": "AD-03", + "name": "Encamp", + "type": "Parish" + }, + { + "code": "AD-04", + "name": "La Massana", + "type": "Parish" + }, + { + "code": "AD-05", + "name": "Ordino", + "type": "Parish" + }, + { + "code": "AD-06", + "name": "Sant Julià de Lòria", + "type": "Parish" + }, + { + "code": "AD-07", + "name": "Andorra la Vella", + "type": "Parish" + }, + { + "code": "AD-08", + "name": "Escaldes-Engordany", + "type": "Parish" + }, + { + "code": "AE-AJ", + "name": "‘Ajmān", + "type": "Emirate" + }, + { + "code": "AE-AZ", + "name": "Abū Z̧aby", + "type": "Emirate" + }, + { + "code": "AE-DU", + "name": "Dubayy", + "type": "Emirate" + }, + { + "code": "AE-FU", + "name": "Al Fujayrah", + "type": "Emirate" + }, + { + "code": "AE-RK", + "name": "Ra’s al Khaymah", + "type": "Emirate" + }, + { + "code": "AE-SH", + "name": "Ash Shāriqah", + "type": "Emirate" + }, + { + "code": "AE-UQ", + "name": "Umm al Qaywayn", + "type": "Emirate" + }, + { + "code": "AF-BAL", + "name": "Balkh", + "type": "Province" + }, + { + "code": "AF-BAM", + "name": "Bāmyān", + "type": "Province" + }, + { + "code": "AF-BDG", + "name": "Bādghīs", + "type": "Province" + }, + { + "code": "AF-BDS", + "name": "Badakhshān", + "type": "Province" + }, + { + "code": "AF-BGL", + "name": "Baghlān", + "type": "Province" + }, + { + "code": "AF-DAY", + "name": "Dāykundī", + "type": "Province" + }, + { + "code": "AF-FRA", + "name": "Farāh", + "type": "Province" + }, + { + "code": "AF-FYB", + "name": "Fāryāb", + "type": "Province" + }, + { + "code": "AF-GHA", + "name": "Ghaznī", + "type": "Province" + }, + { + "code": "AF-GHO", + "name": "Ghōr", + "type": "Province" + }, + { + "code": "AF-HEL", + "name": "Helmand", + "type": "Province" + }, + { + "code": "AF-HER", + "name": "Herāt", + "type": "Province" + }, + { + "code": "AF-JOW", + "name": "Jowzjān", + "type": "Province" + }, + { + "code": "AF-KAB", + "name": "Kābul", + "type": "Province" + }, + { + "code": "AF-KAN", + "name": "Kandahār", + "type": "Province" + }, + { + "code": "AF-KAP", + "name": "Kāpīsā", + "type": "Province" + }, + { + "code": "AF-KDZ", + "name": "Kunduz", + "type": "Province" + }, + { + "code": "AF-KHO", + "name": "Khōst", + "type": "Province" + }, + { + "code": "AF-KNR", + "name": "Kunaṟ", + "type": "Province" + }, + { + "code": "AF-LAG", + "name": "Laghmān", + "type": "Province" + }, + { + "code": "AF-LOG", + "name": "Lōgar", + "type": "Province" + }, + { + "code": "AF-NAN", + "name": "Nangarhār", + "type": "Province" + }, + { + "code": "AF-NIM", + "name": "Nīmrōz", + "type": "Province" + }, + { + "code": "AF-NUR", + "name": "Nūristān", + "type": "Province" + }, + { + "code": "AF-PAN", + "name": "Panjshayr", + "type": "Province" + }, + { + "code": "AF-PAR", + "name": "Parwān", + "type": "Province" + }, + { + "code": "AF-PIA", + "name": "Paktiyā", + "type": "Province" + }, + { + "code": "AF-PKA", + "name": "Paktīkā", + "type": "Province" + }, + { + "code": "AF-SAM", + "name": "Samangān", + "type": "Province" + }, + { + "code": "AF-SAR", + "name": "Sar-e Pul", + "type": "Province" + }, + { + "code": "AF-TAK", + "name": "Takhār", + "type": "Province" + }, + { + "code": "AF-URU", + "name": "Uruzgān", + "type": "Province" + }, + { + "code": "AF-WAR", + "name": "Wardak", + "type": "Province" + }, + { + "code": "AF-ZAB", + "name": "Zābul", + "type": "Province" + }, + { + "code": "AG-03", + "name": "Saint George", + "type": "Parish" + }, + { + "code": "AG-04", + "name": "Saint John", + "type": "Parish" + }, + { + "code": "AG-05", + "name": "Saint Mary", + "type": "Parish" + }, + { + "code": "AG-06", + "name": "Saint Paul", + "type": "Parish" + }, + { + "code": "AG-07", + "name": "Saint Peter", + "type": "Parish" + }, + { + "code": "AG-08", + "name": "Saint Philip", + "type": "Parish" + }, + { + "code": "AG-10", + "name": "Barbuda", + "type": "Dependency" + }, + { + "code": "AG-11", + "name": "Redonda", + "type": "Dependency" + }, + { + "code": "AL-01", + "name": "Berat", + "type": "County" + }, + { + "code": "AL-02", + "name": "Durrës", + "type": "County" + }, + { + "code": "AL-03", + "name": "Elbasan", + "type": "County" + }, + { + "code": "AL-04", + "name": "Fier", + "type": "County" + }, + { + "code": "AL-05", + "name": "Gjirokastër", + "type": "County" + }, + { + "code": "AL-06", + "name": "Korçë", + "type": "County" + }, + { + "code": "AL-07", + "name": "Kukës", + "type": "County" + }, + { + "code": "AL-08", + "name": "Lezhë", + "type": "County" + }, + { + "code": "AL-09", + "name": "Dibër", + "type": "County" + }, + { + "code": "AL-10", + "name": "Shkodër", + "type": "County" + }, + { + "code": "AL-11", + "name": "Tiranë", + "type": "County" + }, + { + "code": "AL-12", + "name": "Vlorë", + "type": "County" + }, + { + "code": "AM-AG", + "name": "Aragac̣otn", + "type": "Region" + }, + { + "code": "AM-AR", + "name": "Ararat", + "type": "Region" + }, + { + "code": "AM-AV", + "name": "Armavir", + "type": "Region" + }, + { + "code": "AM-ER", + "name": "Erevan", + "type": "City" + }, + { + "code": "AM-GR", + "name": "Geġark'unik'", + "type": "Region" + }, + { + "code": "AM-KT", + "name": "Kotayk'", + "type": "Region" + }, + { + "code": "AM-LO", + "name": "Loṙi", + "type": "Region" + }, + { + "code": "AM-SH", + "name": "Širak", + "type": "Region" + }, + { + "code": "AM-SU", + "name": "Syunik'", + "type": "Region" + }, + { + "code": "AM-TV", + "name": "Tavuš", + "type": "Region" + }, + { + "code": "AM-VD", + "name": "Vayoć Jor", + "type": "Region" + }, + { + "code": "AO-BGO", + "name": "Bengo", + "type": "Province" + }, + { + "code": "AO-BGU", + "name": "Benguela", + "type": "Province" + }, + { + "code": "AO-BIE", + "name": "Bié", + "type": "Province" + }, + { + "code": "AO-CAB", + "name": "Cabinda", + "type": "Province" + }, + { + "code": "AO-CCU", + "name": "Cuando Cubango", + "type": "Province" + }, + { + "code": "AO-CNN", + "name": "Cunene", + "type": "Province" + }, + { + "code": "AO-CNO", + "name": "Cuanza-Norte", + "type": "Province" + }, + { + "code": "AO-CUS", + "name": "Cuanza-Sul", + "type": "Province" + }, + { + "code": "AO-HUA", + "name": "Huambo", + "type": "Province" + }, + { + "code": "AO-HUI", + "name": "Huíla", + "type": "Province" + }, + { + "code": "AO-LNO", + "name": "Lunda-Norte", + "type": "Province" + }, + { + "code": "AO-LSU", + "name": "Lunda-Sul", + "type": "Province" + }, + { + "code": "AO-LUA", + "name": "Luanda", + "type": "Province" + }, + { + "code": "AO-MAL", + "name": "Malange", + "type": "Province" + }, + { + "code": "AO-MOX", + "name": "Moxico", + "type": "Province" + }, + { + "code": "AO-NAM", + "name": "Namibe", + "type": "Province" + }, + { + "code": "AO-UIG", + "name": "Uíge", + "type": "Province" + }, + { + "code": "AO-ZAI", + "name": "Zaire", + "type": "Province" + }, + { + "code": "AR-A", + "name": "Salta", + "type": "Province" + }, + { + "code": "AR-B", + "name": "Buenos Aires", + "type": "Province" + }, + { + "code": "AR-C", + "name": "Ciudad Autónoma de Buenos Aires", + "type": "City" + }, + { + "code": "AR-D", + "name": "San Luis", + "type": "Province" + }, + { + "code": "AR-E", + "name": "Entre Ríos", + "type": "Province" + }, + { + "code": "AR-F", + "name": "La Rioja", + "type": "Province" + }, + { + "code": "AR-G", + "name": "Santiago del Estero", + "type": "Province" + }, + { + "code": "AR-H", + "name": "Chaco", + "type": "Province" + }, + { + "code": "AR-J", + "name": "San Juan", + "type": "Province" + }, + { + "code": "AR-K", + "name": "Catamarca", + "type": "Province" + }, + { + "code": "AR-L", + "name": "La Pampa", + "type": "Province" + }, + { + "code": "AR-M", + "name": "Mendoza", + "type": "Province" + }, + { + "code": "AR-N", + "name": "Misiones", + "type": "Province" + }, + { + "code": "AR-P", + "name": "Formosa", + "type": "Province" + }, + { + "code": "AR-Q", + "name": "Neuquén", + "type": "Province" + }, + { + "code": "AR-R", + "name": "Río Negro", + "type": "Province" + }, + { + "code": "AR-S", + "name": "Santa Fe", + "type": "Province" + }, + { + "code": "AR-T", + "name": "Tucumán", + "type": "Province" + }, + { + "code": "AR-U", + "name": "Chubut", + "type": "Province" + }, + { + "code": "AR-V", + "name": "Tierra del Fuego", + "type": "Province" + }, + { + "code": "AR-W", + "name": "Corrientes", + "type": "Province" + }, + { + "code": "AR-X", + "name": "Córdoba", + "type": "Province" + }, + { + "code": "AR-Y", + "name": "Jujuy", + "type": "Province" + }, + { + "code": "AR-Z", + "name": "Santa Cruz", + "type": "Province" + }, + { + "code": "AT-1", + "name": "Burgenland", + "type": "State" + }, + { + "code": "AT-2", + "name": "Kärnten", + "type": "State" + }, + { + "code": "AT-3", + "name": "Niederösterreich", + "type": "State" + }, + { + "code": "AT-4", + "name": "Oberösterreich", + "type": "State" + }, + { + "code": "AT-5", + "name": "Salzburg", + "type": "State" + }, + { + "code": "AT-6", + "name": "Steiermark", + "type": "State" + }, + { + "code": "AT-7", + "name": "Tirol", + "type": "State" + }, + { + "code": "AT-8", + "name": "Vorarlberg", + "type": "State" + }, + { + "code": "AT-9", + "name": "Wien", + "type": "State" + }, + { + "code": "AU-ACT", + "name": "Australian Capital Territory", + "type": "Territory" + }, + { + "code": "AU-NSW", + "name": "New South Wales", + "type": "State" + }, + { + "code": "AU-NT", + "name": "Northern Territory", + "type": "Territory" + }, + { + "code": "AU-QLD", + "name": "Queensland", + "type": "State" + }, + { + "code": "AU-SA", + "name": "South Australia", + "type": "State" + }, + { + "code": "AU-TAS", + "name": "Tasmania", + "type": "State" + }, + { + "code": "AU-VIC", + "name": "Victoria", + "type": "State" + }, + { + "code": "AU-WA", + "name": "Western Australia", + "type": "State" + }, + { + "code": "AZ-ABS", + "name": "Abşeron", + "type": "Rayon" + }, + { + "code": "AZ-AGA", + "name": "Ağstafa", + "type": "Rayon" + }, + { + "code": "AZ-AGC", + "name": "Ağcabədi", + "type": "Rayon" + }, + { + "code": "AZ-AGM", + "name": "Ağdam", + "type": "Rayon" + }, + { + "code": "AZ-AGS", + "name": "Ağdaş", + "type": "Rayon" + }, + { + "code": "AZ-AGU", + "name": "Ağsu", + "type": "Rayon" + }, + { + "code": "AZ-AST", + "name": "Astara", + "type": "Rayon" + }, + { + "code": "AZ-BA", + "name": "Bakı", + "type": "Municipality" + }, + { + "code": "AZ-BAB", + "name": "Babək", + "parent": "AZ-NX", + "type": "Rayon" + }, + { + "code": "AZ-BAL", + "name": "Balakən", + "type": "Rayon" + }, + { + "code": "AZ-BAR", + "name": "Bərdə", + "type": "Rayon" + }, + { + "code": "AZ-BEY", + "name": "Beyləqan", + "type": "Rayon" + }, + { + "code": "AZ-BIL", + "name": "Biləsuvar", + "type": "Rayon" + }, + { + "code": "AZ-CAB", + "name": "Cəbrayıl", + "type": "Rayon" + }, + { + "code": "AZ-CAL", + "name": "Cəlilabad", + "type": "Rayon" + }, + { + "code": "AZ-CUL", + "name": "Culfa", + "parent": "AZ-NX", + "type": "Rayon" + }, + { + "code": "AZ-DAS", + "name": "Daşkəsən", + "type": "Rayon" + }, + { + "code": "AZ-FUZ", + "name": "Füzuli", + "type": "Rayon" + }, + { + "code": "AZ-GA", + "name": "Gəncə", + "type": "Municipality" + }, + { + "code": "AZ-GAD", + "name": "Gədəbəy", + "type": "Rayon" + }, + { + "code": "AZ-GOR", + "name": "Goranboy", + "type": "Rayon" + }, + { + "code": "AZ-GOY", + "name": "Göyçay", + "type": "Rayon" + }, + { + "code": "AZ-GYG", + "name": "Göygöl", + "type": "Rayon" + }, + { + "code": "AZ-HAC", + "name": "Hacıqabul", + "type": "Rayon" + }, + { + "code": "AZ-IMI", + "name": "İmişli", + "type": "Rayon" + }, + { + "code": "AZ-ISM", + "name": "İsmayıllı", + "type": "Rayon" + }, + { + "code": "AZ-KAL", + "name": "Kəlbəcər", + "type": "Rayon" + }, + { + "code": "AZ-KAN", + "name": "Kǝngǝrli", + "parent": "AZ-NX", + "type": "Rayon" + }, + { + "code": "AZ-KUR", + "name": "Kürdəmir", + "type": "Rayon" + }, + { + "code": "AZ-LA", + "name": "Lənkəran", + "type": "Municipality" + }, + { + "code": "AZ-LAC", + "name": "Laçın", + "type": "Rayon" + }, + { + "code": "AZ-LAN", + "name": "Lənkəran", + "type": "Rayon" + }, + { + "code": "AZ-LER", + "name": "Lerik", + "type": "Rayon" + }, + { + "code": "AZ-MAS", + "name": "Masallı", + "type": "Rayon" + }, + { + "code": "AZ-MI", + "name": "Mingəçevir", + "type": "Municipality" + }, + { + "code": "AZ-NA", + "name": "Naftalan", + "type": "Municipality" + }, + { + "code": "AZ-NEF", + "name": "Neftçala", + "type": "Rayon" + }, + { + "code": "AZ-NV", + "name": "Naxçıvan", + "parent": "AZ-NX", + "type": "Municipality" + }, + { + "code": "AZ-NX", + "name": "Naxçıvan", + "type": "Autonomous republic" + }, + { + "code": "AZ-OGU", + "name": "Oğuz", + "type": "Rayon" + }, + { + "code": "AZ-ORD", + "name": "Ordubad", + "parent": "AZ-NX", + "type": "Rayon" + }, + { + "code": "AZ-QAB", + "name": "Qəbələ", + "type": "Rayon" + }, + { + "code": "AZ-QAX", + "name": "Qax", + "type": "Rayon" + }, + { + "code": "AZ-QAZ", + "name": "Qazax", + "type": "Rayon" + }, + { + "code": "AZ-QBA", + "name": "Quba", + "type": "Rayon" + }, + { + "code": "AZ-QBI", + "name": "Qubadlı", + "type": "Rayon" + }, + { + "code": "AZ-QOB", + "name": "Qobustan", + "type": "Rayon" + }, + { + "code": "AZ-QUS", + "name": "Qusar", + "type": "Rayon" + }, + { + "code": "AZ-SA", + "name": "Şəki", + "type": "Municipality" + }, + { + "code": "AZ-SAB", + "name": "Sabirabad", + "type": "Rayon" + }, + { + "code": "AZ-SAD", + "name": "Sədərək", + "parent": "AZ-NX", + "type": "Rayon" + }, + { + "code": "AZ-SAH", + "name": "Şahbuz", + "parent": "AZ-NX", + "type": "Rayon" + }, + { + "code": "AZ-SAK", + "name": "Şəki", + "type": "Rayon" + }, + { + "code": "AZ-SAL", + "name": "Salyan", + "type": "Rayon" + }, + { + "code": "AZ-SAR", + "name": "Şərur", + "parent": "AZ-NX", + "type": "Rayon" + }, + { + "code": "AZ-SAT", + "name": "Saatlı", + "type": "Rayon" + }, + { + "code": "AZ-SBN", + "name": "Şabran", + "type": "Rayon" + }, + { + "code": "AZ-SIY", + "name": "Siyəzən", + "type": "Rayon" + }, + { + "code": "AZ-SKR", + "name": "Şəmkir", + "type": "Rayon" + }, + { + "code": "AZ-SM", + "name": "Sumqayıt", + "type": "Municipality" + }, + { + "code": "AZ-SMI", + "name": "Şamaxı", + "type": "Rayon" + }, + { + "code": "AZ-SMX", + "name": "Samux", + "type": "Rayon" + }, + { + "code": "AZ-SR", + "name": "Şirvan", + "type": "Municipality" + }, + { + "code": "AZ-SUS", + "name": "Şuşa", + "type": "Rayon" + }, + { + "code": "AZ-TAR", + "name": "Tərtər", + "type": "Rayon" + }, + { + "code": "AZ-TOV", + "name": "Tovuz", + "type": "Rayon" + }, + { + "code": "AZ-UCA", + "name": "Ucar", + "type": "Rayon" + }, + { + "code": "AZ-XA", + "name": "Xankəndi", + "type": "Municipality" + }, + { + "code": "AZ-XAC", + "name": "Xaçmaz", + "type": "Rayon" + }, + { + "code": "AZ-XCI", + "name": "Xocalı", + "type": "Rayon" + }, + { + "code": "AZ-XIZ", + "name": "Xızı", + "type": "Rayon" + }, + { + "code": "AZ-XVD", + "name": "Xocavənd", + "type": "Rayon" + }, + { + "code": "AZ-YAR", + "name": "Yardımlı", + "type": "Rayon" + }, + { + "code": "AZ-YE", + "name": "Yevlax", + "type": "Municipality" + }, + { + "code": "AZ-YEV", + "name": "Yevlax", + "type": "Rayon" + }, + { + "code": "AZ-ZAN", + "name": "Zəngilan", + "type": "Rayon" + }, + { + "code": "AZ-ZAQ", + "name": "Zaqatala", + "type": "Rayon" + }, + { + "code": "AZ-ZAR", + "name": "Zərdab", + "type": "Rayon" + }, + { + "code": "BA-BIH", + "name": "Federacija Bosne i Hercegovine", + "type": "Entity" + }, + { + "code": "BA-BRC", + "name": "Brčko distrikt", + "type": "District with special status" + }, + { + "code": "BA-SRP", + "name": "Republika Srpska", + "type": "Entity" + }, + { + "code": "BB-01", + "name": "Christ Church", + "type": "Parish" + }, + { + "code": "BB-02", + "name": "Saint Andrew", + "type": "Parish" + }, + { + "code": "BB-03", + "name": "Saint George", + "type": "Parish" + }, + { + "code": "BB-04", + "name": "Saint James", + "type": "Parish" + }, + { + "code": "BB-05", + "name": "Saint John", + "type": "Parish" + }, + { + "code": "BB-06", + "name": "Saint Joseph", + "type": "Parish" + }, + { + "code": "BB-07", + "name": "Saint Lucy", + "type": "Parish" + }, + { + "code": "BB-08", + "name": "Saint Michael", + "type": "Parish" + }, + { + "code": "BB-09", + "name": "Saint Peter", + "type": "Parish" + }, + { + "code": "BB-10", + "name": "Saint Philip", + "type": "Parish" + }, + { + "code": "BB-11", + "name": "Saint Thomas", + "type": "Parish" + }, + { + "code": "BD-01", + "name": "Bandarban", + "parent": "BD-B", + "type": "District" + }, + { + "code": "BD-02", + "name": "Barguna", + "parent": "BD-A", + "type": "District" + }, + { + "code": "BD-03", + "name": "Bogura", + "parent": "BD-E", + "type": "District" + }, + { + "code": "BD-04", + "name": "Brahmanbaria", + "parent": "BD-B", + "type": "District" + }, + { + "code": "BD-05", + "name": "Bagerhat", + "parent": "BD-D", + "type": "District" + }, + { + "code": "BD-06", + "name": "Barishal", + "parent": "BD-A", + "type": "District" + }, + { + "code": "BD-07", + "name": "Bhola", + "parent": "BD-A", + "type": "District" + }, + { + "code": "BD-08", + "name": "Cumilla", + "parent": "BD-B", + "type": "District" + }, + { + "code": "BD-09", + "name": "Chandpur", + "parent": "BD-B", + "type": "District" + }, + { + "code": "BD-10", + "name": "Chattogram", + "parent": "BD-B", + "type": "District" + }, + { + "code": "BD-11", + "name": "Cox's Bazar", + "parent": "BD-B", + "type": "District" + }, + { + "code": "BD-12", + "name": "Chuadanga", + "parent": "BD-D", + "type": "District" + }, + { + "code": "BD-13", + "name": "Dhaka", + "parent": "BD-C", + "type": "District" + }, + { + "code": "BD-14", + "name": "Dinajpur", + "parent": "BD-F", + "type": "District" + }, + { + "code": "BD-15", + "name": "Faridpur", + "parent": "BD-C", + "type": "District" + }, + { + "code": "BD-16", + "name": "Feni", + "parent": "BD-B", + "type": "District" + }, + { + "code": "BD-17", + "name": "Gopalganj", + "parent": "BD-C", + "type": "District" + }, + { + "code": "BD-18", + "name": "Gazipur", + "parent": "BD-C", + "type": "District" + }, + { + "code": "BD-19", + "name": "Gaibandha", + "parent": "BD-F", + "type": "District" + }, + { + "code": "BD-20", + "name": "Habiganj", + "parent": "BD-G", + "type": "District" + }, + { + "code": "BD-21", + "name": "Jamalpur", + "parent": "BD-H", + "type": "District" + }, + { + "code": "BD-22", + "name": "Jashore", + "parent": "BD-D", + "type": "District" + }, + { + "code": "BD-23", + "name": "Jhenaidah", + "parent": "BD-D", + "type": "District" + }, + { + "code": "BD-24", + "name": "Joypurhat", + "parent": "BD-E", + "type": "District" + }, + { + "code": "BD-25", + "name": "Jhalakathi", + "parent": "BD-A", + "type": "District" + }, + { + "code": "BD-26", + "name": "Kishoreganj", + "parent": "BD-C", + "type": "District" + }, + { + "code": "BD-27", + "name": "Khulna", + "parent": "BD-D", + "type": "District" + }, + { + "code": "BD-28", + "name": "Kurigram", + "parent": "BD-F", + "type": "District" + }, + { + "code": "BD-29", + "name": "Khagrachhari", + "parent": "BD-B", + "type": "District" + }, + { + "code": "BD-30", + "name": "Kushtia", + "parent": "BD-D", + "type": "District" + }, + { + "code": "BD-31", + "name": "Lakshmipur", + "parent": "BD-B", + "type": "District" + }, + { + "code": "BD-32", + "name": "Lalmonirhat", + "parent": "BD-F", + "type": "District" + }, + { + "code": "BD-33", + "name": "Manikganj", + "parent": "BD-C", + "type": "District" + }, + { + "code": "BD-34", + "name": "Mymensingh", + "parent": "BD-H", + "type": "District" + }, + { + "code": "BD-35", + "name": "Munshiganj", + "parent": "BD-C", + "type": "District" + }, + { + "code": "BD-36", + "name": "Madaripur", + "parent": "BD-C", + "type": "District" + }, + { + "code": "BD-37", + "name": "Magura", + "parent": "BD-D", + "type": "District" + }, + { + "code": "BD-38", + "name": "Moulvibazar", + "parent": "BD-G", + "type": "District" + }, + { + "code": "BD-39", + "name": "Meherpur", + "parent": "BD-D", + "type": "District" + }, + { + "code": "BD-40", + "name": "Narayanganj", + "parent": "BD-C", + "type": "District" + }, + { + "code": "BD-41", + "name": "Netrakona", + "parent": "BD-H", + "type": "District" + }, + { + "code": "BD-42", + "name": "Narsingdi", + "parent": "BD-C", + "type": "District" + }, + { + "code": "BD-43", + "name": "Narail", + "parent": "BD-D", + "type": "District" + }, + { + "code": "BD-44", + "name": "Natore", + "parent": "BD-E", + "type": "District" + }, + { + "code": "BD-45", + "name": "Chapai Nawabganj", + "parent": "BD-E", + "type": "District" + }, + { + "code": "BD-46", + "name": "Nilphamari", + "parent": "BD-F", + "type": "District" + }, + { + "code": "BD-47", + "name": "Noakhali", + "parent": "BD-B", + "type": "District" + }, + { + "code": "BD-48", + "name": "Naogaon", + "parent": "BD-E", + "type": "District" + }, + { + "code": "BD-49", + "name": "Pabna", + "parent": "BD-E", + "type": "District" + }, + { + "code": "BD-50", + "name": "Pirojpur", + "parent": "BD-A", + "type": "District" + }, + { + "code": "BD-51", + "name": "Patuakhali", + "parent": "BD-A", + "type": "District" + }, + { + "code": "BD-52", + "name": "Panchagarh", + "parent": "BD-F", + "type": "District" + }, + { + "code": "BD-53", + "name": "Rajbari", + "parent": "BD-C", + "type": "District" + }, + { + "code": "BD-54", + "name": "Rajshahi", + "parent": "BD-E", + "type": "District" + }, + { + "code": "BD-55", + "name": "Rangpur", + "parent": "BD-F", + "type": "District" + }, + { + "code": "BD-56", + "name": "Rangamati", + "parent": "BD-B", + "type": "District" + }, + { + "code": "BD-57", + "name": "Sherpur", + "parent": "BD-H", + "type": "District" + }, + { + "code": "BD-58", + "name": "Satkhira", + "parent": "BD-D", + "type": "District" + }, + { + "code": "BD-59", + "name": "Sirajganj", + "parent": "BD-E", + "type": "District" + }, + { + "code": "BD-60", + "name": "Sylhet", + "parent": "BD-G", + "type": "District" + }, + { + "code": "BD-61", + "name": "Sunamganj", + "parent": "BD-G", + "type": "District" + }, + { + "code": "BD-62", + "name": "Shariatpur", + "parent": "BD-C", + "type": "District" + }, + { + "code": "BD-63", + "name": "Tangail", + "parent": "BD-C", + "type": "District" + }, + { + "code": "BD-64", + "name": "Thakurgaon", + "parent": "BD-F", + "type": "District" + }, + { + "code": "BD-A", + "name": "Barishal", + "type": "Division" + }, + { + "code": "BD-B", + "name": "Chattogram", + "type": "Division" + }, + { + "code": "BD-C", + "name": "Dhaka", + "type": "Division" + }, + { + "code": "BD-D", + "name": "Khulna", + "type": "Division" + }, + { + "code": "BD-E", + "name": "Rajshahi", + "type": "Division" + }, + { + "code": "BD-F", + "name": "Rangpur", + "type": "Division" + }, + { + "code": "BD-G", + "name": "Sylhet", + "type": "Division" + }, + { + "code": "BD-H", + "name": "Mymensingh", + "type": "Division" + }, + { + "code": "BE-BRU", + "name": "Bruxelles-Capitale, Région de", + "type": "Region" + }, + { + "code": "BE-VAN", + "name": "Antwerpen", + "parent": "BE-VLG", + "type": "Province" + }, + { + "code": "BE-VBR", + "name": "Vlaams-Brabant", + "parent": "BE-VLG", + "type": "Province" + }, + { + "code": "BE-VLG", + "name": "Vlaams Gewest", + "type": "Region" + }, + { + "code": "BE-VLI", + "name": "Limburg", + "parent": "BE-VLG", + "type": "Province" + }, + { + "code": "BE-VOV", + "name": "Oost-Vlaanderen", + "parent": "BE-VLG", + "type": "Province" + }, + { + "code": "BE-VWV", + "name": "West-Vlaanderen", + "parent": "BE-VLG", + "type": "Province" + }, + { + "code": "BE-WAL", + "name": "wallonne, Région", + "type": "Region" + }, + { + "code": "BE-WBR", + "name": "Brabant wallon", + "parent": "BE-WAL", + "type": "Province" + }, + { + "code": "BE-WHT", + "name": "Hainaut", + "parent": "BE-WAL", + "type": "Province" + }, + { + "code": "BE-WLG", + "name": "Liège", + "parent": "BE-WAL", + "type": "Province" + }, + { + "code": "BE-WLX", + "name": "Luxembourg", + "parent": "BE-WAL", + "type": "Province" + }, + { + "code": "BE-WNA", + "name": "Namur", + "parent": "BE-WAL", + "type": "Province" + }, + { + "code": "BF-01", + "name": "Boucle du Mouhoun", + "type": "Region" + }, + { + "code": "BF-02", + "name": "Cascades", + "type": "Region" + }, + { + "code": "BF-03", + "name": "Centre", + "type": "Region" + }, + { + "code": "BF-04", + "name": "Centre-Est", + "type": "Region" + }, + { + "code": "BF-05", + "name": "Centre-Nord", + "type": "Region" + }, + { + "code": "BF-06", + "name": "Centre-Ouest", + "type": "Region" + }, + { + "code": "BF-07", + "name": "Centre-Sud", + "type": "Region" + }, + { + "code": "BF-08", + "name": "Est", + "type": "Region" + }, + { + "code": "BF-09", + "name": "Hauts-Bassins", + "type": "Region" + }, + { + "code": "BF-10", + "name": "Nord", + "type": "Region" + }, + { + "code": "BF-11", + "name": "Plateau-Central", + "type": "Region" + }, + { + "code": "BF-12", + "name": "Sahel", + "type": "Region" + }, + { + "code": "BF-13", + "name": "Sud-Ouest", + "type": "Region" + }, + { + "code": "BF-BAL", + "name": "Balé", + "parent": "BF-01", + "type": "Province" + }, + { + "code": "BF-BAM", + "name": "Bam", + "parent": "BF-05", + "type": "Province" + }, + { + "code": "BF-BAN", + "name": "Banwa", + "parent": "BF-01", + "type": "Province" + }, + { + "code": "BF-BAZ", + "name": "Bazèga", + "parent": "BF-07", + "type": "Province" + }, + { + "code": "BF-BGR", + "name": "Bougouriba", + "parent": "BF-13", + "type": "Province" + }, + { + "code": "BF-BLG", + "name": "Boulgou", + "parent": "BF-04", + "type": "Province" + }, + { + "code": "BF-BLK", + "name": "Boulkiemdé", + "parent": "BF-06", + "type": "Province" + }, + { + "code": "BF-COM", + "name": "Comoé", + "parent": "BF-02", + "type": "Province" + }, + { + "code": "BF-GAN", + "name": "Ganzourgou", + "parent": "BF-11", + "type": "Province" + }, + { + "code": "BF-GNA", + "name": "Gnagna", + "parent": "BF-08", + "type": "Province" + }, + { + "code": "BF-GOU", + "name": "Gourma", + "parent": "BF-08", + "type": "Province" + }, + { + "code": "BF-HOU", + "name": "Houet", + "parent": "BF-09", + "type": "Province" + }, + { + "code": "BF-IOB", + "name": "Ioba", + "parent": "BF-13", + "type": "Province" + }, + { + "code": "BF-KAD", + "name": "Kadiogo", + "parent": "BF-03", + "type": "Province" + }, + { + "code": "BF-KEN", + "name": "Kénédougou", + "parent": "BF-09", + "type": "Province" + }, + { + "code": "BF-KMD", + "name": "Komondjari", + "parent": "BF-08", + "type": "Province" + }, + { + "code": "BF-KMP", + "name": "Kompienga", + "parent": "BF-08", + "type": "Province" + }, + { + "code": "BF-KOP", + "name": "Koulpélogo", + "parent": "BF-04", + "type": "Province" + }, + { + "code": "BF-KOS", + "name": "Kossi", + "parent": "BF-01", + "type": "Province" + }, + { + "code": "BF-KOT", + "name": "Kouritenga", + "parent": "BF-04", + "type": "Province" + }, + { + "code": "BF-KOW", + "name": "Kourwéogo", + "parent": "BF-11", + "type": "Province" + }, + { + "code": "BF-LER", + "name": "Léraba", + "parent": "BF-02", + "type": "Province" + }, + { + "code": "BF-LOR", + "name": "Loroum", + "parent": "BF-10", + "type": "Province" + }, + { + "code": "BF-MOU", + "name": "Mouhoun", + "parent": "BF-01", + "type": "Province" + }, + { + "code": "BF-NAM", + "name": "Namentenga", + "parent": "BF-05", + "type": "Province" + }, + { + "code": "BF-NAO", + "name": "Nahouri", + "parent": "BF-07", + "type": "Province" + }, + { + "code": "BF-NAY", + "name": "Nayala", + "parent": "BF-01", + "type": "Province" + }, + { + "code": "BF-NOU", + "name": "Noumbiel", + "parent": "BF-13", + "type": "Province" + }, + { + "code": "BF-OUB", + "name": "Oubritenga", + "parent": "BF-11", + "type": "Province" + }, + { + "code": "BF-OUD", + "name": "Oudalan", + "parent": "BF-12", + "type": "Province" + }, + { + "code": "BF-PAS", + "name": "Passoré", + "parent": "BF-10", + "type": "Province" + }, + { + "code": "BF-PON", + "name": "Poni", + "parent": "BF-13", + "type": "Province" + }, + { + "code": "BF-SEN", + "name": "Séno", + "parent": "BF-12", + "type": "Province" + }, + { + "code": "BF-SIS", + "name": "Sissili", + "parent": "BF-06", + "type": "Province" + }, + { + "code": "BF-SMT", + "name": "Sanmatenga", + "parent": "BF-05", + "type": "Province" + }, + { + "code": "BF-SNG", + "name": "Sanguié", + "parent": "BF-06", + "type": "Province" + }, + { + "code": "BF-SOM", + "name": "Soum", + "parent": "BF-12", + "type": "Province" + }, + { + "code": "BF-SOR", + "name": "Sourou", + "parent": "BF-01", + "type": "Province" + }, + { + "code": "BF-TAP", + "name": "Tapoa", + "parent": "BF-08", + "type": "Province" + }, + { + "code": "BF-TUI", + "name": "Tuy", + "parent": "BF-09", + "type": "Province" + }, + { + "code": "BF-YAG", + "name": "Yagha", + "parent": "BF-12", + "type": "Province" + }, + { + "code": "BF-YAT", + "name": "Yatenga", + "parent": "BF-10", + "type": "Province" + }, + { + "code": "BF-ZIR", + "name": "Ziro", + "parent": "BF-06", + "type": "Province" + }, + { + "code": "BF-ZON", + "name": "Zondoma", + "parent": "BF-10", + "type": "Province" + }, + { + "code": "BF-ZOU", + "name": "Zoundwéogo", + "parent": "BF-07", + "type": "Province" + }, + { + "code": "BG-01", + "name": "Blagoevgrad", + "type": "District" + }, + { + "code": "BG-02", + "name": "Burgas", + "type": "District" + }, + { + "code": "BG-03", + "name": "Varna", + "type": "District" + }, + { + "code": "BG-04", + "name": "Veliko Tarnovo", + "type": "District" + }, + { + "code": "BG-05", + "name": "Vidin", + "type": "District" + }, + { + "code": "BG-06", + "name": "Vratsa", + "type": "District" + }, + { + "code": "BG-07", + "name": "Gabrovo", + "type": "District" + }, + { + "code": "BG-08", + "name": "Dobrich", + "type": "District" + }, + { + "code": "BG-09", + "name": "Kardzhali", + "type": "District" + }, + { + "code": "BG-10", + "name": "Kyustendil", + "type": "District" + }, + { + "code": "BG-11", + "name": "Lovech", + "type": "District" + }, + { + "code": "BG-12", + "name": "Montana", + "type": "District" + }, + { + "code": "BG-13", + "name": "Pazardzhik", + "type": "District" + }, + { + "code": "BG-14", + "name": "Pernik", + "type": "District" + }, + { + "code": "BG-15", + "name": "Pleven", + "type": "District" + }, + { + "code": "BG-16", + "name": "Plovdiv", + "type": "District" + }, + { + "code": "BG-17", + "name": "Razgrad", + "type": "District" + }, + { + "code": "BG-18", + "name": "Ruse", + "type": "District" + }, + { + "code": "BG-19", + "name": "Silistra", + "type": "District" + }, + { + "code": "BG-20", + "name": "Sliven", + "type": "District" + }, + { + "code": "BG-21", + "name": "Smolyan", + "type": "District" + }, + { + "code": "BG-22", + "name": "Sofia (stolitsa)", + "type": "District" + }, + { + "code": "BG-23", + "name": "Sofia", + "type": "District" + }, + { + "code": "BG-24", + "name": "Stara Zagora", + "type": "District" + }, + { + "code": "BG-25", + "name": "Targovishte", + "type": "District" + }, + { + "code": "BG-26", + "name": "Haskovo", + "type": "District" + }, + { + "code": "BG-27", + "name": "Shumen", + "type": "District" + }, + { + "code": "BG-28", + "name": "Yambol", + "type": "District" + }, + { + "code": "BH-13", + "name": "Al ‘Āşimah", + "type": "Governorate" + }, + { + "code": "BH-14", + "name": "Al Janūbīyah", + "type": "Governorate" + }, + { + "code": "BH-15", + "name": "Al Muḩarraq", + "type": "Governorate" + }, + { + "code": "BH-17", + "name": "Ash Shamālīyah", + "type": "Governorate" + }, + { + "code": "BI-BB", + "name": "Bubanza", + "type": "Province" + }, + { + "code": "BI-BL", + "name": "Bujumbura Rural", + "type": "Province" + }, + { + "code": "BI-BM", + "name": "Bujumbura Mairie", + "type": "Province" + }, + { + "code": "BI-BR", + "name": "Bururi", + "type": "Province" + }, + { + "code": "BI-CA", + "name": "Cankuzo", + "type": "Province" + }, + { + "code": "BI-CI", + "name": "Cibitoke", + "type": "Province" + }, + { + "code": "BI-GI", + "name": "Gitega", + "type": "Province" + }, + { + "code": "BI-KI", + "name": "Kirundo", + "type": "Province" + }, + { + "code": "BI-KR", + "name": "Karuzi", + "type": "Province" + }, + { + "code": "BI-KY", + "name": "Kayanza", + "type": "Province" + }, + { + "code": "BI-MA", + "name": "Makamba", + "type": "Province" + }, + { + "code": "BI-MU", + "name": "Muramvya", + "type": "Province" + }, + { + "code": "BI-MW", + "name": "Mwaro", + "type": "Province" + }, + { + "code": "BI-MY", + "name": "Muyinga", + "type": "Province" + }, + { + "code": "BI-NG", + "name": "Ngozi", + "type": "Province" + }, + { + "code": "BI-RM", + "name": "Rumonge", + "type": "Province" + }, + { + "code": "BI-RT", + "name": "Rutana", + "type": "Province" + }, + { + "code": "BI-RY", + "name": "Ruyigi", + "type": "Province" + }, + { + "code": "BJ-AK", + "name": "Atacora", + "type": "Department" + }, + { + "code": "BJ-AL", + "name": "Alibori", + "type": "Department" + }, + { + "code": "BJ-AQ", + "name": "Atlantique", + "type": "Department" + }, + { + "code": "BJ-BO", + "name": "Borgou", + "type": "Department" + }, + { + "code": "BJ-CO", + "name": "Collines", + "type": "Department" + }, + { + "code": "BJ-DO", + "name": "Donga", + "type": "Department" + }, + { + "code": "BJ-KO", + "name": "Couffo", + "type": "Department" + }, + { + "code": "BJ-LI", + "name": "Littoral", + "type": "Department" + }, + { + "code": "BJ-MO", + "name": "Mono", + "type": "Department" + }, + { + "code": "BJ-OU", + "name": "Ouémé", + "type": "Department" + }, + { + "code": "BJ-PL", + "name": "Plateau", + "type": "Department" + }, + { + "code": "BJ-ZO", + "name": "Zou", + "type": "Department" + }, + { + "code": "BN-BE", + "name": "Belait", + "type": "District" + }, + { + "code": "BN-BM", + "name": "Brunei-Muara", + "type": "District" + }, + { + "code": "BN-TE", + "name": "Temburong", + "type": "District" + }, + { + "code": "BN-TU", + "name": "Tutong", + "type": "District" + }, + { + "code": "BO-B", + "name": "El Beni", + "type": "Department" + }, + { + "code": "BO-C", + "name": "Cochabamba", + "type": "Department" + }, + { + "code": "BO-H", + "name": "Chuquisaca", + "type": "Department" + }, + { + "code": "BO-L", + "name": "La Paz", + "type": "Department" + }, + { + "code": "BO-N", + "name": "Pando", + "type": "Department" + }, + { + "code": "BO-O", + "name": "Oruro", + "type": "Department" + }, + { + "code": "BO-P", + "name": "Potosí", + "type": "Department" + }, + { + "code": "BO-S", + "name": "Santa Cruz", + "type": "Department" + }, + { + "code": "BO-T", + "name": "Tarija", + "type": "Department" + }, + { + "code": "BQ-BO", + "name": "Bonaire", + "type": "Special municipality" + }, + { + "code": "BQ-SA", + "name": "Saba", + "type": "Special municipality" + }, + { + "code": "BQ-SE", + "name": "Sint Eustatius", + "type": "Special municipality" + }, + { + "code": "BR-AC", + "name": "Acre", + "type": "State" + }, + { + "code": "BR-AL", + "name": "Alagoas", + "type": "State" + }, + { + "code": "BR-AM", + "name": "Amazonas", + "type": "State" + }, + { + "code": "BR-AP", + "name": "Amapá", + "type": "State" + }, + { + "code": "BR-BA", + "name": "Bahia", + "type": "State" + }, + { + "code": "BR-CE", + "name": "Ceará", + "type": "State" + }, + { + "code": "BR-DF", + "name": "Distrito Federal", + "type": "Federal district" + }, + { + "code": "BR-ES", + "name": "Espírito Santo", + "type": "State" + }, + { + "code": "BR-GO", + "name": "Goiás", + "type": "State" + }, + { + "code": "BR-MA", + "name": "Maranhão", + "type": "State" + }, + { + "code": "BR-MG", + "name": "Minas Gerais", + "type": "State" + }, + { + "code": "BR-MS", + "name": "Mato Grosso do Sul", + "type": "State" + }, + { + "code": "BR-MT", + "name": "Mato Grosso", + "type": "State" + }, + { + "code": "BR-PA", + "name": "Pará", + "type": "State" + }, + { + "code": "BR-PB", + "name": "Paraíba", + "type": "State" + }, + { + "code": "BR-PE", + "name": "Pernambuco", + "type": "State" + }, + { + "code": "BR-PI", + "name": "Piauí", + "type": "State" + }, + { + "code": "BR-PR", + "name": "Paraná", + "type": "State" + }, + { + "code": "BR-RJ", + "name": "Rio de Janeiro", + "type": "State" + }, + { + "code": "BR-RN", + "name": "Rio Grande do Norte", + "type": "State" + }, + { + "code": "BR-RO", + "name": "Rondônia", + "type": "State" + }, + { + "code": "BR-RR", + "name": "Roraima", + "type": "State" + }, + { + "code": "BR-RS", + "name": "Rio Grande do Sul", + "type": "State" + }, + { + "code": "BR-SC", + "name": "Santa Catarina", + "type": "State" + }, + { + "code": "BR-SE", + "name": "Sergipe", + "type": "State" + }, + { + "code": "BR-SP", + "name": "São Paulo", + "type": "State" + }, + { + "code": "BR-TO", + "name": "Tocantins", + "type": "State" + }, + { + "code": "BS-AK", + "name": "Acklins", + "type": "District" + }, + { + "code": "BS-BI", + "name": "Bimini", + "type": "District" + }, + { + "code": "BS-BP", + "name": "Black Point", + "type": "District" + }, + { + "code": "BS-BY", + "name": "Berry Islands", + "type": "District" + }, + { + "code": "BS-CE", + "name": "Central Eleuthera", + "type": "District" + }, + { + "code": "BS-CI", + "name": "Cat Island", + "type": "District" + }, + { + "code": "BS-CK", + "name": "Crooked Island and Long Cay", + "type": "District" + }, + { + "code": "BS-CO", + "name": "Central Abaco", + "type": "District" + }, + { + "code": "BS-CS", + "name": "Central Andros", + "type": "District" + }, + { + "code": "BS-EG", + "name": "East Grand Bahama", + "type": "District" + }, + { + "code": "BS-EX", + "name": "Exuma", + "type": "District" + }, + { + "code": "BS-FP", + "name": "City of Freeport", + "type": "District" + }, + { + "code": "BS-GC", + "name": "Grand Cay", + "type": "District" + }, + { + "code": "BS-HI", + "name": "Harbour Island", + "type": "District" + }, + { + "code": "BS-HT", + "name": "Hope Town", + "type": "District" + }, + { + "code": "BS-IN", + "name": "Inagua", + "type": "District" + }, + { + "code": "BS-LI", + "name": "Long Island", + "type": "District" + }, + { + "code": "BS-MC", + "name": "Mangrove Cay", + "type": "District" + }, + { + "code": "BS-MG", + "name": "Mayaguana", + "type": "District" + }, + { + "code": "BS-MI", + "name": "Moore's Island", + "type": "District" + }, + { + "code": "BS-NE", + "name": "North Eleuthera", + "type": "District" + }, + { + "code": "BS-NO", + "name": "North Abaco", + "type": "District" + }, + { + "code": "BS-NP", + "name": "New Providence", + "type": "Island" + }, + { + "code": "BS-NS", + "name": "North Andros", + "type": "District" + }, + { + "code": "BS-RC", + "name": "Rum Cay", + "type": "District" + }, + { + "code": "BS-RI", + "name": "Ragged Island", + "type": "District" + }, + { + "code": "BS-SA", + "name": "South Andros", + "type": "District" + }, + { + "code": "BS-SE", + "name": "South Eleuthera", + "type": "District" + }, + { + "code": "BS-SO", + "name": "South Abaco", + "type": "District" + }, + { + "code": "BS-SS", + "name": "San Salvador", + "type": "District" + }, + { + "code": "BS-SW", + "name": "Spanish Wells", + "type": "District" + }, + { + "code": "BS-WG", + "name": "West Grand Bahama", + "type": "District" + }, + { + "code": "BT-11", + "name": "Paro", + "type": "District" + }, + { + "code": "BT-12", + "name": "Chhukha", + "type": "District" + }, + { + "code": "BT-13", + "name": "Haa", + "type": "District" + }, + { + "code": "BT-14", + "name": "Samtse", + "type": "District" + }, + { + "code": "BT-15", + "name": "Thimphu", + "type": "District" + }, + { + "code": "BT-21", + "name": "Tsirang", + "type": "District" + }, + { + "code": "BT-22", + "name": "Dagana", + "type": "District" + }, + { + "code": "BT-23", + "name": "Punakha", + "type": "District" + }, + { + "code": "BT-24", + "name": "Wangdue Phodrang", + "type": "District" + }, + { + "code": "BT-31", + "name": "Sarpang", + "type": "District" + }, + { + "code": "BT-32", + "name": "Trongsa", + "type": "District" + }, + { + "code": "BT-33", + "name": "Bumthang", + "type": "District" + }, + { + "code": "BT-34", + "name": "Zhemgang", + "type": "District" + }, + { + "code": "BT-41", + "name": "Trashigang", + "type": "District" + }, + { + "code": "BT-42", + "name": "Monggar", + "type": "District" + }, + { + "code": "BT-43", + "name": "Pema Gatshel", + "type": "District" + }, + { + "code": "BT-44", + "name": "Lhuentse", + "type": "District" + }, + { + "code": "BT-45", + "name": "Samdrup Jongkhar", + "type": "District" + }, + { + "code": "BT-GA", + "name": "Gasa", + "type": "District" + }, + { + "code": "BT-TY", + "name": "Trashi Yangtse", + "type": "District" + }, + { + "code": "BW-CE", + "name": "Central", + "type": "District" + }, + { + "code": "BW-CH", + "name": "Chobe", + "type": "District" + }, + { + "code": "BW-FR", + "name": "Francistown", + "type": "City" + }, + { + "code": "BW-GA", + "name": "Gaborone", + "type": "City" + }, + { + "code": "BW-GH", + "name": "Ghanzi", + "type": "District" + }, + { + "code": "BW-JW", + "name": "Jwaneng", + "type": "Town" + }, + { + "code": "BW-KG", + "name": "Kgalagadi", + "type": "District" + }, + { + "code": "BW-KL", + "name": "Kgatleng", + "type": "District" + }, + { + "code": "BW-KW", + "name": "Kweneng", + "type": "District" + }, + { + "code": "BW-LO", + "name": "Lobatse", + "type": "Town" + }, + { + "code": "BW-NE", + "name": "North East", + "type": "District" + }, + { + "code": "BW-NW", + "name": "North West", + "type": "District" + }, + { + "code": "BW-SE", + "name": "South East", + "type": "District" + }, + { + "code": "BW-SO", + "name": "Southern", + "type": "District" + }, + { + "code": "BW-SP", + "name": "Selibe Phikwe", + "type": "Town" + }, + { + "code": "BW-ST", + "name": "Sowa Town", + "type": "Town" + }, + { + "code": "BY-BR", + "name": "Bresckaja voblasć", + "type": "Oblast" + }, + { + "code": "BY-HM", + "name": "Gorod Minsk", + "type": "City" + }, + { + "code": "BY-HO", + "name": "Gomel'skaja oblast'", + "type": "Oblast" + }, + { + "code": "BY-HR", + "name": "Grodnenskaja oblast'", + "type": "Oblast" + }, + { + "code": "BY-MA", + "name": "Mahilioŭskaja voblasć", + "type": "Oblast" + }, + { + "code": "BY-MI", + "name": "Minskaja oblast'", + "type": "Oblast" + }, + { + "code": "BY-VI", + "name": "Viciebskaja voblasć", + "type": "Oblast" + }, + { + "code": "BZ-BZ", + "name": "Belize", + "type": "District" + }, + { + "code": "BZ-CY", + "name": "Cayo", + "type": "District" + }, + { + "code": "BZ-CZL", + "name": "Corozal", + "type": "District" + }, + { + "code": "BZ-OW", + "name": "Orange Walk", + "type": "District" + }, + { + "code": "BZ-SC", + "name": "Stann Creek", + "type": "District" + }, + { + "code": "BZ-TOL", + "name": "Toledo", + "type": "District" + }, + { + "code": "CA-AB", + "name": "Alberta", + "type": "Province" + }, + { + "code": "CA-BC", + "name": "British Columbia", + "type": "Province" + }, + { + "code": "CA-MB", + "name": "Manitoba", + "type": "Province" + }, + { + "code": "CA-NB", + "name": "New Brunswick", + "type": "Province" + }, + { + "code": "CA-NL", + "name": "Newfoundland and Labrador", + "type": "Province" + }, + { + "code": "CA-NS", + "name": "Nova Scotia", + "type": "Province" + }, + { + "code": "CA-NT", + "name": "Northwest Territories", + "type": "Territory" + }, + { + "code": "CA-NU", + "name": "Nunavut", + "type": "Territory" + }, + { + "code": "CA-ON", + "name": "Ontario", + "type": "Province" + }, + { + "code": "CA-PE", + "name": "Prince Edward Island", + "type": "Province" + }, + { + "code": "CA-QC", + "name": "Quebec", + "type": "Province" + }, + { + "code": "CA-SK", + "name": "Saskatchewan", + "type": "Province" + }, + { + "code": "CA-YT", + "name": "Yukon", + "type": "Territory" + }, + { + "code": "CD-BC", + "name": "Kongo Central", + "type": "Province" + }, + { + "code": "CD-BU", + "name": "Bas-Uélé", + "type": "Province" + }, + { + "code": "CD-EQ", + "name": "Équateur", + "type": "Province" + }, + { + "code": "CD-HK", + "name": "Haut-Katanga", + "type": "Province" + }, + { + "code": "CD-HL", + "name": "Haut-Lomami", + "type": "Province" + }, + { + "code": "CD-HU", + "name": "Haut-Uélé", + "type": "Province" + }, + { + "code": "CD-IT", + "name": "Ituri", + "type": "Province" + }, + { + "code": "CD-KC", + "name": "Kasaï Central", + "type": "Province" + }, + { + "code": "CD-KE", + "name": "Kasaï Oriental", + "type": "Province" + }, + { + "code": "CD-KG", + "name": "Kwango", + "type": "Province" + }, + { + "code": "CD-KL", + "name": "Kwilu", + "type": "Province" + }, + { + "code": "CD-KN", + "name": "Kinshasa", + "type": "City" + }, + { + "code": "CD-KS", + "name": "Kasaï", + "type": "Province" + }, + { + "code": "CD-LO", + "name": "Lomami", + "type": "Province" + }, + { + "code": "CD-LU", + "name": "Lualaba", + "type": "Province" + }, + { + "code": "CD-MA", + "name": "Maniema", + "type": "Province" + }, + { + "code": "CD-MN", + "name": "Mai-Ndombe", + "type": "Province" + }, + { + "code": "CD-MO", + "name": "Mongala", + "type": "Province" + }, + { + "code": "CD-NK", + "name": "Nord-Kivu", + "type": "Province" + }, + { + "code": "CD-NU", + "name": "Nord-Ubangi", + "type": "Province" + }, + { + "code": "CD-SA", + "name": "Sankuru", + "type": "Province" + }, + { + "code": "CD-SK", + "name": "Sud-Kivu", + "type": "Province" + }, + { + "code": "CD-SU", + "name": "Sud-Ubangi", + "type": "Province" + }, + { + "code": "CD-TA", + "name": "Tanganyika", + "type": "Province" + }, + { + "code": "CD-TO", + "name": "Tshopo", + "type": "Province" + }, + { + "code": "CD-TU", + "name": "Tshuapa", + "type": "Province" + }, + { + "code": "CF-AC", + "name": "Ouham", + "type": "Prefecture" + }, + { + "code": "CF-BB", + "name": "Bamingui-Bangoran", + "type": "Prefecture" + }, + { + "code": "CF-BGF", + "name": "Bangui", + "type": "Commune" + }, + { + "code": "CF-BK", + "name": "Basse-Kotto", + "type": "Prefecture" + }, + { + "code": "CF-HK", + "name": "Haute-Kotto", + "type": "Prefecture" + }, + { + "code": "CF-HM", + "name": "Haut-Mbomou", + "type": "Prefecture" + }, + { + "code": "CF-HS", + "name": "Haute-Sangha / Mambéré-Kadéï", + "type": "Prefecture" + }, + { + "code": "CF-KB", + "name": "Gribingui", + "type": "Economic prefecture" + }, + { + "code": "CF-KG", + "name": "Kémo-Gribingui", + "type": "Prefecture" + }, + { + "code": "CF-LB", + "name": "Lobaye", + "type": "Prefecture" + }, + { + "code": "CF-MB", + "name": "Mbomou", + "type": "Prefecture" + }, + { + "code": "CF-MP", + "name": "Ombella-Mpoko", + "type": "Prefecture" + }, + { + "code": "CF-NM", + "name": "Nana-Mambéré", + "type": "Prefecture" + }, + { + "code": "CF-OP", + "name": "Ouham-Pendé", + "type": "Prefecture" + }, + { + "code": "CF-SE", + "name": "Sangha", + "type": "Economic prefecture" + }, + { + "code": "CF-UK", + "name": "Ouaka", + "type": "Prefecture" + }, + { + "code": "CF-VK", + "name": "Vakaga", + "type": "Prefecture" + }, + { + "code": "CG-11", + "name": "Bouenza", + "type": "Department" + }, + { + "code": "CG-12", + "name": "Pool", + "type": "Department" + }, + { + "code": "CG-13", + "name": "Sangha", + "type": "Department" + }, + { + "code": "CG-14", + "name": "Plateaux", + "type": "Department" + }, + { + "code": "CG-15", + "name": "Cuvette-Ouest", + "type": "Department" + }, + { + "code": "CG-16", + "name": "Pointe-Noire", + "type": "Department" + }, + { + "code": "CG-2", + "name": "Lékoumou", + "type": "Department" + }, + { + "code": "CG-5", + "name": "Kouilou", + "type": "Department" + }, + { + "code": "CG-7", + "name": "Likouala", + "type": "Department" + }, + { + "code": "CG-8", + "name": "Cuvette", + "type": "Department" + }, + { + "code": "CG-9", + "name": "Niari", + "type": "Department" + }, + { + "code": "CG-BZV", + "name": "Brazzaville", + "type": "Department" + }, + { + "code": "CH-AG", + "name": "Aargau", + "type": "Canton" + }, + { + "code": "CH-AI", + "name": "Appenzell Innerrhoden", + "type": "Canton" + }, + { + "code": "CH-AR", + "name": "Appenzell Ausserrhoden", + "type": "Canton" + }, + { + "code": "CH-BE", + "name": "Berne", + "type": "Canton" + }, + { + "code": "CH-BL", + "name": "Basel-Landschaft", + "type": "Canton" + }, + { + "code": "CH-BS", + "name": "Basel-Stadt", + "type": "Canton" + }, + { + "code": "CH-FR", + "name": "Fribourg", + "type": "Canton" + }, + { + "code": "CH-GE", + "name": "Genève", + "type": "Canton" + }, + { + "code": "CH-GL", + "name": "Glarus", + "type": "Canton" + }, + { + "code": "CH-GR", + "name": "Graubünden", + "type": "Canton" + }, + { + "code": "CH-JU", + "name": "Jura", + "type": "Canton" + }, + { + "code": "CH-LU", + "name": "Luzern", + "type": "Canton" + }, + { + "code": "CH-NE", + "name": "Neuchâtel", + "type": "Canton" + }, + { + "code": "CH-NW", + "name": "Nidwalden", + "type": "Canton" + }, + { + "code": "CH-OW", + "name": "Obwalden", + "type": "Canton" + }, + { + "code": "CH-SG", + "name": "Sankt Gallen", + "type": "Canton" + }, + { + "code": "CH-SH", + "name": "Schaffhausen", + "type": "Canton" + }, + { + "code": "CH-SO", + "name": "Solothurn", + "type": "Canton" + }, + { + "code": "CH-SZ", + "name": "Schwyz", + "type": "Canton" + }, + { + "code": "CH-TG", + "name": "Thurgau", + "type": "Canton" + }, + { + "code": "CH-TI", + "name": "Ticino", + "type": "Canton" + }, + { + "code": "CH-UR", + "name": "Uri", + "type": "Canton" + }, + { + "code": "CH-VD", + "name": "Vaud", + "type": "Canton" + }, + { + "code": "CH-VS", + "name": "Valais", + "type": "Canton" + }, + { + "code": "CH-ZG", + "name": "Zug", + "type": "Canton" + }, + { + "code": "CH-ZH", + "name": "Zürich", + "type": "Canton" + }, + { + "code": "CI-AB", + "name": "Abidjan", + "type": "Autonomous district" + }, + { + "code": "CI-BS", + "name": "Bas-Sassandra", + "type": "District" + }, + { + "code": "CI-CM", + "name": "Comoé", + "type": "District" + }, + { + "code": "CI-DN", + "name": "Denguélé", + "type": "District" + }, + { + "code": "CI-GD", + "name": "Gôh-Djiboua", + "type": "District" + }, + { + "code": "CI-LC", + "name": "Lacs", + "type": "District" + }, + { + "code": "CI-LG", + "name": "Lagunes", + "type": "District" + }, + { + "code": "CI-MG", + "name": "Montagnes", + "type": "District" + }, + { + "code": "CI-SM", + "name": "Sassandra-Marahoué", + "type": "District" + }, + { + "code": "CI-SV", + "name": "Savanes", + "type": "District" + }, + { + "code": "CI-VB", + "name": "Vallée du Bandama", + "type": "District" + }, + { + "code": "CI-WR", + "name": "Woroba", + "type": "District" + }, + { + "code": "CI-YM", + "name": "Yamoussoukro", + "type": "Autonomous district" + }, + { + "code": "CI-ZZ", + "name": "Zanzan", + "type": "District" + }, + { + "code": "CL-AI", + "name": "Aisén del General Carlos Ibañez del Campo", + "type": "Region" + }, + { + "code": "CL-AN", + "name": "Antofagasta", + "type": "Region" + }, + { + "code": "CL-AP", + "name": "Arica y Parinacota", + "type": "Region" + }, + { + "code": "CL-AR", + "name": "La Araucanía", + "type": "Region" + }, + { + "code": "CL-AT", + "name": "Atacama", + "type": "Region" + }, + { + "code": "CL-BI", + "name": "Biobío", + "type": "Region" + }, + { + "code": "CL-CO", + "name": "Coquimbo", + "type": "Region" + }, + { + "code": "CL-LI", + "name": "Libertador General Bernardo O'Higgins", + "type": "Region" + }, + { + "code": "CL-LL", + "name": "Los Lagos", + "type": "Region" + }, + { + "code": "CL-LR", + "name": "Los Ríos", + "type": "Region" + }, + { + "code": "CL-MA", + "name": "Magallanes", + "type": "Region" + }, + { + "code": "CL-ML", + "name": "Maule", + "type": "Region" + }, + { + "code": "CL-NB", + "name": "Ñuble", + "type": "Region" + }, + { + "code": "CL-RM", + "name": "Región Metropolitana de Santiago", + "type": "Region" + }, + { + "code": "CL-TA", + "name": "Tarapacá", + "type": "Region" + }, + { + "code": "CL-VS", + "name": "Valparaíso", + "type": "Region" + }, + { + "code": "CM-AD", + "name": "Adamaoua", + "type": "Region" + }, + { + "code": "CM-CE", + "name": "Centre", + "type": "Region" + }, + { + "code": "CM-EN", + "name": "Far North", + "type": "Region" + }, + { + "code": "CM-ES", + "name": "East", + "type": "Region" + }, + { + "code": "CM-LT", + "name": "Littoral", + "type": "Region" + }, + { + "code": "CM-NO", + "name": "North", + "type": "Region" + }, + { + "code": "CM-NW", + "name": "North-West", + "type": "Region" + }, + { + "code": "CM-OU", + "name": "West", + "type": "Region" + }, + { + "code": "CM-SU", + "name": "South", + "type": "Region" + }, + { + "code": "CM-SW", + "name": "South-West", + "type": "Region" + }, + { + "code": "CN-AH", + "name": "Anhui Sheng", + "type": "Province" + }, + { + "code": "CN-BJ", + "name": "Beijing Shi", + "type": "Municipality" + }, + { + "code": "CN-CQ", + "name": "Chongqing Shi", + "type": "Municipality" + }, + { + "code": "CN-FJ", + "name": "Fujian Sheng", + "type": "Province" + }, + { + "code": "CN-GD", + "name": "Guangdong Sheng", + "type": "Province" + }, + { + "code": "CN-GS", + "name": "Gansu Sheng", + "type": "Province" + }, + { + "code": "CN-GX", + "name": "Guangxi Zhuangzu Zizhiqu", + "type": "Autonomous region" + }, + { + "code": "CN-GZ", + "name": "Guizhou Sheng", + "type": "Province" + }, + { + "code": "CN-HA", + "name": "Henan Sheng", + "type": "Province" + }, + { + "code": "CN-HB", + "name": "Hubei Sheng", + "type": "Province" + }, + { + "code": "CN-HE", + "name": "Hebei Sheng", + "type": "Province" + }, + { + "code": "CN-HI", + "name": "Hainan Sheng", + "type": "Province" + }, + { + "code": "CN-HK", + "name": "Hong Kong SAR", + "type": "Special administrative region" + }, + { + "code": "CN-HL", + "name": "Heilongjiang Sheng", + "type": "Province" + }, + { + "code": "CN-HN", + "name": "Hunan Sheng", + "type": "Province" + }, + { + "code": "CN-JL", + "name": "Jilin Sheng", + "type": "Province" + }, + { + "code": "CN-JS", + "name": "Jiangsu Sheng", + "type": "Province" + }, + { + "code": "CN-JX", + "name": "Jiangxi Sheng", + "type": "Province" + }, + { + "code": "CN-LN", + "name": "Liaoning Sheng", + "type": "Province" + }, + { + "code": "CN-MO", + "name": "Macao SAR", + "type": "Special administrative region" + }, + { + "code": "CN-NM", + "name": "Nei Mongol Zizhiqu", + "type": "Autonomous region" + }, + { + "code": "CN-NX", + "name": "Ningxia Huizu Zizhiqu", + "type": "Autonomous region" + }, + { + "code": "CN-QH", + "name": "Qinghai Sheng", + "type": "Province" + }, + { + "code": "CN-SC", + "name": "Sichuan Sheng", + "type": "Province" + }, + { + "code": "CN-SD", + "name": "Shandong Sheng", + "type": "Province" + }, + { + "code": "CN-SH", + "name": "Shanghai Shi", + "type": "Municipality" + }, + { + "code": "CN-SN", + "name": "Shaanxi Sheng", + "type": "Province" + }, + { + "code": "CN-SX", + "name": "Shanxi Sheng", + "type": "Province" + }, + { + "code": "CN-TJ", + "name": "Tianjin Shi", + "type": "Municipality" + }, + { + "code": "CN-TW", + "name": "Taiwan Sheng", + "type": "Province" + }, + { + "code": "CN-XJ", + "name": "Xinjiang Uygur Zizhiqu", + "type": "Autonomous region" + }, + { + "code": "CN-XZ", + "name": "Xizang Zizhiqu", + "type": "Autonomous region" + }, + { + "code": "CN-YN", + "name": "Yunnan Sheng", + "type": "Province" + }, + { + "code": "CN-ZJ", + "name": "Zhejiang Sheng", + "type": "Province" + }, + { + "code": "CO-AMA", + "name": "Amazonas", + "type": "Department" + }, + { + "code": "CO-ANT", + "name": "Antioquia", + "type": "Department" + }, + { + "code": "CO-ARA", + "name": "Arauca", + "type": "Department" + }, + { + "code": "CO-ATL", + "name": "Atlántico", + "type": "Department" + }, + { + "code": "CO-BOL", + "name": "Bolívar", + "type": "Department" + }, + { + "code": "CO-BOY", + "name": "Boyacá", + "type": "Department" + }, + { + "code": "CO-CAL", + "name": "Caldas", + "type": "Department" + }, + { + "code": "CO-CAQ", + "name": "Caquetá", + "type": "Department" + }, + { + "code": "CO-CAS", + "name": "Casanare", + "type": "Department" + }, + { + "code": "CO-CAU", + "name": "Cauca", + "type": "Department" + }, + { + "code": "CO-CES", + "name": "Cesar", + "type": "Department" + }, + { + "code": "CO-CHO", + "name": "Chocó", + "type": "Department" + }, + { + "code": "CO-COR", + "name": "Córdoba", + "type": "Department" + }, + { + "code": "CO-CUN", + "name": "Cundinamarca", + "type": "Department" + }, + { + "code": "CO-DC", + "name": "Distrito Capital de Bogotá", + "type": "Capital district" + }, + { + "code": "CO-GUA", + "name": "Guainía", + "type": "Department" + }, + { + "code": "CO-GUV", + "name": "Guaviare", + "type": "Department" + }, + { + "code": "CO-HUI", + "name": "Huila", + "type": "Department" + }, + { + "code": "CO-LAG", + "name": "La Guajira", + "type": "Department" + }, + { + "code": "CO-MAG", + "name": "Magdalena", + "type": "Department" + }, + { + "code": "CO-MET", + "name": "Meta", + "type": "Department" + }, + { + "code": "CO-NAR", + "name": "Nariño", + "type": "Department" + }, + { + "code": "CO-NSA", + "name": "Norte de Santander", + "type": "Department" + }, + { + "code": "CO-PUT", + "name": "Putumayo", + "type": "Department" + }, + { + "code": "CO-QUI", + "name": "Quindío", + "type": "Department" + }, + { + "code": "CO-RIS", + "name": "Risaralda", + "type": "Department" + }, + { + "code": "CO-SAN", + "name": "Santander", + "type": "Department" + }, + { + "code": "CO-SAP", + "name": "San Andrés, Providencia y Santa Catalina", + "type": "Department" + }, + { + "code": "CO-SUC", + "name": "Sucre", + "type": "Department" + }, + { + "code": "CO-TOL", + "name": "Tolima", + "type": "Department" + }, + { + "code": "CO-VAC", + "name": "Valle del Cauca", + "type": "Department" + }, + { + "code": "CO-VAU", + "name": "Vaupés", + "type": "Department" + }, + { + "code": "CO-VID", + "name": "Vichada", + "type": "Department" + }, + { + "code": "CR-A", + "name": "Alajuela", + "type": "Province" + }, + { + "code": "CR-C", + "name": "Cartago", + "type": "Province" + }, + { + "code": "CR-G", + "name": "Guanacaste", + "type": "Province" + }, + { + "code": "CR-H", + "name": "Heredia", + "type": "Province" + }, + { + "code": "CR-L", + "name": "Limón", + "type": "Province" + }, + { + "code": "CR-P", + "name": "Puntarenas", + "type": "Province" + }, + { + "code": "CR-SJ", + "name": "San José", + "type": "Province" + }, + { + "code": "CU-01", + "name": "Pinar del Río", + "type": "Province" + }, + { + "code": "CU-03", + "name": "La Habana", + "type": "Province" + }, + { + "code": "CU-04", + "name": "Matanzas", + "type": "Province" + }, + { + "code": "CU-05", + "name": "Villa Clara", + "type": "Province" + }, + { + "code": "CU-06", + "name": "Cienfuegos", + "type": "Province" + }, + { + "code": "CU-07", + "name": "Sancti Spíritus", + "type": "Province" + }, + { + "code": "CU-08", + "name": "Ciego de Ávila", + "type": "Province" + }, + { + "code": "CU-09", + "name": "Camagüey", + "type": "Province" + }, + { + "code": "CU-10", + "name": "Las Tunas", + "type": "Province" + }, + { + "code": "CU-11", + "name": "Holguín", + "type": "Province" + }, + { + "code": "CU-12", + "name": "Granma", + "type": "Province" + }, + { + "code": "CU-13", + "name": "Santiago de Cuba", + "type": "Province" + }, + { + "code": "CU-14", + "name": "Guantánamo", + "type": "Province" + }, + { + "code": "CU-15", + "name": "Artemisa", + "type": "Province" + }, + { + "code": "CU-16", + "name": "Mayabeque", + "type": "Province" + }, + { + "code": "CU-99", + "name": "Isla de la Juventud", + "type": "Special municipality" + }, + { + "code": "CV-B", + "name": "Ilhas de Barlavento", + "type": "Geographical region" + }, + { + "code": "CV-BR", + "name": "Brava", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-BV", + "name": "Boa Vista", + "parent": "CV-B", + "type": "Municipality" + }, + { + "code": "CV-CA", + "name": "Santa Catarina", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-CF", + "name": "Santa Catarina do Fogo", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-CR", + "name": "Santa Cruz", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-MA", + "name": "Maio", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-MO", + "name": "Mosteiros", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-PA", + "name": "Paul", + "parent": "CV-B", + "type": "Municipality" + }, + { + "code": "CV-PN", + "name": "Porto Novo", + "parent": "CV-B", + "type": "Municipality" + }, + { + "code": "CV-PR", + "name": "Praia", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-RB", + "name": "Ribeira Brava", + "parent": "CV-B", + "type": "Municipality" + }, + { + "code": "CV-RG", + "name": "Ribeira Grande", + "parent": "CV-B", + "type": "Municipality" + }, + { + "code": "CV-RS", + "name": "Ribeira Grande de Santiago", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-S", + "name": "Ilhas de Sotavento", + "type": "Geographical region" + }, + { + "code": "CV-SD", + "name": "São Domingos", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-SF", + "name": "São Filipe", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-SL", + "name": "Sal", + "parent": "CV-B", + "type": "Municipality" + }, + { + "code": "CV-SM", + "name": "São Miguel", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-SO", + "name": "São Lourenço dos Órgãos", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-SS", + "name": "São Salvador do Mundo", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-SV", + "name": "São Vicente", + "parent": "CV-B", + "type": "Municipality" + }, + { + "code": "CV-TA", + "name": "Tarrafal", + "parent": "CV-S", + "type": "Municipality" + }, + { + "code": "CV-TS", + "name": "Tarrafal de São Nicolau", + "parent": "CV-B", + "type": "Municipality" + }, + { + "code": "CY-01", + "name": "Lefkosia", + "type": "District" + }, + { + "code": "CY-02", + "name": "Lemesos", + "type": "District" + }, + { + "code": "CY-03", + "name": "Larnaka", + "type": "District" + }, + { + "code": "CY-04", + "name": "Ammochostos", + "type": "District" + }, + { + "code": "CY-05", + "name": "Baf", + "type": "District" + }, + { + "code": "CY-06", + "name": "Girne", + "type": "District" + }, + { + "code": "CZ-10", + "name": "Praha, Hlavní město", + "type": "Capital city" + }, + { + "code": "CZ-20", + "name": "Středočeský kraj", + "type": "Region" + }, + { + "code": "CZ-201", + "name": "Benešov", + "parent": "CZ-20", + "type": "District" + }, + { + "code": "CZ-202", + "name": "Beroun", + "parent": "CZ-20", + "type": "District" + }, + { + "code": "CZ-203", + "name": "Kladno", + "parent": "CZ-20", + "type": "District" + }, + { + "code": "CZ-204", + "name": "Kolín", + "parent": "CZ-20", + "type": "District" + }, + { + "code": "CZ-205", + "name": "Kutná Hora", + "parent": "CZ-20", + "type": "District" + }, + { + "code": "CZ-206", + "name": "Mělník", + "parent": "CZ-20", + "type": "District" + }, + { + "code": "CZ-207", + "name": "Mladá Boleslav", + "parent": "CZ-20", + "type": "District" + }, + { + "code": "CZ-208", + "name": "Nymburk", + "parent": "CZ-20", + "type": "District" + }, + { + "code": "CZ-209", + "name": "Praha-východ", + "parent": "CZ-20", + "type": "District" + }, + { + "code": "CZ-20A", + "name": "Praha-západ", + "parent": "CZ-20", + "type": "District" + }, + { + "code": "CZ-20B", + "name": "Příbram", + "parent": "CZ-20", + "type": "District" + }, + { + "code": "CZ-20C", + "name": "Rakovník", + "parent": "CZ-20", + "type": "District" + }, + { + "code": "CZ-31", + "name": "Jihočeský kraj", + "type": "Region" + }, + { + "code": "CZ-311", + "name": "České Budějovice", + "parent": "CZ-31", + "type": "District" + }, + { + "code": "CZ-312", + "name": "Český Krumlov", + "parent": "CZ-31", + "type": "District" + }, + { + "code": "CZ-313", + "name": "Jindřichův Hradec", + "parent": "CZ-31", + "type": "District" + }, + { + "code": "CZ-314", + "name": "Písek", + "parent": "CZ-31", + "type": "District" + }, + { + "code": "CZ-315", + "name": "Prachatice", + "parent": "CZ-31", + "type": "District" + }, + { + "code": "CZ-316", + "name": "Strakonice", + "parent": "CZ-31", + "type": "District" + }, + { + "code": "CZ-317", + "name": "Tábor", + "parent": "CZ-31", + "type": "District" + }, + { + "code": "CZ-32", + "name": "Plzeňský kraj", + "type": "Region" + }, + { + "code": "CZ-321", + "name": "Domažlice", + "parent": "CZ-32", + "type": "District" + }, + { + "code": "CZ-322", + "name": "Klatovy", + "parent": "CZ-32", + "type": "District" + }, + { + "code": "CZ-323", + "name": "Plzeň-město", + "parent": "CZ-32", + "type": "District" + }, + { + "code": "CZ-324", + "name": "Plzeň-jih", + "parent": "CZ-32", + "type": "District" + }, + { + "code": "CZ-325", + "name": "Plzeň-sever", + "parent": "CZ-32", + "type": "District" + }, + { + "code": "CZ-326", + "name": "Rokycany", + "parent": "CZ-32", + "type": "District" + }, + { + "code": "CZ-327", + "name": "Tachov", + "parent": "CZ-32", + "type": "District" + }, + { + "code": "CZ-41", + "name": "Karlovarský kraj", + "type": "Region" + }, + { + "code": "CZ-411", + "name": "Cheb", + "parent": "CZ-41", + "type": "District" + }, + { + "code": "CZ-412", + "name": "Karlovy Vary", + "parent": "CZ-41", + "type": "District" + }, + { + "code": "CZ-413", + "name": "Sokolov", + "parent": "CZ-41", + "type": "District" + }, + { + "code": "CZ-42", + "name": "Ústecký kraj", + "type": "Region" + }, + { + "code": "CZ-421", + "name": "Děčín", + "parent": "CZ-42", + "type": "District" + }, + { + "code": "CZ-422", + "name": "Chomutov", + "parent": "CZ-42", + "type": "District" + }, + { + "code": "CZ-423", + "name": "Litoměřice", + "parent": "CZ-42", + "type": "District" + }, + { + "code": "CZ-424", + "name": "Louny", + "parent": "CZ-42", + "type": "District" + }, + { + "code": "CZ-425", + "name": "Most", + "parent": "CZ-42", + "type": "District" + }, + { + "code": "CZ-426", + "name": "Teplice", + "parent": "CZ-42", + "type": "District" + }, + { + "code": "CZ-427", + "name": "Ústí nad Labem", + "parent": "CZ-42", + "type": "District" + }, + { + "code": "CZ-51", + "name": "Liberecký kraj", + "type": "Region" + }, + { + "code": "CZ-511", + "name": "Česká Lípa", + "parent": "CZ-51", + "type": "District" + }, + { + "code": "CZ-512", + "name": "Jablonec nad Nisou", + "parent": "CZ-51", + "type": "District" + }, + { + "code": "CZ-513", + "name": "Liberec", + "parent": "CZ-51", + "type": "District" + }, + { + "code": "CZ-514", + "name": "Semily", + "parent": "CZ-51", + "type": "District" + }, + { + "code": "CZ-52", + "name": "Královéhradecký kraj", + "type": "Region" + }, + { + "code": "CZ-521", + "name": "Hradec Králové", + "parent": "CZ-52", + "type": "District" + }, + { + "code": "CZ-522", + "name": "Jičín", + "parent": "CZ-52", + "type": "District" + }, + { + "code": "CZ-523", + "name": "Náchod", + "parent": "CZ-52", + "type": "District" + }, + { + "code": "CZ-524", + "name": "Rychnov nad Kněžnou", + "parent": "CZ-52", + "type": "District" + }, + { + "code": "CZ-525", + "name": "Trutnov", + "parent": "CZ-52", + "type": "District" + }, + { + "code": "CZ-53", + "name": "Pardubický kraj", + "type": "Region" + }, + { + "code": "CZ-531", + "name": "Chrudim", + "parent": "CZ-53", + "type": "District" + }, + { + "code": "CZ-532", + "name": "Pardubice", + "parent": "CZ-53", + "type": "District" + }, + { + "code": "CZ-533", + "name": "Svitavy", + "parent": "CZ-53", + "type": "District" + }, + { + "code": "CZ-534", + "name": "Ústí nad Orlicí", + "parent": "CZ-53", + "type": "District" + }, + { + "code": "CZ-63", + "name": "Kraj Vysočina", + "type": "Region" + }, + { + "code": "CZ-631", + "name": "Havlíčkův Brod", + "parent": "CZ-63", + "type": "District" + }, + { + "code": "CZ-632", + "name": "Jihlava", + "parent": "CZ-63", + "type": "District" + }, + { + "code": "CZ-633", + "name": "Pelhřimov", + "parent": "CZ-63", + "type": "District" + }, + { + "code": "CZ-634", + "name": "Třebíč", + "parent": "CZ-63", + "type": "District" + }, + { + "code": "CZ-635", + "name": "Žďár nad Sázavou", + "parent": "CZ-63", + "type": "District" + }, + { + "code": "CZ-64", + "name": "Jihomoravský kraj", + "type": "Region" + }, + { + "code": "CZ-641", + "name": "Blansko", + "parent": "CZ-64", + "type": "District" + }, + { + "code": "CZ-642", + "name": "Brno-město", + "parent": "CZ-64", + "type": "District" + }, + { + "code": "CZ-643", + "name": "Brno-venkov", + "parent": "CZ-64", + "type": "District" + }, + { + "code": "CZ-644", + "name": "Břeclav", + "parent": "CZ-64", + "type": "District" + }, + { + "code": "CZ-645", + "name": "Hodonín", + "parent": "CZ-64", + "type": "District" + }, + { + "code": "CZ-646", + "name": "Vyškov", + "parent": "CZ-64", + "type": "District" + }, + { + "code": "CZ-647", + "name": "Znojmo", + "parent": "CZ-64", + "type": "District" + }, + { + "code": "CZ-71", + "name": "Olomoucký kraj", + "type": "Region" + }, + { + "code": "CZ-711", + "name": "Jeseník", + "parent": "CZ-71", + "type": "District" + }, + { + "code": "CZ-712", + "name": "Olomouc", + "parent": "CZ-71", + "type": "District" + }, + { + "code": "CZ-713", + "name": "Prostějov", + "parent": "CZ-71", + "type": "District" + }, + { + "code": "CZ-714", + "name": "Přerov", + "parent": "CZ-71", + "type": "District" + }, + { + "code": "CZ-715", + "name": "Šumperk", + "parent": "CZ-71", + "type": "District" + }, + { + "code": "CZ-72", + "name": "Zlínský kraj", + "type": "Region" + }, + { + "code": "CZ-721", + "name": "Kroměříž", + "parent": "CZ-72", + "type": "District" + }, + { + "code": "CZ-722", + "name": "Uherské Hradiště", + "parent": "CZ-72", + "type": "District" + }, + { + "code": "CZ-723", + "name": "Vsetín", + "parent": "CZ-72", + "type": "District" + }, + { + "code": "CZ-724", + "name": "Zlín", + "parent": "CZ-72", + "type": "District" + }, + { + "code": "CZ-80", + "name": "Moravskoslezský kraj", + "type": "Region" + }, + { + "code": "CZ-801", + "name": "Bruntál", + "parent": "CZ-80", + "type": "District" + }, + { + "code": "CZ-802", + "name": "Frýdek-Místek", + "parent": "CZ-80", + "type": "District" + }, + { + "code": "CZ-803", + "name": "Karviná", + "parent": "CZ-80", + "type": "District" + }, + { + "code": "CZ-804", + "name": "Nový Jičín", + "parent": "CZ-80", + "type": "District" + }, + { + "code": "CZ-805", + "name": "Opava", + "parent": "CZ-80", + "type": "District" + }, + { + "code": "CZ-806", + "name": "Ostrava-město", + "parent": "CZ-80", + "type": "District" + }, + { + "code": "DE-BB", + "name": "Brandenburg", + "type": "Land" + }, + { + "code": "DE-BE", + "name": "Berlin", + "type": "Land" + }, + { + "code": "DE-BW", + "name": "Baden-Württemberg", + "type": "Land" + }, + { + "code": "DE-BY", + "name": "Bayern", + "type": "Land" + }, + { + "code": "DE-HB", + "name": "Bremen", + "type": "Land" + }, + { + "code": "DE-HE", + "name": "Hessen", + "type": "Land" + }, + { + "code": "DE-HH", + "name": "Hamburg", + "type": "Land" + }, + { + "code": "DE-MV", + "name": "Mecklenburg-Vorpommern", + "type": "Land" + }, + { + "code": "DE-NI", + "name": "Niedersachsen", + "type": "Land" + }, + { + "code": "DE-NW", + "name": "Nordrhein-Westfalen", + "type": "Land" + }, + { + "code": "DE-RP", + "name": "Rheinland-Pfalz", + "type": "Land" + }, + { + "code": "DE-SH", + "name": "Schleswig-Holstein", + "type": "Land" + }, + { + "code": "DE-SL", + "name": "Saarland", + "type": "Land" + }, + { + "code": "DE-SN", + "name": "Sachsen", + "type": "Land" + }, + { + "code": "DE-ST", + "name": "Sachsen-Anhalt", + "type": "Land" + }, + { + "code": "DE-TH", + "name": "Thüringen", + "type": "Land" + }, + { + "code": "DJ-AR", + "name": "Arta", + "type": "Region" + }, + { + "code": "DJ-AS", + "name": "Ali Sabieh", + "type": "Region" + }, + { + "code": "DJ-DI", + "name": "Dikhil", + "type": "Region" + }, + { + "code": "DJ-DJ", + "name": "Djibouti", + "type": "City" + }, + { + "code": "DJ-OB", + "name": "Obock", + "type": "Region" + }, + { + "code": "DJ-TA", + "name": "Tadjourah", + "type": "Region" + }, + { + "code": "DK-81", + "name": "Nordjylland", + "type": "Region" + }, + { + "code": "DK-82", + "name": "Midtjylland", + "type": "Region" + }, + { + "code": "DK-83", + "name": "Syddanmark", + "type": "Region" + }, + { + "code": "DK-84", + "name": "Hovedstaden", + "type": "Region" + }, + { + "code": "DK-85", + "name": "Sjælland", + "type": "Region" + }, + { + "code": "DM-02", + "name": "Saint Andrew", + "type": "Parish" + }, + { + "code": "DM-03", + "name": "Saint David", + "type": "Parish" + }, + { + "code": "DM-04", + "name": "Saint George", + "type": "Parish" + }, + { + "code": "DM-05", + "name": "Saint John", + "type": "Parish" + }, + { + "code": "DM-06", + "name": "Saint Joseph", + "type": "Parish" + }, + { + "code": "DM-07", + "name": "Saint Luke", + "type": "Parish" + }, + { + "code": "DM-08", + "name": "Saint Mark", + "type": "Parish" + }, + { + "code": "DM-09", + "name": "Saint Patrick", + "type": "Parish" + }, + { + "code": "DM-10", + "name": "Saint Paul", + "type": "Parish" + }, + { + "code": "DM-11", + "name": "Saint Peter", + "type": "Parish" + }, + { + "code": "DO-01", + "name": "Distrito Nacional (Santo Domingo)", + "parent": "DO-40", + "type": "District" + }, + { + "code": "DO-02", + "name": "Azua", + "parent": "DO-41", + "type": "Province" + }, + { + "code": "DO-03", + "name": "Baoruco", + "parent": "DO-38", + "type": "Province" + }, + { + "code": "DO-04", + "name": "Barahona", + "parent": "DO-38", + "type": "Province" + }, + { + "code": "DO-05", + "name": "Dajabón", + "parent": "DO-34", + "type": "Province" + }, + { + "code": "DO-06", + "name": "Duarte", + "parent": "DO-33", + "type": "Province" + }, + { + "code": "DO-07", + "name": "Elías Piña", + "parent": "DO-37", + "type": "Province" + }, + { + "code": "DO-08", + "name": "El Seibo", + "parent": "DO-42", + "type": "Province" + }, + { + "code": "DO-09", + "name": "Espaillat", + "parent": "DO-35", + "type": "Province" + }, + { + "code": "DO-10", + "name": "Independencia", + "parent": "DO-38", + "type": "Province" + }, + { + "code": "DO-11", + "name": "La Altagracia", + "parent": "DO-42", + "type": "Province" + }, + { + "code": "DO-12", + "name": "La Romana", + "parent": "DO-42", + "type": "Province" + }, + { + "code": "DO-13", + "name": "La Vega", + "parent": "DO-36", + "type": "Province" + }, + { + "code": "DO-14", + "name": "María Trinidad Sánchez", + "parent": "DO-33", + "type": "Province" + }, + { + "code": "DO-15", + "name": "Monte Cristi", + "parent": "DO-34", + "type": "Province" + }, + { + "code": "DO-16", + "name": "Pedernales", + "parent": "DO-38", + "type": "Province" + }, + { + "code": "DO-17", + "name": "Peravia", + "parent": "DO-41", + "type": "Province" + }, + { + "code": "DO-18", + "name": "Puerto Plata", + "parent": "DO-35", + "type": "Province" + }, + { + "code": "DO-19", + "name": "Hermanas Mirabal", + "parent": "DO-33", + "type": "Province" + }, + { + "code": "DO-20", + "name": "Samaná", + "parent": "DO-33", + "type": "Province" + }, + { + "code": "DO-21", + "name": "San Cristóbal", + "parent": "DO-41", + "type": "Province" + }, + { + "code": "DO-22", + "name": "San Juan", + "parent": "DO-37", + "type": "Province" + }, + { + "code": "DO-23", + "name": "San Pedro de Macorís", + "parent": "DO-39", + "type": "Province" + }, + { + "code": "DO-24", + "name": "Sánchez Ramírez", + "parent": "DO-36", + "type": "Province" + }, + { + "code": "DO-25", + "name": "Santiago", + "parent": "DO-35", + "type": "Province" + }, + { + "code": "DO-26", + "name": "Santiago Rodríguez", + "parent": "DO-34", + "type": "Province" + }, + { + "code": "DO-27", + "name": "Valverde", + "parent": "DO-34", + "type": "Province" + }, + { + "code": "DO-28", + "name": "Monseñor Nouel", + "parent": "DO-36", + "type": "Province" + }, + { + "code": "DO-29", + "name": "Monte Plata", + "parent": "DO-39", + "type": "Province" + }, + { + "code": "DO-30", + "name": "Hato Mayor", + "parent": "DO-39", + "type": "Province" + }, + { + "code": "DO-31", + "name": "San José de Ocoa", + "parent": "DO-41", + "type": "Province" + }, + { + "code": "DO-32", + "name": "Santo Domingo", + "parent": "DO-40", + "type": "Province" + }, + { + "code": "DO-33", + "name": "Cibao Nordeste", + "type": "Region" + }, + { + "code": "DO-34", + "name": "Cibao Noroeste", + "type": "Region" + }, + { + "code": "DO-35", + "name": "Cibao Norte", + "type": "Region" + }, + { + "code": "DO-36", + "name": "Cibao Sur", + "type": "Region" + }, + { + "code": "DO-37", + "name": "El Valle", + "type": "Region" + }, + { + "code": "DO-38", + "name": "Enriquillo", + "type": "Region" + }, + { + "code": "DO-39", + "name": "Higuamo", + "type": "Region" + }, + { + "code": "DO-40", + "name": "Ozama", + "type": "Region" + }, + { + "code": "DO-41", + "name": "Valdesia", + "type": "Region" + }, + { + "code": "DO-42", + "name": "Yuma", + "type": "Region" + }, + { + "code": "DZ-01", + "name": "Adrar", + "type": "Province" + }, + { + "code": "DZ-02", + "name": "Chlef", + "type": "Province" + }, + { + "code": "DZ-03", + "name": "Laghouat", + "type": "Province" + }, + { + "code": "DZ-04", + "name": "Oum el Bouaghi", + "type": "Province" + }, + { + "code": "DZ-05", + "name": "Batna", + "type": "Province" + }, + { + "code": "DZ-06", + "name": "Béjaïa", + "type": "Province" + }, + { + "code": "DZ-07", + "name": "Biskra", + "type": "Province" + }, + { + "code": "DZ-08", + "name": "Béchar", + "type": "Province" + }, + { + "code": "DZ-09", + "name": "Blida", + "type": "Province" + }, + { + "code": "DZ-10", + "name": "Bouira", + "type": "Province" + }, + { + "code": "DZ-11", + "name": "Tamanrasset", + "type": "Province" + }, + { + "code": "DZ-12", + "name": "Tébessa", + "type": "Province" + }, + { + "code": "DZ-13", + "name": "Tlemcen", + "type": "Province" + }, + { + "code": "DZ-14", + "name": "Tiaret", + "type": "Province" + }, + { + "code": "DZ-15", + "name": "Tizi Ouzou", + "type": "Province" + }, + { + "code": "DZ-16", + "name": "Alger", + "type": "Province" + }, + { + "code": "DZ-17", + "name": "Djelfa", + "type": "Province" + }, + { + "code": "DZ-18", + "name": "Jijel", + "type": "Province" + }, + { + "code": "DZ-19", + "name": "Sétif", + "type": "Province" + }, + { + "code": "DZ-20", + "name": "Saïda", + "type": "Province" + }, + { + "code": "DZ-21", + "name": "Skikda", + "type": "Province" + }, + { + "code": "DZ-22", + "name": "Sidi Bel Abbès", + "type": "Province" + }, + { + "code": "DZ-23", + "name": "Annaba", + "type": "Province" + }, + { + "code": "DZ-24", + "name": "Guelma", + "type": "Province" + }, + { + "code": "DZ-25", + "name": "Constantine", + "type": "Province" + }, + { + "code": "DZ-26", + "name": "Médéa", + "type": "Province" + }, + { + "code": "DZ-27", + "name": "Mostaganem", + "type": "Province" + }, + { + "code": "DZ-28", + "name": "M'sila", + "type": "Province" + }, + { + "code": "DZ-29", + "name": "Mascara", + "type": "Province" + }, + { + "code": "DZ-30", + "name": "Ouargla", + "type": "Province" + }, + { + "code": "DZ-31", + "name": "Oran", + "type": "Province" + }, + { + "code": "DZ-32", + "name": "El Bayadh", + "type": "Province" + }, + { + "code": "DZ-33", + "name": "Illizi", + "type": "Province" + }, + { + "code": "DZ-34", + "name": "Bordj Bou Arréridj", + "type": "Province" + }, + { + "code": "DZ-35", + "name": "Boumerdès", + "type": "Province" + }, + { + "code": "DZ-36", + "name": "El Tarf", + "type": "Province" + }, + { + "code": "DZ-37", + "name": "Tindouf", + "type": "Province" + }, + { + "code": "DZ-38", + "name": "Tissemsilt", + "type": "Province" + }, + { + "code": "DZ-39", + "name": "El Oued", + "type": "Province" + }, + { + "code": "DZ-40", + "name": "Khenchela", + "type": "Province" + }, + { + "code": "DZ-41", + "name": "Souk Ahras", + "type": "Province" + }, + { + "code": "DZ-42", + "name": "Tipaza", + "type": "Province" + }, + { + "code": "DZ-43", + "name": "Mila", + "type": "Province" + }, + { + "code": "DZ-44", + "name": "Aïn Defla", + "type": "Province" + }, + { + "code": "DZ-45", + "name": "Naama", + "type": "Province" + }, + { + "code": "DZ-46", + "name": "Aïn Témouchent", + "type": "Province" + }, + { + "code": "DZ-47", + "name": "Ghardaïa", + "type": "Province" + }, + { + "code": "DZ-48", + "name": "Relizane", + "type": "Province" + }, + { + "code": "DZ-49", + "name": "Timimoun", + "type": "Province" + }, + { + "code": "DZ-50", + "name": "Bordj Badji Mokhtar", + "type": "Province" + }, + { + "code": "DZ-51", + "name": "Ouled Djellal", + "type": "Province" + }, + { + "code": "DZ-52", + "name": "Béni Abbès", + "type": "Province" + }, + { + "code": "DZ-53", + "name": "In Salah", + "type": "Province" + }, + { + "code": "DZ-54", + "name": "In Guezzam", + "type": "Province" + }, + { + "code": "DZ-55", + "name": "Touggourt", + "type": "Province" + }, + { + "code": "DZ-56", + "name": "Djanet", + "type": "Province" + }, + { + "code": "DZ-57", + "name": "El Meghaier", + "type": "Province" + }, + { + "code": "DZ-58", + "name": "El Meniaa", + "type": "Province" + }, + { + "code": "EC-A", + "name": "Azuay", + "type": "Province" + }, + { + "code": "EC-B", + "name": "Bolívar", + "type": "Province" + }, + { + "code": "EC-C", + "name": "Carchi", + "type": "Province" + }, + { + "code": "EC-D", + "name": "Orellana", + "type": "Province" + }, + { + "code": "EC-E", + "name": "Esmeraldas", + "type": "Province" + }, + { + "code": "EC-F", + "name": "Cañar", + "type": "Province" + }, + { + "code": "EC-G", + "name": "Guayas", + "type": "Province" + }, + { + "code": "EC-H", + "name": "Chimborazo", + "type": "Province" + }, + { + "code": "EC-I", + "name": "Imbabura", + "type": "Province" + }, + { + "code": "EC-L", + "name": "Loja", + "type": "Province" + }, + { + "code": "EC-M", + "name": "Manabí", + "type": "Province" + }, + { + "code": "EC-N", + "name": "Napo", + "type": "Province" + }, + { + "code": "EC-O", + "name": "El Oro", + "type": "Province" + }, + { + "code": "EC-P", + "name": "Pichincha", + "type": "Province" + }, + { + "code": "EC-R", + "name": "Los Ríos", + "type": "Province" + }, + { + "code": "EC-S", + "name": "Morona Santiago", + "type": "Province" + }, + { + "code": "EC-SD", + "name": "Santo Domingo de los Tsáchilas", + "type": "Province" + }, + { + "code": "EC-SE", + "name": "Santa Elena", + "type": "Province" + }, + { + "code": "EC-T", + "name": "Tungurahua", + "type": "Province" + }, + { + "code": "EC-U", + "name": "Sucumbíos", + "type": "Province" + }, + { + "code": "EC-W", + "name": "Galápagos", + "type": "Province" + }, + { + "code": "EC-X", + "name": "Cotopaxi", + "type": "Province" + }, + { + "code": "EC-Y", + "name": "Pastaza", + "type": "Province" + }, + { + "code": "EC-Z", + "name": "Zamora Chinchipe", + "type": "Province" + }, + { + "code": "EE-130", + "name": "Alutaguse", + "parent": "EE-45", + "type": "Rural municipality" + }, + { + "code": "EE-141", + "name": "Anija", + "parent": "EE-37", + "type": "Rural municipality" + }, + { + "code": "EE-142", + "name": "Antsla", + "parent": "EE-87", + "type": "Rural municipality" + }, + { + "code": "EE-171", + "name": "Elva", + "parent": "EE-79", + "type": "Rural municipality" + }, + { + "code": "EE-184", + "name": "Haapsalu", + "parent": "EE-56", + "type": "Urban municipality" + }, + { + "code": "EE-191", + "name": "Haljala", + "parent": "EE-60", + "type": "Rural municipality" + }, + { + "code": "EE-198", + "name": "Harku", + "parent": "EE-37", + "type": "Rural municipality" + }, + { + "code": "EE-205", + "name": "Hiiumaa", + "parent": "EE-39", + "type": "Rural municipality" + }, + { + "code": "EE-214", + "name": "Häädemeeste", + "parent": "EE-68", + "type": "Rural municipality" + }, + { + "code": "EE-245", + "name": "Jõelähtme", + "parent": "EE-37", + "type": "Rural municipality" + }, + { + "code": "EE-247", + "name": "Jõgeva", + "parent": "EE-50", + "type": "Rural municipality" + }, + { + "code": "EE-251", + "name": "Jõhvi", + "parent": "EE-45", + "type": "Rural municipality" + }, + { + "code": "EE-255", + "name": "Järva", + "parent": "EE-52", + "type": "Rural municipality" + }, + { + "code": "EE-272", + "name": "Kadrina", + "parent": "EE-60", + "type": "Rural municipality" + }, + { + "code": "EE-283", + "name": "Kambja", + "parent": "EE-79", + "type": "Rural municipality" + }, + { + "code": "EE-284", + "name": "Kanepi", + "parent": "EE-64", + "type": "Rural municipality" + }, + { + "code": "EE-291", + "name": "Kastre", + "parent": "EE-79", + "type": "Rural municipality" + }, + { + "code": "EE-293", + "name": "Kehtna", + "parent": "EE-71", + "type": "Rural municipality" + }, + { + "code": "EE-296", + "name": "Keila", + "parent": "EE-37", + "type": "Urban municipality" + }, + { + "code": "EE-303", + "name": "Kihnu", + "parent": "EE-68", + "type": "Rural municipality" + }, + { + "code": "EE-305", + "name": "Kiili", + "parent": "EE-37", + "type": "Rural municipality" + }, + { + "code": "EE-317", + "name": "Kohila", + "parent": "EE-71", + "type": "Rural municipality" + }, + { + "code": "EE-321", + "name": "Kohtla-Järve", + "parent": "EE-45", + "type": "Urban municipality" + }, + { + "code": "EE-338", + "name": "Kose", + "parent": "EE-37", + "type": "Rural municipality" + }, + { + "code": "EE-353", + "name": "Kuusalu", + "parent": "EE-37", + "type": "Rural municipality" + }, + { + "code": "EE-37", + "name": "Harjumaa", + "type": "County" + }, + { + "code": "EE-39", + "name": "Hiiumaa", + "type": "County" + }, + { + "code": "EE-424", + "name": "Loksa", + "parent": "EE-37", + "type": "Urban municipality" + }, + { + "code": "EE-430", + "name": "Lääneranna", + "parent": "EE-68", + "type": "Rural municipality" + }, + { + "code": "EE-431", + "name": "Lääne-Harju", + "parent": "EE-37", + "type": "Rural municipality" + }, + { + "code": "EE-432", + "name": "Luunja", + "parent": "EE-79", + "type": "Rural municipality" + }, + { + "code": "EE-441", + "name": "Lääne-Nigula", + "parent": "EE-56", + "type": "Rural municipality" + }, + { + "code": "EE-442", + "name": "Lüganuse", + "parent": "EE-45", + "type": "Rural municipality" + }, + { + "code": "EE-446", + "name": "Maardu", + "parent": "EE-37", + "type": "Urban municipality" + }, + { + "code": "EE-45", + "name": "Ida-Virumaa", + "type": "County" + }, + { + "code": "EE-478", + "name": "Muhu", + "parent": "EE-74", + "type": "Rural municipality" + }, + { + "code": "EE-480", + "name": "Mulgi", + "parent": "EE-84", + "type": "Rural municipality" + }, + { + "code": "EE-486", + "name": "Mustvee", + "parent": "EE-50", + "type": "Rural municipality" + }, + { + "code": "EE-50", + "name": "Jõgevamaa", + "type": "County" + }, + { + "code": "EE-503", + "name": "Märjamaa", + "parent": "EE-71", + "type": "Rural municipality" + }, + { + "code": "EE-511", + "name": "Narva", + "parent": "EE-45", + "type": "Urban municipality" + }, + { + "code": "EE-514", + "name": "Narva-Jõesuu", + "parent": "EE-45", + "type": "Urban municipality" + }, + { + "code": "EE-52", + "name": "Järvamaa", + "type": "County" + }, + { + "code": "EE-528", + "name": "Nõo", + "parent": "EE-79", + "type": "Rural municipality" + }, + { + "code": "EE-557", + "name": "Otepää", + "parent": "EE-81", + "type": "Rural municipality" + }, + { + "code": "EE-56", + "name": "Läänemaa", + "type": "County" + }, + { + "code": "EE-567", + "name": "Paide", + "parent": "EE-52", + "type": "Urban municipality" + }, + { + "code": "EE-586", + "name": "Peipsiääre", + "parent": "EE-79", + "type": "Rural municipality" + }, + { + "code": "EE-60", + "name": "Lääne-Virumaa", + "type": "County" + }, + { + "code": "EE-615", + "name": "Põhja-Sakala", + "parent": "EE-84", + "type": "Rural municipality" + }, + { + "code": "EE-618", + "name": "Põltsamaa", + "parent": "EE-50", + "type": "Rural municipality" + }, + { + "code": "EE-622", + "name": "Põlva", + "parent": "EE-64", + "type": "Rural municipality" + }, + { + "code": "EE-624", + "name": "Pärnu", + "parent": "EE-68", + "type": "Urban municipality" + }, + { + "code": "EE-638", + "name": "Põhja-Pärnumaa", + "parent": "EE-68", + "type": "Rural municipality" + }, + { + "code": "EE-64", + "name": "Põlvamaa", + "type": "County" + }, + { + "code": "EE-651", + "name": "Raasiku", + "parent": "EE-37", + "type": "Rural municipality" + }, + { + "code": "EE-653", + "name": "Rae", + "parent": "EE-37", + "type": "Rural municipality" + }, + { + "code": "EE-661", + "name": "Rakvere", + "parent": "EE-60", + "type": "Rural municipality" + }, + { + "code": "EE-663", + "name": "Rakvere", + "parent": "EE-60", + "type": "Urban municipality" + }, + { + "code": "EE-668", + "name": "Rapla", + "parent": "EE-71", + "type": "Rural municipality" + }, + { + "code": "EE-68", + "name": "Pärnumaa", + "type": "County" + }, + { + "code": "EE-689", + "name": "Ruhnu", + "parent": "EE-74", + "type": "Rural municipality" + }, + { + "code": "EE-698", + "name": "Rõuge", + "parent": "EE-87", + "type": "Rural municipality" + }, + { + "code": "EE-708", + "name": "Räpina", + "parent": "EE-64", + "type": "Rural municipality" + }, + { + "code": "EE-71", + "name": "Raplamaa", + "type": "County" + }, + { + "code": "EE-712", + "name": "Saarde", + "parent": "EE-68", + "type": "Rural municipality" + }, + { + "code": "EE-714", + "name": "Saaremaa", + "parent": "EE-74", + "type": "Rural municipality" + }, + { + "code": "EE-719", + "name": "Saku", + "parent": "EE-37", + "type": "Rural municipality" + }, + { + "code": "EE-726", + "name": "Saue", + "parent": "EE-37", + "type": "Rural municipality" + }, + { + "code": "EE-732", + "name": "Setomaa", + "parent": "EE-87", + "type": "Rural municipality" + }, + { + "code": "EE-735", + "name": "Sillamäe", + "parent": "EE-45", + "type": "Urban municipality" + }, + { + "code": "EE-74", + "name": "Saaremaa", + "type": "County" + }, + { + "code": "EE-784", + "name": "Tallinn", + "parent": "EE-37", + "type": "Urban municipality" + }, + { + "code": "EE-79", + "name": "Tartumaa", + "type": "County" + }, + { + "code": "EE-792", + "name": "Tapa", + "parent": "EE-60", + "type": "Rural municipality" + }, + { + "code": "EE-793", + "name": "Tartu", + "parent": "EE-79", + "type": "Urban municipality" + }, + { + "code": "EE-796", + "name": "Tartu", + "parent": "EE-79", + "type": "Rural municipality" + }, + { + "code": "EE-803", + "name": "Toila", + "parent": "EE-45", + "type": "Rural municipality" + }, + { + "code": "EE-809", + "name": "Tori", + "parent": "EE-68", + "type": "Rural municipality" + }, + { + "code": "EE-81", + "name": "Valgamaa", + "type": "County" + }, + { + "code": "EE-824", + "name": "Tõrva", + "parent": "EE-81", + "type": "Rural municipality" + }, + { + "code": "EE-834", + "name": "Türi", + "parent": "EE-52", + "type": "Rural municipality" + }, + { + "code": "EE-84", + "name": "Viljandimaa", + "type": "County" + }, + { + "code": "EE-855", + "name": "Valga", + "parent": "EE-81", + "type": "Rural municipality" + }, + { + "code": "EE-87", + "name": "Võrumaa", + "type": "County" + }, + { + "code": "EE-890", + "name": "Viimsi", + "parent": "EE-37", + "type": "Rural municipality" + }, + { + "code": "EE-897", + "name": "Viljandi", + "parent": "EE-84", + "type": "Urban municipality" + }, + { + "code": "EE-899", + "name": "Viljandi", + "parent": "EE-84", + "type": "Rural municipality" + }, + { + "code": "EE-901", + "name": "Vinni", + "parent": "EE-60", + "type": "Rural municipality" + }, + { + "code": "EE-903", + "name": "Viru-Nigula", + "parent": "EE-60", + "type": "Rural municipality" + }, + { + "code": "EE-907", + "name": "Vormsi", + "parent": "EE-56", + "type": "Rural municipality" + }, + { + "code": "EE-917", + "name": "Võru", + "parent": "EE-87", + "type": "Rural municipality" + }, + { + "code": "EE-919", + "name": "Võru", + "parent": "EE-87", + "type": "Urban municipality" + }, + { + "code": "EE-928", + "name": "Väike-Maarja", + "parent": "EE-60", + "type": "Rural municipality" + }, + { + "code": "EG-ALX", + "name": "Al Iskandarīyah", + "type": "Governorate" + }, + { + "code": "EG-ASN", + "name": "Aswān", + "type": "Governorate" + }, + { + "code": "EG-AST", + "name": "Asyūţ", + "type": "Governorate" + }, + { + "code": "EG-BA", + "name": "Al Baḩr al Aḩmar", + "type": "Governorate" + }, + { + "code": "EG-BH", + "name": "Al Buḩayrah", + "type": "Governorate" + }, + { + "code": "EG-BNS", + "name": "Banī Suwayf", + "type": "Governorate" + }, + { + "code": "EG-C", + "name": "Al Qāhirah", + "type": "Governorate" + }, + { + "code": "EG-DK", + "name": "Ad Daqahlīyah", + "type": "Governorate" + }, + { + "code": "EG-DT", + "name": "Dumyāţ", + "type": "Governorate" + }, + { + "code": "EG-FYM", + "name": "Al Fayyūm", + "type": "Governorate" + }, + { + "code": "EG-GH", + "name": "Al Gharbīyah", + "type": "Governorate" + }, + { + "code": "EG-GZ", + "name": "Al Jīzah", + "type": "Governorate" + }, + { + "code": "EG-IS", + "name": "Al Ismā'īlīyah", + "type": "Governorate" + }, + { + "code": "EG-JS", + "name": "Janūb Sīnā'", + "type": "Governorate" + }, + { + "code": "EG-KB", + "name": "Al Qalyūbīyah", + "type": "Governorate" + }, + { + "code": "EG-KFS", + "name": "Kafr ash Shaykh", + "type": "Governorate" + }, + { + "code": "EG-KN", + "name": "Qinā", + "type": "Governorate" + }, + { + "code": "EG-LX", + "name": "Al Uqşur", + "type": "Governorate" + }, + { + "code": "EG-MN", + "name": "Al Minyā", + "type": "Governorate" + }, + { + "code": "EG-MNF", + "name": "Al Minūfīyah", + "type": "Governorate" + }, + { + "code": "EG-MT", + "name": "Maţrūḩ", + "type": "Governorate" + }, + { + "code": "EG-PTS", + "name": "Būr Sa‘īd", + "type": "Governorate" + }, + { + "code": "EG-SHG", + "name": "Sūhāj", + "type": "Governorate" + }, + { + "code": "EG-SHR", + "name": "Ash Sharqīyah", + "type": "Governorate" + }, + { + "code": "EG-SIN", + "name": "Shamāl Sīnā'", + "type": "Governorate" + }, + { + "code": "EG-SUZ", + "name": "As Suways", + "type": "Governorate" + }, + { + "code": "EG-WAD", + "name": "Al Wādī al Jadīd", + "type": "Governorate" + }, + { + "code": "ER-AN", + "name": "Ansabā", + "type": "Region" + }, + { + "code": "ER-DK", + "name": "Debubawi K’eyyĭḥ Baḥri", + "type": "Region" + }, + { + "code": "ER-DU", + "name": "Al Janūbī", + "type": "Region" + }, + { + "code": "ER-GB", + "name": "Gash-Barka", + "type": "Region" + }, + { + "code": "ER-MA", + "name": "Al Awsaţ", + "type": "Region" + }, + { + "code": "ER-SK", + "name": "Semienawi K’eyyĭḥ Baḥri", + "type": "Region" + }, + { + "code": "ES-A", + "name": "Alacant*", + "parent": "ES-VC", + "type": "Province" + }, + { + "code": "ES-AB", + "name": "Albacete", + "parent": "ES-CM", + "type": "Province" + }, + { + "code": "ES-AL", + "name": "Almería", + "parent": "ES-AN", + "type": "Province" + }, + { + "code": "ES-AN", + "name": "Andalucía", + "type": "Autonomous community" + }, + { + "code": "ES-AR", + "name": "Aragón", + "type": "Autonomous community" + }, + { + "code": "ES-AS", + "name": "Asturias, Principado de", + "type": "Autonomous community" + }, + { + "code": "ES-AV", + "name": "Ávila", + "parent": "ES-CL", + "type": "Province" + }, + { + "code": "ES-B", + "name": "Barcelona [Barcelona]", + "parent": "ES-CT", + "type": "Province" + }, + { + "code": "ES-BA", + "name": "Badajoz", + "parent": "ES-EX", + "type": "Province" + }, + { + "code": "ES-BI", + "name": "Bizkaia", + "parent": "ES-PV", + "type": "Province" + }, + { + "code": "ES-BU", + "name": "Burgos", + "parent": "ES-CL", + "type": "Province" + }, + { + "code": "ES-C", + "name": "A Coruña [La Coruña]", + "parent": "ES-GA", + "type": "Province" + }, + { + "code": "ES-CA", + "name": "Cádiz", + "parent": "ES-AN", + "type": "Province" + }, + { + "code": "ES-CB", + "name": "Cantabria", + "type": "Autonomous community" + }, + { + "code": "ES-CC", + "name": "Cáceres", + "parent": "ES-EX", + "type": "Province" + }, + { + "code": "ES-CE", + "name": "Ceuta", + "type": "Autonomous city in north africa" + }, + { + "code": "ES-CL", + "name": "Castilla y León", + "type": "Autonomous community" + }, + { + "code": "ES-CM", + "name": "Castilla-La Mancha", + "type": "Autonomous community" + }, + { + "code": "ES-CN", + "name": "Canarias", + "type": "Autonomous community" + }, + { + "code": "ES-CO", + "name": "Córdoba", + "parent": "ES-AN", + "type": "Province" + }, + { + "code": "ES-CR", + "name": "Ciudad Real", + "parent": "ES-CM", + "type": "Province" + }, + { + "code": "ES-CS", + "name": "Castelló*", + "parent": "ES-VC", + "type": "Province" + }, + { + "code": "ES-CT", + "name": "Catalunya [Cataluña]", + "type": "Autonomous community" + }, + { + "code": "ES-CU", + "name": "Cuenca", + "parent": "ES-CM", + "type": "Province" + }, + { + "code": "ES-EX", + "name": "Extremadura", + "type": "Autonomous community" + }, + { + "code": "ES-GA", + "name": "Galicia [Galicia]", + "type": "Autonomous community" + }, + { + "code": "ES-GC", + "name": "Las Palmas", + "parent": "ES-CN", + "type": "Province" + }, + { + "code": "ES-GI", + "name": "Girona [Gerona]", + "parent": "ES-CT", + "type": "Province" + }, + { + "code": "ES-GR", + "name": "Granada", + "parent": "ES-AN", + "type": "Province" + }, + { + "code": "ES-GU", + "name": "Guadalajara", + "parent": "ES-CM", + "type": "Province" + }, + { + "code": "ES-H", + "name": "Huelva", + "parent": "ES-AN", + "type": "Province" + }, + { + "code": "ES-HU", + "name": "Huesca", + "parent": "ES-AR", + "type": "Province" + }, + { + "code": "ES-IB", + "name": "Illes Balears [Islas Baleares]", + "type": "Autonomous community" + }, + { + "code": "ES-J", + "name": "Jaén", + "parent": "ES-AN", + "type": "Province" + }, + { + "code": "ES-L", + "name": "Lleida [Lérida]", + "parent": "ES-CT", + "type": "Province" + }, + { + "code": "ES-LE", + "name": "León", + "parent": "ES-CL", + "type": "Province" + }, + { + "code": "ES-LO", + "name": "La Rioja", + "parent": "ES-RI", + "type": "Province" + }, + { + "code": "ES-LU", + "name": "Lugo [Lugo]", + "parent": "ES-GA", + "type": "Province" + }, + { + "code": "ES-M", + "name": "Madrid", + "parent": "ES-MD", + "type": "Province" + }, + { + "code": "ES-MA", + "name": "Málaga", + "parent": "ES-AN", + "type": "Province" + }, + { + "code": "ES-MC", + "name": "Murcia, Región de", + "type": "Autonomous community" + }, + { + "code": "ES-MD", + "name": "Madrid, Comunidad de", + "type": "Autonomous community" + }, + { + "code": "ES-ML", + "name": "Melilla", + "type": "Autonomous city in north africa" + }, + { + "code": "ES-MU", + "name": "Murcia", + "parent": "ES-MC", + "type": "Province" + }, + { + "code": "ES-NA", + "name": "Nafarroa*", + "parent": "ES-NC", + "type": "Province" + }, + { + "code": "ES-NC", + "name": "Nafarroako Foru Komunitatea*", + "type": "Autonomous community" + }, + { + "code": "ES-O", + "name": "Asturias", + "parent": "ES-AS", + "type": "Province" + }, + { + "code": "ES-OR", + "name": "Ourense [Orense]", + "parent": "ES-GA", + "type": "Province" + }, + { + "code": "ES-P", + "name": "Palencia", + "parent": "ES-CL", + "type": "Province" + }, + { + "code": "ES-PM", + "name": "Illes Balears [Islas Baleares]", + "parent": "ES-IB", + "type": "Province" + }, + { + "code": "ES-PO", + "name": "Pontevedra [Pontevedra]", + "parent": "ES-GA", + "type": "Province" + }, + { + "code": "ES-PV", + "name": "Euskal Herria", + "type": "Autonomous community" + }, + { + "code": "ES-RI", + "name": "La Rioja", + "type": "Autonomous community" + }, + { + "code": "ES-S", + "name": "Cantabria", + "parent": "ES-CB", + "type": "Province" + }, + { + "code": "ES-SA", + "name": "Salamanca", + "parent": "ES-CL", + "type": "Province" + }, + { + "code": "ES-SE", + "name": "Sevilla", + "parent": "ES-AN", + "type": "Province" + }, + { + "code": "ES-SG", + "name": "Segovia", + "parent": "ES-CL", + "type": "Province" + }, + { + "code": "ES-SO", + "name": "Soria", + "parent": "ES-CL", + "type": "Province" + }, + { + "code": "ES-SS", + "name": "Gipuzkoa", + "parent": "ES-PV", + "type": "Province" + }, + { + "code": "ES-T", + "name": "Tarragona [Tarragona]", + "parent": "ES-CT", + "type": "Province" + }, + { + "code": "ES-TE", + "name": "Teruel", + "parent": "ES-AR", + "type": "Province" + }, + { + "code": "ES-TF", + "name": "Santa Cruz de Tenerife", + "parent": "ES-CN", + "type": "Province" + }, + { + "code": "ES-TO", + "name": "Toledo", + "parent": "ES-CM", + "type": "Province" + }, + { + "code": "ES-V", + "name": "Valencia", + "parent": "ES-VC", + "type": "Province" + }, + { + "code": "ES-VA", + "name": "Valladolid", + "parent": "ES-CL", + "type": "Province" + }, + { + "code": "ES-VC", + "name": "Valenciana, Comunidad", + "type": "Autonomous community" + }, + { + "code": "ES-VI", + "name": "Araba*", + "parent": "ES-PV", + "type": "Province" + }, + { + "code": "ES-Z", + "name": "Zaragoza", + "parent": "ES-AR", + "type": "Province" + }, + { + "code": "ES-ZA", + "name": "Zamora", + "parent": "ES-CL", + "type": "Province" + }, + { + "code": "ET-AA", + "name": "Addis Ababa", + "type": "Administration" + }, + { + "code": "ET-AF", + "name": "Afar", + "type": "Regional state" + }, + { + "code": "ET-AM", + "name": "Amara", + "type": "Regional state" + }, + { + "code": "ET-BE", + "name": "Benshangul-Gumaz", + "type": "Regional state" + }, + { + "code": "ET-DD", + "name": "Dire Dawa", + "type": "Administration" + }, + { + "code": "ET-GA", + "name": "Gambela Peoples", + "type": "Regional state" + }, + { + "code": "ET-HA", + "name": "Harari People", + "type": "Regional state" + }, + { + "code": "ET-OR", + "name": "Oromia", + "type": "Regional state" + }, + { + "code": "ET-SI", + "name": "Sidama", + "type": "Regional state" + }, + { + "code": "ET-SN", + "name": "Southern Nations, Nationalities and Peoples", + "type": "Regional state" + }, + { + "code": "ET-SO", + "name": "Somali", + "type": "Regional state" + }, + { + "code": "ET-SW", + "name": "Southwest Ethiopia Peoples", + "type": "Regional state" + }, + { + "code": "ET-TI", + "name": "Tigrai", + "type": "Regional state" + }, + { + "code": "FI-01", + "name": "Landskapet Åland", + "type": "Region" + }, + { + "code": "FI-02", + "name": "Etelä-Karjala", + "type": "Region" + }, + { + "code": "FI-03", + "name": "Etelä-Pohjanmaa", + "type": "Region" + }, + { + "code": "FI-04", + "name": "Etelä-Savo", + "type": "Region" + }, + { + "code": "FI-05", + "name": "Kainuu", + "type": "Region" + }, + { + "code": "FI-06", + "name": "Kanta-Häme", + "type": "Region" + }, + { + "code": "FI-07", + "name": "Keski-Pohjanmaa", + "type": "Region" + }, + { + "code": "FI-08", + "name": "Keski-Suomi", + "type": "Region" + }, + { + "code": "FI-09", + "name": "Kymenlaakso", + "type": "Region" + }, + { + "code": "FI-10", + "name": "Lappi", + "type": "Region" + }, + { + "code": "FI-11", + "name": "Pirkanmaa", + "type": "Region" + }, + { + "code": "FI-12", + "name": "Pohjanmaa", + "type": "Region" + }, + { + "code": "FI-13", + "name": "Pohjois-Karjala", + "type": "Region" + }, + { + "code": "FI-14", + "name": "Pohjois-Pohjanmaa", + "type": "Region" + }, + { + "code": "FI-15", + "name": "Pohjois-Savo", + "type": "Region" + }, + { + "code": "FI-16", + "name": "Päijät-Häme", + "type": "Region" + }, + { + "code": "FI-17", + "name": "Satakunta", + "type": "Region" + }, + { + "code": "FI-18", + "name": "Uusimaa", + "type": "Region" + }, + { + "code": "FI-19", + "name": "Varsinais-Suomi", + "type": "Region" + }, + { + "code": "FJ-01", + "name": "Ba", + "parent": "FJ-W", + "type": "Province" + }, + { + "code": "FJ-02", + "name": "Bua", + "parent": "FJ-N", + "type": "Province" + }, + { + "code": "FJ-03", + "name": "Cakaudrove", + "parent": "FJ-N", + "type": "Province" + }, + { + "code": "FJ-04", + "name": "Kadavu", + "parent": "FJ-E", + "type": "Province" + }, + { + "code": "FJ-05", + "name": "Lau", + "parent": "FJ-E", + "type": "Province" + }, + { + "code": "FJ-06", + "name": "Lomaiviti", + "parent": "FJ-E", + "type": "Province" + }, + { + "code": "FJ-07", + "name": "Macuata", + "parent": "FJ-N", + "type": "Province" + }, + { + "code": "FJ-08", + "name": "Nadroga and Navosa", + "parent": "FJ-W", + "type": "Province" + }, + { + "code": "FJ-09", + "name": "Naitasiri", + "parent": "FJ-C", + "type": "Province" + }, + { + "code": "FJ-10", + "name": "Namosi", + "parent": "FJ-C", + "type": "Province" + }, + { + "code": "FJ-11", + "name": "Ra", + "parent": "FJ-W", + "type": "Province" + }, + { + "code": "FJ-12", + "name": "Rewa", + "parent": "FJ-C", + "type": "Province" + }, + { + "code": "FJ-13", + "name": "Serua", + "parent": "FJ-C", + "type": "Province" + }, + { + "code": "FJ-14", + "name": "Tailevu", + "parent": "FJ-C", + "type": "Province" + }, + { + "code": "FJ-C", + "name": "Central", + "type": "Division" + }, + { + "code": "FJ-E", + "name": "Eastern", + "type": "Division" + }, + { + "code": "FJ-N", + "name": "Northern", + "type": "Division" + }, + { + "code": "FJ-R", + "name": "Rotuma", + "type": "Dependency" + }, + { + "code": "FJ-W", + "name": "Western", + "type": "Division" + }, + { + "code": "FM-KSA", + "name": "Kosrae", + "type": "State" + }, + { + "code": "FM-PNI", + "name": "Pohnpei", + "type": "State" + }, + { + "code": "FM-TRK", + "name": "Chuuk", + "type": "State" + }, + { + "code": "FM-YAP", + "name": "Yap", + "type": "State" + }, + { + "code": "FR-01", + "name": "Ain", + "parent": "FR-ARA", + "type": "Metropolitan department" + }, + { + "code": "FR-02", + "name": "Aisne", + "parent": "FR-HDF", + "type": "Metropolitan department" + }, + { + "code": "FR-03", + "name": "Allier", + "parent": "FR-ARA", + "type": "Metropolitan department" + }, + { + "code": "FR-04", + "name": "Alpes-de-Haute-Provence", + "parent": "FR-PAC", + "type": "Metropolitan department" + }, + { + "code": "FR-05", + "name": "Hautes-Alpes", + "parent": "FR-PAC", + "type": "Metropolitan department" + }, + { + "code": "FR-06", + "name": "Alpes-Maritimes", + "parent": "FR-PAC", + "type": "Metropolitan department" + }, + { + "code": "FR-07", + "name": "Ardèche", + "parent": "FR-ARA", + "type": "Metropolitan department" + }, + { + "code": "FR-08", + "name": "Ardennes", + "parent": "FR-GES", + "type": "Metropolitan department" + }, + { + "code": "FR-09", + "name": "Ariège", + "parent": "FR-OCC", + "type": "Metropolitan department" + }, + { + "code": "FR-10", + "name": "Aube", + "parent": "FR-GES", + "type": "Metropolitan department" + }, + { + "code": "FR-11", + "name": "Aude", + "parent": "FR-OCC", + "type": "Metropolitan department" + }, + { + "code": "FR-12", + "name": "Aveyron", + "parent": "FR-OCC", + "type": "Metropolitan department" + }, + { + "code": "FR-13", + "name": "Bouches-du-Rhône", + "parent": "FR-PAC", + "type": "Metropolitan department" + }, + { + "code": "FR-14", + "name": "Calvados", + "parent": "FR-NOR", + "type": "Metropolitan department" + }, + { + "code": "FR-15", + "name": "Cantal", + "parent": "FR-ARA", + "type": "Metropolitan department" + }, + { + "code": "FR-16", + "name": "Charente", + "parent": "FR-NAQ", + "type": "Metropolitan department" + }, + { + "code": "FR-17", + "name": "Charente-Maritime", + "parent": "FR-NAQ", + "type": "Metropolitan department" + }, + { + "code": "FR-18", + "name": "Cher", + "parent": "FR-CVL", + "type": "Metropolitan department" + }, + { + "code": "FR-19", + "name": "Corrèze", + "parent": "FR-NAQ", + "type": "Metropolitan department" + }, + { + "code": "FR-20R", + "name": "Corse", + "type": "Metropolitan collectivity with special status" + }, + { + "code": "FR-21", + "name": "Côte-d'Or", + "parent": "FR-BFC", + "type": "Metropolitan department" + }, + { + "code": "FR-22", + "name": "Côtes-d'Armor", + "parent": "FR-BRE", + "type": "Metropolitan department" + }, + { + "code": "FR-23", + "name": "Creuse", + "parent": "FR-NAQ", + "type": "Metropolitan department" + }, + { + "code": "FR-24", + "name": "Dordogne", + "parent": "FR-NAQ", + "type": "Metropolitan department" + }, + { + "code": "FR-25", + "name": "Doubs", + "parent": "FR-BFC", + "type": "Metropolitan department" + }, + { + "code": "FR-26", + "name": "Drôme", + "parent": "FR-ARA", + "type": "Metropolitan department" + }, + { + "code": "FR-27", + "name": "Eure", + "parent": "FR-NOR", + "type": "Metropolitan department" + }, + { + "code": "FR-28", + "name": "Eure-et-Loir", + "parent": "FR-CVL", + "type": "Metropolitan department" + }, + { + "code": "FR-29", + "name": "Finistère", + "parent": "FR-BRE", + "type": "Metropolitan department" + }, + { + "code": "FR-2A", + "name": "Corse-du-Sud", + "parent": "FR-20R", + "type": "Metropolitan department" + }, + { + "code": "FR-2B", + "name": "Haute-Corse", + "parent": "FR-20R", + "type": "Metropolitan department" + }, + { + "code": "FR-30", + "name": "Gard", + "parent": "FR-OCC", + "type": "Metropolitan department" + }, + { + "code": "FR-31", + "name": "Haute-Garonne", + "parent": "FR-OCC", + "type": "Metropolitan department" + }, + { + "code": "FR-32", + "name": "Gers", + "parent": "FR-OCC", + "type": "Metropolitan department" + }, + { + "code": "FR-33", + "name": "Gironde", + "parent": "FR-NAQ", + "type": "Metropolitan department" + }, + { + "code": "FR-34", + "name": "Hérault", + "parent": "FR-OCC", + "type": "Metropolitan department" + }, + { + "code": "FR-35", + "name": "Ille-et-Vilaine", + "parent": "FR-BRE", + "type": "Metropolitan department" + }, + { + "code": "FR-36", + "name": "Indre", + "parent": "FR-CVL", + "type": "Metropolitan department" + }, + { + "code": "FR-37", + "name": "Indre-et-Loire", + "parent": "FR-CVL", + "type": "Metropolitan department" + }, + { + "code": "FR-38", + "name": "Isère", + "parent": "FR-ARA", + "type": "Metropolitan department" + }, + { + "code": "FR-39", + "name": "Jura", + "parent": "FR-BFC", + "type": "Metropolitan department" + }, + { + "code": "FR-40", + "name": "Landes", + "parent": "FR-NAQ", + "type": "Metropolitan department" + }, + { + "code": "FR-41", + "name": "Loir-et-Cher", + "parent": "FR-CVL", + "type": "Metropolitan department" + }, + { + "code": "FR-42", + "name": "Loire", + "parent": "FR-ARA", + "type": "Metropolitan department" + }, + { + "code": "FR-43", + "name": "Haute-Loire", + "parent": "FR-ARA", + "type": "Metropolitan department" + }, + { + "code": "FR-44", + "name": "Loire-Atlantique", + "parent": "FR-PDL", + "type": "Metropolitan department" + }, + { + "code": "FR-45", + "name": "Loiret", + "parent": "FR-CVL", + "type": "Metropolitan department" + }, + { + "code": "FR-46", + "name": "Lot", + "parent": "FR-OCC", + "type": "Metropolitan department" + }, + { + "code": "FR-47", + "name": "Lot-et-Garonne", + "parent": "FR-NAQ", + "type": "Metropolitan department" + }, + { + "code": "FR-48", + "name": "Lozère", + "parent": "FR-OCC", + "type": "Metropolitan department" + }, + { + "code": "FR-49", + "name": "Maine-et-Loire", + "parent": "FR-PDL", + "type": "Metropolitan department" + }, + { + "code": "FR-50", + "name": "Manche", + "parent": "FR-NOR", + "type": "Metropolitan department" + }, + { + "code": "FR-51", + "name": "Marne", + "parent": "FR-GES", + "type": "Metropolitan department" + }, + { + "code": "FR-52", + "name": "Haute-Marne", + "parent": "FR-GES", + "type": "Metropolitan department" + }, + { + "code": "FR-53", + "name": "Mayenne", + "parent": "FR-PDL", + "type": "Metropolitan department" + }, + { + "code": "FR-54", + "name": "Meurthe-et-Moselle", + "parent": "FR-GES", + "type": "Metropolitan department" + }, + { + "code": "FR-55", + "name": "Meuse", + "parent": "FR-GES", + "type": "Metropolitan department" + }, + { + "code": "FR-56", + "name": "Morbihan", + "parent": "FR-BRE", + "type": "Metropolitan department" + }, + { + "code": "FR-57", + "name": "Moselle", + "parent": "FR-GES", + "type": "Metropolitan department" + }, + { + "code": "FR-58", + "name": "Nièvre", + "parent": "FR-BFC", + "type": "Metropolitan department" + }, + { + "code": "FR-59", + "name": "Nord", + "parent": "FR-HDF", + "type": "Metropolitan department" + }, + { + "code": "FR-60", + "name": "Oise", + "parent": "FR-HDF", + "type": "Metropolitan department" + }, + { + "code": "FR-61", + "name": "Orne", + "parent": "FR-NOR", + "type": "Metropolitan department" + }, + { + "code": "FR-62", + "name": "Pas-de-Calais", + "parent": "FR-HDF", + "type": "Metropolitan department" + }, + { + "code": "FR-63", + "name": "Puy-de-Dôme", + "parent": "FR-ARA", + "type": "Metropolitan department" + }, + { + "code": "FR-64", + "name": "Pyrénées-Atlantiques", + "parent": "FR-NAQ", + "type": "Metropolitan department" + }, + { + "code": "FR-65", + "name": "Hautes-Pyrénées", + "parent": "FR-OCC", + "type": "Metropolitan department" + }, + { + "code": "FR-66", + "name": "Pyrénées-Orientales", + "parent": "FR-OCC", + "type": "Metropolitan department" + }, + { + "code": "FR-67", + "name": "Bas-Rhin", + "parent": "FR-6AE", + "type": "Metropolitan department" + }, + { + "code": "FR-68", + "name": "Haut-Rhin", + "parent": "FR-6AE", + "type": "Metropolitan department" + }, + { + "code": "FR-69", + "name": "Rhône", + "parent": "FR-ARA", + "type": "Metropolitan department" + }, + { + "code": "FR-69M", + "name": "Métropole de Lyon", + "parent": "FR-ARA", + "type": "Metropolitan collectivity with special status" + }, + { + "code": "FR-6AE", + "name": "Alsace", + "parent": "FR-GES", + "type": "European collectivity" + }, + { + "code": "FR-70", + "name": "Haute-Saône", + "parent": "FR-BFC", + "type": "Metropolitan department" + }, + { + "code": "FR-71", + "name": "Saône-et-Loire", + "parent": "FR-BFC", + "type": "Metropolitan department" + }, + { + "code": "FR-72", + "name": "Sarthe", + "parent": "FR-PDL", + "type": "Metropolitan department" + }, + { + "code": "FR-73", + "name": "Savoie", + "parent": "FR-ARA", + "type": "Metropolitan department" + }, + { + "code": "FR-74", + "name": "Haute-Savoie", + "parent": "FR-ARA", + "type": "Metropolitan department" + }, + { + "code": "FR-75C", + "name": "Paris", + "parent": "FR-IDF", + "type": "Metropolitan collectivity with special status" + }, + { + "code": "FR-76", + "name": "Seine-Maritime", + "parent": "FR-NOR", + "type": "Metropolitan department" + }, + { + "code": "FR-77", + "name": "Seine-et-Marne", + "parent": "FR-IDF", + "type": "Metropolitan department" + }, + { + "code": "FR-78", + "name": "Yvelines", + "parent": "FR-IDF", + "type": "Metropolitan department" + }, + { + "code": "FR-79", + "name": "Deux-Sèvres", + "parent": "FR-NAQ", + "type": "Metropolitan department" + }, + { + "code": "FR-80", + "name": "Somme", + "parent": "FR-HDF", + "type": "Metropolitan department" + }, + { + "code": "FR-81", + "name": "Tarn", + "parent": "FR-OCC", + "type": "Metropolitan department" + }, + { + "code": "FR-82", + "name": "Tarn-et-Garonne", + "parent": "FR-OCC", + "type": "Metropolitan department" + }, + { + "code": "FR-83", + "name": "Var", + "parent": "FR-PAC", + "type": "Metropolitan department" + }, + { + "code": "FR-84", + "name": "Vaucluse", + "parent": "FR-PAC", + "type": "Metropolitan department" + }, + { + "code": "FR-85", + "name": "Vendée", + "parent": "FR-PDL", + "type": "Metropolitan department" + }, + { + "code": "FR-86", + "name": "Vienne", + "parent": "FR-NAQ", + "type": "Metropolitan department" + }, + { + "code": "FR-87", + "name": "Haute-Vienne", + "parent": "FR-NAQ", + "type": "Metropolitan department" + }, + { + "code": "FR-88", + "name": "Vosges", + "parent": "FR-GES", + "type": "Metropolitan department" + }, + { + "code": "FR-89", + "name": "Yonne", + "parent": "FR-BFC", + "type": "Metropolitan department" + }, + { + "code": "FR-90", + "name": "Territoire de Belfort", + "parent": "FR-BFC", + "type": "Metropolitan department" + }, + { + "code": "FR-91", + "name": "Essonne", + "parent": "FR-IDF", + "type": "Metropolitan department" + }, + { + "code": "FR-92", + "name": "Hauts-de-Seine", + "parent": "FR-IDF", + "type": "Metropolitan department" + }, + { + "code": "FR-93", + "name": "Seine-Saint-Denis", + "parent": "FR-IDF", + "type": "Metropolitan department" + }, + { + "code": "FR-94", + "name": "Val-de-Marne", + "parent": "FR-IDF", + "type": "Metropolitan department" + }, + { + "code": "FR-95", + "name": "Val-d'Oise", + "parent": "FR-IDF", + "type": "Metropolitan department" + }, + { + "code": "FR-971", + "name": "Guadeloupe", + "type": "Overseas departmental collectivity" + }, + { + "code": "FR-972", + "name": "Martinique", + "type": "Overseas unique territorial collectivity" + }, + { + "code": "FR-973", + "name": "Guyane (française)", + "type": "Overseas unique territorial collectivity" + }, + { + "code": "FR-974", + "name": "La Réunion", + "type": "Overseas departmental collectivity" + }, + { + "code": "FR-976", + "name": "Mayotte", + "type": "Overseas departmental collectivity" + }, + { + "code": "FR-ARA", + "name": "Auvergne-Rhône-Alpes", + "type": "Metropolitan region" + }, + { + "code": "FR-BFC", + "name": "Bourgogne-Franche-Comté", + "type": "Metropolitan region" + }, + { + "code": "FR-BL", + "name": "Saint-Barthélemy", + "type": "Overseas collectivity" + }, + { + "code": "FR-BRE", + "name": "Bretagne", + "type": "Metropolitan region" + }, + { + "code": "FR-CP", + "name": "Clipperton", + "type": "Dependency" + }, + { + "code": "FR-CVL", + "name": "Centre-Val de Loire", + "type": "Metropolitan region" + }, + { + "code": "FR-GES", + "name": "Grand-Est", + "type": "Metropolitan region" + }, + { + "code": "FR-HDF", + "name": "Hauts-de-France", + "type": "Metropolitan region" + }, + { + "code": "FR-IDF", + "name": "Île-de-France", + "type": "Metropolitan region" + }, + { + "code": "FR-MF", + "name": "Saint-Martin", + "type": "Overseas collectivity" + }, + { + "code": "FR-NAQ", + "name": "Nouvelle-Aquitaine", + "type": "Metropolitan region" + }, + { + "code": "FR-NC", + "name": "Nouvelle-Calédonie", + "type": "Overseas collectivity with special status" + }, + { + "code": "FR-NOR", + "name": "Normandie", + "type": "Metropolitan region" + }, + { + "code": "FR-OCC", + "name": "Occitanie", + "type": "Metropolitan region" + }, + { + "code": "FR-PAC", + "name": "Provence-Alpes-Côte-d’Azur", + "type": "Metropolitan region" + }, + { + "code": "FR-PDL", + "name": "Pays-de-la-Loire", + "type": "Metropolitan region" + }, + { + "code": "FR-PF", + "name": "Polynésie française", + "type": "Overseas collectivity" + }, + { + "code": "FR-PM", + "name": "Saint-Pierre-et-Miquelon", + "type": "Overseas collectivity" + }, + { + "code": "FR-TF", + "name": "Terres australes françaises", + "type": "Overseas territory" + }, + { + "code": "FR-WF", + "name": "Wallis-et-Futuna", + "type": "Overseas collectivity" + }, + { + "code": "GA-1", + "name": "Estuaire", + "type": "Province" + }, + { + "code": "GA-2", + "name": "Haut-Ogooué", + "type": "Province" + }, + { + "code": "GA-3", + "name": "Moyen-Ogooué", + "type": "Province" + }, + { + "code": "GA-4", + "name": "Ngounié", + "type": "Province" + }, + { + "code": "GA-5", + "name": "Nyanga", + "type": "Province" + }, + { + "code": "GA-6", + "name": "Ogooué-Ivindo", + "type": "Province" + }, + { + "code": "GA-7", + "name": "Ogooué-Lolo", + "type": "Province" + }, + { + "code": "GA-8", + "name": "Ogooué-Maritime", + "type": "Province" + }, + { + "code": "GA-9", + "name": "Woleu-Ntem", + "type": "Province" + }, + { + "code": "GB-ABC", + "name": "Armagh City, Banbridge and Craigavon", + "parent": "GB-NIR", + "type": "District" + }, + { + "code": "GB-ABD", + "name": "Aberdeenshire", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-ABE", + "name": "Aberdeen City", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-AGB", + "name": "Argyll and Bute", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-AGY", + "name": "Isle of Anglesey [Sir Ynys Môn GB-YNM]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-AND", + "name": "Ards and North Down", + "parent": "GB-NIR", + "type": "District" + }, + { + "code": "GB-ANN", + "name": "Antrim and Newtownabbey", + "parent": "GB-NIR", + "type": "District" + }, + { + "code": "GB-ANS", + "name": "Angus", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-BAS", + "name": "Bath and North East Somerset", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-BBD", + "name": "Blackburn with Darwen", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-BCP", + "name": "Bournemouth, Christchurch and Poole", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-BDF", + "name": "Bedford", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-BDG", + "name": "Barking and Dagenham", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-BEN", + "name": "Brent", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-BEX", + "name": "Bexley", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-BFS", + "name": "Belfast City", + "parent": "GB-NIR", + "type": "District" + }, + { + "code": "GB-BGE", + "name": "Bridgend [Pen-y-bont ar Ogwr GB-POG]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-BGW", + "name": "Blaenau Gwent", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-BIR", + "name": "Birmingham", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-BKM", + "name": "Buckinghamshire", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-BNE", + "name": "Barnet", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-BNH", + "name": "Brighton and Hove", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-BNS", + "name": "Barnsley", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-BOL", + "name": "Bolton", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-BPL", + "name": "Blackpool", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-BRC", + "name": "Bracknell Forest", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-BRD", + "name": "Bradford", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-BRY", + "name": "Bromley", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-BST", + "name": "Bristol, City of", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-BUR", + "name": "Bury", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-CAM", + "name": "Cambridgeshire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-CAY", + "name": "Caerphilly [Caerffili GB-CAF]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-CBF", + "name": "Central Bedfordshire", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-CCG", + "name": "Causeway Coast and Glens", + "parent": "GB-NIR", + "type": "District" + }, + { + "code": "GB-CGN", + "name": "Ceredigion [Sir Ceredigion]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-CHE", + "name": "Cheshire East", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-CHW", + "name": "Cheshire West and Chester", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-CLD", + "name": "Calderdale", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-CLK", + "name": "Clackmannanshire", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-CMA", + "name": "Cumbria", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-CMD", + "name": "Camden", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-CMN", + "name": "Carmarthenshire [Sir Gaerfyrddin GB-GFY]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-CON", + "name": "Cornwall", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-COV", + "name": "Coventry", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-CRF", + "name": "Cardiff [Caerdydd GB-CRD]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-CRY", + "name": "Croydon", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-CWY", + "name": "Conwy", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-DAL", + "name": "Darlington", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-DBY", + "name": "Derbyshire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-DEN", + "name": "Denbighshire [Sir Ddinbych GB-DDB]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-DER", + "name": "Derby", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-DEV", + "name": "Devon", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-DGY", + "name": "Dumfries and Galloway", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-DNC", + "name": "Doncaster", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-DND", + "name": "Dundee City", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-DOR", + "name": "Dorset", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-DRS", + "name": "Derry and Strabane", + "parent": "GB-NIR", + "type": "District" + }, + { + "code": "GB-DUD", + "name": "Dudley", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-DUR", + "name": "Durham, County", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-EAL", + "name": "Ealing", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-EAY", + "name": "East Ayrshire", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-EDH", + "name": "Edinburgh, City of", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-EDU", + "name": "East Dunbartonshire", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-ELN", + "name": "East Lothian", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-ELS", + "name": "Eilean Siar", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-ENF", + "name": "Enfield", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-ENG", + "name": "England", + "type": "Country" + }, + { + "code": "GB-ERW", + "name": "East Renfrewshire", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-ERY", + "name": "East Riding of Yorkshire", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-ESS", + "name": "Essex", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-ESX", + "name": "East Sussex", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-FAL", + "name": "Falkirk", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-FIF", + "name": "Fife", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-FLN", + "name": "Flintshire [Sir y Fflint GB-FFL]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-FMO", + "name": "Fermanagh and Omagh", + "parent": "GB-NIR", + "type": "District" + }, + { + "code": "GB-GAT", + "name": "Gateshead", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-GLG", + "name": "Glasgow City", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-GLS", + "name": "Gloucestershire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-GRE", + "name": "Greenwich", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-GWN", + "name": "Gwynedd", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-HAL", + "name": "Halton", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-HAM", + "name": "Hampshire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-HAV", + "name": "Havering", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-HCK", + "name": "Hackney", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-HEF", + "name": "Herefordshire", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-HIL", + "name": "Hillingdon", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-HLD", + "name": "Highland", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-HMF", + "name": "Hammersmith and Fulham", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-HNS", + "name": "Hounslow", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-HPL", + "name": "Hartlepool", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-HRT", + "name": "Hertfordshire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-HRW", + "name": "Harrow", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-HRY", + "name": "Haringey", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-IOS", + "name": "Isles of Scilly", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-IOW", + "name": "Isle of Wight", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-ISL", + "name": "Islington", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-IVC", + "name": "Inverclyde", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-KEC", + "name": "Kensington and Chelsea", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-KEN", + "name": "Kent", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-KHL", + "name": "Kingston upon Hull", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-KIR", + "name": "Kirklees", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-KTT", + "name": "Kingston upon Thames", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-KWL", + "name": "Knowsley", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-LAN", + "name": "Lancashire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-LBC", + "name": "Lisburn and Castlereagh", + "parent": "GB-NIR", + "type": "District" + }, + { + "code": "GB-LBH", + "name": "Lambeth", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-LCE", + "name": "Leicester", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-LDS", + "name": "Leeds", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-LEC", + "name": "Leicestershire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-LEW", + "name": "Lewisham", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-LIN", + "name": "Lincolnshire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-LIV", + "name": "Liverpool", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-LND", + "name": "London, City of", + "parent": "GB-ENG", + "type": "City corporation" + }, + { + "code": "GB-LUT", + "name": "Luton", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-MAN", + "name": "Manchester", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-MDB", + "name": "Middlesbrough", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-MDW", + "name": "Medway", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-MEA", + "name": "Mid and East Antrim", + "parent": "GB-NIR", + "type": "District" + }, + { + "code": "GB-MIK", + "name": "Milton Keynes", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-MLN", + "name": "Midlothian", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-MON", + "name": "Monmouthshire [Sir Fynwy GB-FYN]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-MRT", + "name": "Merton", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-MRY", + "name": "Moray", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-MTY", + "name": "Merthyr Tydfil [Merthyr Tudful GB-MTU]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-MUL", + "name": "Mid-Ulster", + "parent": "GB-NIR", + "type": "District" + }, + { + "code": "GB-NAY", + "name": "North Ayrshire", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-NBL", + "name": "Northumberland", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-NEL", + "name": "North East Lincolnshire", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-NET", + "name": "Newcastle upon Tyne", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-NFK", + "name": "Norfolk", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-NGM", + "name": "Nottingham", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-NIR", + "name": "Northern Ireland", + "type": "Province" + }, + { + "code": "GB-NLK", + "name": "North Lanarkshire", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-NLN", + "name": "North Lincolnshire", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-NMD", + "name": "Newry, Mourne and Down", + "parent": "GB-NIR", + "type": "District" + }, + { + "code": "GB-NNH", + "name": "North Northamptonshire", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-NSM", + "name": "North Somerset", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-NTL", + "name": "Neath Port Talbot [Castell-nedd Port Talbot GB-CTL]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-NTT", + "name": "Nottinghamshire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-NTY", + "name": "North Tyneside", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-NWM", + "name": "Newham", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-NWP", + "name": "Newport [Casnewydd GB-CNW]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-NYK", + "name": "North Yorkshire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-OLD", + "name": "Oldham", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-ORK", + "name": "Orkney Islands", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-OXF", + "name": "Oxfordshire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-PEM", + "name": "Pembrokeshire [Sir Benfro GB-BNF]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-PKN", + "name": "Perth and Kinross", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-PLY", + "name": "Plymouth", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-POR", + "name": "Portsmouth", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-POW", + "name": "Powys", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-PTE", + "name": "Peterborough", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-RCC", + "name": "Redcar and Cleveland", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-RCH", + "name": "Rochdale", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-RCT", + "name": "Rhondda Cynon Taff [Rhondda CynonTaf]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-RDB", + "name": "Redbridge", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-RDG", + "name": "Reading", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-RFW", + "name": "Renfrewshire", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-RIC", + "name": "Richmond upon Thames", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-ROT", + "name": "Rotherham", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-RUT", + "name": "Rutland", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-SAW", + "name": "Sandwell", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-SAY", + "name": "South Ayrshire", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-SCB", + "name": "Scottish Borders", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-SCT", + "name": "Scotland", + "type": "Country" + }, + { + "code": "GB-SFK", + "name": "Suffolk", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-SFT", + "name": "Sefton", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-SGC", + "name": "South Gloucestershire", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-SHF", + "name": "Sheffield", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-SHN", + "name": "St. Helens", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-SHR", + "name": "Shropshire", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-SKP", + "name": "Stockport", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-SLF", + "name": "Salford", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-SLG", + "name": "Slough", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-SLK", + "name": "South Lanarkshire", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-SND", + "name": "Sunderland", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-SOL", + "name": "Solihull", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-SOM", + "name": "Somerset", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-SOS", + "name": "Southend-on-Sea", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-SRY", + "name": "Surrey", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-STE", + "name": "Stoke-on-Trent", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-STG", + "name": "Stirling", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-STH", + "name": "Southampton", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-STN", + "name": "Sutton", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-STS", + "name": "Staffordshire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-STT", + "name": "Stockton-on-Tees", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-STY", + "name": "South Tyneside", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-SWA", + "name": "Swansea [Abertawe GB-ATA]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-SWD", + "name": "Swindon", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-SWK", + "name": "Southwark", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-TAM", + "name": "Tameside", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-TFW", + "name": "Telford and Wrekin", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-THR", + "name": "Thurrock", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-TOB", + "name": "Torbay", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-TOF", + "name": "Torfaen [Tor-faen]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-TRF", + "name": "Trafford", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-TWH", + "name": "Tower Hamlets", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-VGL", + "name": "Vale of Glamorgan, The [Bro Morgannwg GB-BMG]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-WAR", + "name": "Warwickshire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-WBK", + "name": "West Berkshire", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-WDU", + "name": "West Dunbartonshire", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-WFT", + "name": "Waltham Forest", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-WGN", + "name": "Wigan", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-WIL", + "name": "Wiltshire", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-WKF", + "name": "Wakefield", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-WLL", + "name": "Walsall", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-WLN", + "name": "West Lothian", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GB-WLS", + "name": "Wales [Cymru GB-CYM]", + "type": "Country" + }, + { + "code": "GB-WLV", + "name": "Wolverhampton", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-WND", + "name": "Wandsworth", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-WNH", + "name": "West Northamptonshire", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-WNM", + "name": "Windsor and Maidenhead", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-WOK", + "name": "Wokingham", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-WOR", + "name": "Worcestershire", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-WRL", + "name": "Wirral", + "parent": "GB-ENG", + "type": "Metropolitan district" + }, + { + "code": "GB-WRT", + "name": "Warrington", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-WRX", + "name": "Wrexham [Wrecsam GB-WRC]", + "parent": "GB-WLS", + "type": "Unitary authority" + }, + { + "code": "GB-WSM", + "name": "Westminster", + "parent": "GB-ENG", + "type": "London borough" + }, + { + "code": "GB-WSX", + "name": "West Sussex", + "parent": "GB-ENG", + "type": "Two-tier county" + }, + { + "code": "GB-YOR", + "name": "York", + "parent": "GB-ENG", + "type": "Unitary authority" + }, + { + "code": "GB-ZET", + "name": "Shetland Islands", + "parent": "GB-SCT", + "type": "Council area" + }, + { + "code": "GD-01", + "name": "Saint Andrew", + "type": "Parish" + }, + { + "code": "GD-02", + "name": "Saint David", + "type": "Parish" + }, + { + "code": "GD-03", + "name": "Saint George", + "type": "Parish" + }, + { + "code": "GD-04", + "name": "Saint John", + "type": "Parish" + }, + { + "code": "GD-05", + "name": "Saint Mark", + "type": "Parish" + }, + { + "code": "GD-06", + "name": "Saint Patrick", + "type": "Parish" + }, + { + "code": "GD-10", + "name": "Southern Grenadine Islands", + "type": "Dependency" + }, + { + "code": "GE-AB", + "name": "Abkhazia", + "type": "Autonomous republic" + }, + { + "code": "GE-AJ", + "name": "Ajaria", + "type": "Autonomous republic" + }, + { + "code": "GE-GU", + "name": "Guria", + "type": "Region" + }, + { + "code": "GE-IM", + "name": "Imereti", + "type": "Region" + }, + { + "code": "GE-KA", + "name": "K'akheti", + "type": "Region" + }, + { + "code": "GE-KK", + "name": "Kvemo Kartli", + "type": "Region" + }, + { + "code": "GE-MM", + "name": "Mtskheta-Mtianeti", + "type": "Region" + }, + { + "code": "GE-RL", + "name": "Rach'a-Lechkhumi-Kvemo Svaneti", + "type": "Region" + }, + { + "code": "GE-SJ", + "name": "Samtskhe-Javakheti", + "type": "Region" + }, + { + "code": "GE-SK", + "name": "Shida Kartli", + "type": "Region" + }, + { + "code": "GE-SZ", + "name": "Samegrelo-Zemo Svaneti", + "type": "Region" + }, + { + "code": "GE-TB", + "name": "Tbilisi", + "type": "City" + }, + { + "code": "GH-AA", + "name": "Greater Accra", + "type": "Region" + }, + { + "code": "GH-AF", + "name": "Ahafo", + "type": "Region" + }, + { + "code": "GH-AH", + "name": "Ashanti", + "type": "Region" + }, + { + "code": "GH-BE", + "name": "Bono East", + "type": "Region" + }, + { + "code": "GH-BO", + "name": "Bono", + "type": "Region" + }, + { + "code": "GH-CP", + "name": "Central", + "type": "Region" + }, + { + "code": "GH-EP", + "name": "Eastern", + "type": "Region" + }, + { + "code": "GH-NE", + "name": "North East", + "type": "Region" + }, + { + "code": "GH-NP", + "name": "Northern", + "type": "Region" + }, + { + "code": "GH-OT", + "name": "Oti", + "type": "Region" + }, + { + "code": "GH-SV", + "name": "Savannah", + "type": "Region" + }, + { + "code": "GH-TV", + "name": "Volta", + "type": "Region" + }, + { + "code": "GH-UE", + "name": "Upper East", + "type": "Region" + }, + { + "code": "GH-UW", + "name": "Upper West", + "type": "Region" + }, + { + "code": "GH-WN", + "name": "Western North", + "type": "Region" + }, + { + "code": "GH-WP", + "name": "Western", + "type": "Region" + }, + { + "code": "GL-AV", + "name": "Avannaata Kommunia", + "type": "Municipality" + }, + { + "code": "GL-KU", + "name": "Kommune Kujalleq", + "type": "Municipality" + }, + { + "code": "GL-QE", + "name": "Qeqqata Kommunia", + "type": "Municipality" + }, + { + "code": "GL-QT", + "name": "Kommune Qeqertalik", + "type": "Municipality" + }, + { + "code": "GL-SM", + "name": "Kommuneqarfik Sermersooq", + "type": "Municipality" + }, + { + "code": "GM-B", + "name": "Banjul", + "type": "City" + }, + { + "code": "GM-L", + "name": "Lower River", + "type": "Division" + }, + { + "code": "GM-M", + "name": "Central River", + "type": "Division" + }, + { + "code": "GM-N", + "name": "North Bank", + "type": "Division" + }, + { + "code": "GM-U", + "name": "Upper River", + "type": "Division" + }, + { + "code": "GM-W", + "name": "Western", + "type": "Division" + }, + { + "code": "GN-B", + "name": "Boké", + "type": "Administrative region" + }, + { + "code": "GN-BE", + "name": "Beyla", + "parent": "GN-N", + "type": "Prefecture" + }, + { + "code": "GN-BF", + "name": "Boffa", + "parent": "GN-B", + "type": "Prefecture" + }, + { + "code": "GN-BK", + "name": "Boké", + "parent": "GN-B", + "type": "Prefecture" + }, + { + "code": "GN-C", + "name": "Conakry", + "type": "Governorate" + }, + { + "code": "GN-CO", + "name": "Coyah", + "parent": "GN-D", + "type": "Prefecture" + }, + { + "code": "GN-D", + "name": "Kindia", + "type": "Administrative region" + }, + { + "code": "GN-DB", + "name": "Dabola", + "parent": "GN-F", + "type": "Prefecture" + }, + { + "code": "GN-DI", + "name": "Dinguiraye", + "parent": "GN-F", + "type": "Prefecture" + }, + { + "code": "GN-DL", + "name": "Dalaba", + "parent": "GN-M", + "type": "Prefecture" + }, + { + "code": "GN-DU", + "name": "Dubréka", + "parent": "GN-D", + "type": "Prefecture" + }, + { + "code": "GN-F", + "name": "Faranah", + "type": "Administrative region" + }, + { + "code": "GN-FA", + "name": "Faranah", + "parent": "GN-F", + "type": "Prefecture" + }, + { + "code": "GN-FO", + "name": "Forécariah", + "parent": "GN-D", + "type": "Prefecture" + }, + { + "code": "GN-FR", + "name": "Fria", + "parent": "GN-B", + "type": "Prefecture" + }, + { + "code": "GN-GA", + "name": "Gaoual", + "parent": "GN-B", + "type": "Prefecture" + }, + { + "code": "GN-GU", + "name": "Guékédou", + "parent": "GN-N", + "type": "Prefecture" + }, + { + "code": "GN-K", + "name": "Kankan", + "type": "Administrative region" + }, + { + "code": "GN-KA", + "name": "Kankan", + "parent": "GN-K", + "type": "Prefecture" + }, + { + "code": "GN-KB", + "name": "Koubia", + "parent": "GN-L", + "type": "Prefecture" + }, + { + "code": "GN-KD", + "name": "Kindia", + "parent": "GN-D", + "type": "Prefecture" + }, + { + "code": "GN-KE", + "name": "Kérouané", + "parent": "GN-K", + "type": "Prefecture" + }, + { + "code": "GN-KN", + "name": "Koundara", + "parent": "GN-B", + "type": "Prefecture" + }, + { + "code": "GN-KO", + "name": "Kouroussa", + "parent": "GN-K", + "type": "Prefecture" + }, + { + "code": "GN-KS", + "name": "Kissidougou", + "parent": "GN-F", + "type": "Prefecture" + }, + { + "code": "GN-L", + "name": "Labé", + "type": "Administrative region" + }, + { + "code": "GN-LA", + "name": "Labé", + "parent": "GN-L", + "type": "Prefecture" + }, + { + "code": "GN-LE", + "name": "Lélouma", + "parent": "GN-L", + "type": "Prefecture" + }, + { + "code": "GN-LO", + "name": "Lola", + "parent": "GN-N", + "type": "Prefecture" + }, + { + "code": "GN-M", + "name": "Mamou", + "type": "Administrative region" + }, + { + "code": "GN-MC", + "name": "Macenta", + "parent": "GN-N", + "type": "Prefecture" + }, + { + "code": "GN-MD", + "name": "Mandiana", + "parent": "GN-K", + "type": "Prefecture" + }, + { + "code": "GN-ML", + "name": "Mali", + "parent": "GN-L", + "type": "Prefecture" + }, + { + "code": "GN-MM", + "name": "Mamou", + "parent": "GN-M", + "type": "Prefecture" + }, + { + "code": "GN-N", + "name": "Nzérékoré", + "type": "Administrative region" + }, + { + "code": "GN-NZ", + "name": "Nzérékoré", + "parent": "GN-N", + "type": "Prefecture" + }, + { + "code": "GN-PI", + "name": "Pita", + "parent": "GN-M", + "type": "Prefecture" + }, + { + "code": "GN-SI", + "name": "Siguiri", + "parent": "GN-K", + "type": "Prefecture" + }, + { + "code": "GN-TE", + "name": "Télimélé", + "parent": "GN-D", + "type": "Prefecture" + }, + { + "code": "GN-TO", + "name": "Tougué", + "parent": "GN-L", + "type": "Prefecture" + }, + { + "code": "GN-YO", + "name": "Yomou", + "parent": "GN-N", + "type": "Prefecture" + }, + { + "code": "GQ-AN", + "name": "Annobon", + "parent": "GQ-I", + "type": "Province" + }, + { + "code": "GQ-BN", + "name": "Bioko Nord", + "parent": "GQ-I", + "type": "Province" + }, + { + "code": "GQ-BS", + "name": "Bioko Sud", + "parent": "GQ-I", + "type": "Province" + }, + { + "code": "GQ-C", + "name": "Région Continentale", + "type": "Region" + }, + { + "code": "GQ-CS", + "name": "Centro Sud", + "parent": "GQ-C", + "type": "Province" + }, + { + "code": "GQ-DJ", + "name": "Djibloho", + "parent": "GQ-C", + "type": "Province" + }, + { + "code": "GQ-I", + "name": "Région Insulaire", + "type": "Region" + }, + { + "code": "GQ-KN", + "name": "Kié-Ntem", + "parent": "GQ-C", + "type": "Province" + }, + { + "code": "GQ-LI", + "name": "Littoral", + "parent": "GQ-C", + "type": "Province" + }, + { + "code": "GQ-WN", + "name": "Wele-Nzas", + "parent": "GQ-C", + "type": "Province" + }, + { + "code": "GR-69", + "name": "Ágion Óros", + "type": "Self-governed part" + }, + { + "code": "GR-A", + "name": "Anatolikí Makedonía kai Thráki", + "type": "Administrative region" + }, + { + "code": "GR-B", + "name": "Kentrikí Makedonía", + "type": "Administrative region" + }, + { + "code": "GR-C", + "name": "Dytikí Makedonía", + "type": "Administrative region" + }, + { + "code": "GR-D", + "name": "Ípeiros", + "type": "Administrative region" + }, + { + "code": "GR-E", + "name": "Thessalía", + "type": "Administrative region" + }, + { + "code": "GR-F", + "name": "Ionía Nísia", + "type": "Administrative region" + }, + { + "code": "GR-G", + "name": "Dytikí Elláda", + "type": "Administrative region" + }, + { + "code": "GR-H", + "name": "Stereá Elláda", + "type": "Administrative region" + }, + { + "code": "GR-I", + "name": "Attikí", + "type": "Administrative region" + }, + { + "code": "GR-J", + "name": "Pelopónnisos", + "type": "Administrative region" + }, + { + "code": "GR-K", + "name": "Vóreio Aigaío", + "type": "Administrative region" + }, + { + "code": "GR-L", + "name": "Nótio Aigaío", + "type": "Administrative region" + }, + { + "code": "GR-M", + "name": "Kríti", + "type": "Administrative region" + }, + { + "code": "GT-01", + "name": "Guatemala", + "type": "Department" + }, + { + "code": "GT-02", + "name": "El Progreso", + "type": "Department" + }, + { + "code": "GT-03", + "name": "Sacatepéquez", + "type": "Department" + }, + { + "code": "GT-04", + "name": "Chimaltenango", + "type": "Department" + }, + { + "code": "GT-05", + "name": "Escuintla", + "type": "Department" + }, + { + "code": "GT-06", + "name": "Santa Rosa", + "type": "Department" + }, + { + "code": "GT-07", + "name": "Sololá", + "type": "Department" + }, + { + "code": "GT-08", + "name": "Totonicapán", + "type": "Department" + }, + { + "code": "GT-09", + "name": "Quetzaltenango", + "type": "Department" + }, + { + "code": "GT-10", + "name": "Suchitepéquez", + "type": "Department" + }, + { + "code": "GT-11", + "name": "Retalhuleu", + "type": "Department" + }, + { + "code": "GT-12", + "name": "San Marcos", + "type": "Department" + }, + { + "code": "GT-13", + "name": "Huehuetenango", + "type": "Department" + }, + { + "code": "GT-14", + "name": "Quiché", + "type": "Department" + }, + { + "code": "GT-15", + "name": "Baja Verapaz", + "type": "Department" + }, + { + "code": "GT-16", + "name": "Alta Verapaz", + "type": "Department" + }, + { + "code": "GT-17", + "name": "Petén", + "type": "Department" + }, + { + "code": "GT-18", + "name": "Izabal", + "type": "Department" + }, + { + "code": "GT-19", + "name": "Zacapa", + "type": "Department" + }, + { + "code": "GT-20", + "name": "Chiquimula", + "type": "Department" + }, + { + "code": "GT-21", + "name": "Jalapa", + "type": "Department" + }, + { + "code": "GT-22", + "name": "Jutiapa", + "type": "Department" + }, + { + "code": "GW-BA", + "name": "Bafatá", + "parent": "GW-L", + "type": "Region" + }, + { + "code": "GW-BL", + "name": "Bolama / Bijagós", + "parent": "GW-S", + "type": "Region" + }, + { + "code": "GW-BM", + "name": "Biombo", + "parent": "GW-N", + "type": "Region" + }, + { + "code": "GW-BS", + "name": "Bissau", + "type": "Autonomous sector" + }, + { + "code": "GW-CA", + "name": "Cacheu", + "parent": "GW-N", + "type": "Region" + }, + { + "code": "GW-GA", + "name": "Gabú", + "parent": "GW-L", + "type": "Region" + }, + { + "code": "GW-L", + "name": "Leste", + "type": "Province" + }, + { + "code": "GW-N", + "name": "Norte", + "type": "Province" + }, + { + "code": "GW-OI", + "name": "Oio", + "parent": "GW-N", + "type": "Region" + }, + { + "code": "GW-QU", + "name": "Quinara", + "parent": "GW-S", + "type": "Region" + }, + { + "code": "GW-S", + "name": "Sul", + "type": "Province" + }, + { + "code": "GW-TO", + "name": "Tombali", + "parent": "GW-S", + "type": "Region" + }, + { + "code": "GY-BA", + "name": "Barima-Waini", + "type": "Region" + }, + { + "code": "GY-CU", + "name": "Cuyuni-Mazaruni", + "type": "Region" + }, + { + "code": "GY-DE", + "name": "Demerara-Mahaica", + "type": "Region" + }, + { + "code": "GY-EB", + "name": "East Berbice-Corentyne", + "type": "Region" + }, + { + "code": "GY-ES", + "name": "Essequibo Islands-West Demerara", + "type": "Region" + }, + { + "code": "GY-MA", + "name": "Mahaica-Berbice", + "type": "Region" + }, + { + "code": "GY-PM", + "name": "Pomeroon-Supenaam", + "type": "Region" + }, + { + "code": "GY-PT", + "name": "Potaro-Siparuni", + "type": "Region" + }, + { + "code": "GY-UD", + "name": "Upper Demerara-Berbice", + "type": "Region" + }, + { + "code": "GY-UT", + "name": "Upper Takutu-Upper Essequibo", + "type": "Region" + }, + { + "code": "HN-AT", + "name": "Atlántida", + "type": "Department" + }, + { + "code": "HN-CH", + "name": "Choluteca", + "type": "Department" + }, + { + "code": "HN-CL", + "name": "Colón", + "type": "Department" + }, + { + "code": "HN-CM", + "name": "Comayagua", + "type": "Department" + }, + { + "code": "HN-CP", + "name": "Copán", + "type": "Department" + }, + { + "code": "HN-CR", + "name": "Cortés", + "type": "Department" + }, + { + "code": "HN-EP", + "name": "El Paraíso", + "type": "Department" + }, + { + "code": "HN-FM", + "name": "Francisco Morazán", + "type": "Department" + }, + { + "code": "HN-GD", + "name": "Gracias a Dios", + "type": "Department" + }, + { + "code": "HN-IB", + "name": "Islas de la Bahía", + "type": "Department" + }, + { + "code": "HN-IN", + "name": "Intibucá", + "type": "Department" + }, + { + "code": "HN-LE", + "name": "Lempira", + "type": "Department" + }, + { + "code": "HN-LP", + "name": "La Paz", + "type": "Department" + }, + { + "code": "HN-OC", + "name": "Ocotepeque", + "type": "Department" + }, + { + "code": "HN-OL", + "name": "Olancho", + "type": "Department" + }, + { + "code": "HN-SB", + "name": "Santa Bárbara", + "type": "Department" + }, + { + "code": "HN-VA", + "name": "Valle", + "type": "Department" + }, + { + "code": "HN-YO", + "name": "Yoro", + "type": "Department" + }, + { + "code": "HR-01", + "name": "Zagrebačka županija", + "type": "County" + }, + { + "code": "HR-02", + "name": "Krapinsko-zagorska županija", + "type": "County" + }, + { + "code": "HR-03", + "name": "Sisačko-moslavačka županija", + "type": "County" + }, + { + "code": "HR-04", + "name": "Karlovačka županija", + "type": "County" + }, + { + "code": "HR-05", + "name": "Varaždinska županija", + "type": "County" + }, + { + "code": "HR-06", + "name": "Koprivničko-križevačka županija", + "type": "County" + }, + { + "code": "HR-07", + "name": "Bjelovarsko-bilogorska županija", + "type": "County" + }, + { + "code": "HR-08", + "name": "Primorsko-goranska županija", + "type": "County" + }, + { + "code": "HR-09", + "name": "Ličko-senjska županija", + "type": "County" + }, + { + "code": "HR-10", + "name": "Virovitičko-podravska županija", + "type": "County" + }, + { + "code": "HR-11", + "name": "Požeško-slavonska županija", + "type": "County" + }, + { + "code": "HR-12", + "name": "Brodsko-posavska županija", + "type": "County" + }, + { + "code": "HR-13", + "name": "Zadarska županija", + "type": "County" + }, + { + "code": "HR-14", + "name": "Osječko-baranjska županija", + "type": "County" + }, + { + "code": "HR-15", + "name": "Šibensko-kninska županija", + "type": "County" + }, + { + "code": "HR-16", + "name": "Vukovarsko-srijemska županija", + "type": "County" + }, + { + "code": "HR-17", + "name": "Splitsko-dalmatinska županija", + "type": "County" + }, + { + "code": "HR-18", + "name": "Istarska županija", + "type": "County" + }, + { + "code": "HR-19", + "name": "Dubrovačko-neretvanska županija", + "type": "County" + }, + { + "code": "HR-20", + "name": "Međimurska županija", + "type": "County" + }, + { + "code": "HR-21", + "name": "Grad Zagreb", + "type": "City" + }, + { + "code": "HT-AR", + "name": "Artibonite", + "type": "Department" + }, + { + "code": "HT-CE", + "name": "Centre", + "type": "Department" + }, + { + "code": "HT-GA", + "name": "Grande’Anse", + "type": "Department" + }, + { + "code": "HT-ND", + "name": "Nord", + "type": "Department" + }, + { + "code": "HT-NE", + "name": "Nord-Est", + "type": "Department" + }, + { + "code": "HT-NI", + "name": "Nippes", + "type": "Department" + }, + { + "code": "HT-NO", + "name": "Nord-Ouest", + "type": "Department" + }, + { + "code": "HT-OU", + "name": "Ouest", + "type": "Department" + }, + { + "code": "HT-SD", + "name": "Sud", + "type": "Department" + }, + { + "code": "HT-SE", + "name": "Sud-Est", + "type": "Department" + }, + { + "code": "HU-BA", + "name": "Baranya", + "type": "County" + }, + { + "code": "HU-BC", + "name": "Békéscsaba", + "type": "City with county rights" + }, + { + "code": "HU-BE", + "name": "Békés", + "type": "County" + }, + { + "code": "HU-BK", + "name": "Bács-Kiskun", + "type": "County" + }, + { + "code": "HU-BU", + "name": "Budapest", + "type": "Capital city" + }, + { + "code": "HU-BZ", + "name": "Borsod-Abaúj-Zemplén", + "type": "County" + }, + { + "code": "HU-CS", + "name": "Csongrád-Csanád", + "type": "County" + }, + { + "code": "HU-DE", + "name": "Debrecen", + "type": "City with county rights" + }, + { + "code": "HU-DU", + "name": "Dunaújváros", + "type": "City with county rights" + }, + { + "code": "HU-EG", + "name": "Eger", + "type": "City with county rights" + }, + { + "code": "HU-ER", + "name": "Érd", + "type": "City with county rights" + }, + { + "code": "HU-FE", + "name": "Fejér", + "type": "County" + }, + { + "code": "HU-GS", + "name": "Győr-Moson-Sopron", + "type": "County" + }, + { + "code": "HU-GY", + "name": "Győr", + "type": "City with county rights" + }, + { + "code": "HU-HB", + "name": "Hajdú-Bihar", + "type": "County" + }, + { + "code": "HU-HE", + "name": "Heves", + "type": "County" + }, + { + "code": "HU-HV", + "name": "Hódmezővásárhely", + "type": "City with county rights" + }, + { + "code": "HU-JN", + "name": "Jász-Nagykun-Szolnok", + "type": "County" + }, + { + "code": "HU-KE", + "name": "Komárom-Esztergom", + "type": "County" + }, + { + "code": "HU-KM", + "name": "Kecskemét", + "type": "City with county rights" + }, + { + "code": "HU-KV", + "name": "Kaposvár", + "type": "City with county rights" + }, + { + "code": "HU-MI", + "name": "Miskolc", + "type": "City with county rights" + }, + { + "code": "HU-NK", + "name": "Nagykanizsa", + "type": "City with county rights" + }, + { + "code": "HU-NO", + "name": "Nógrád", + "type": "County" + }, + { + "code": "HU-NY", + "name": "Nyíregyháza", + "type": "City with county rights" + }, + { + "code": "HU-PE", + "name": "Pest", + "type": "County" + }, + { + "code": "HU-PS", + "name": "Pécs", + "type": "City with county rights" + }, + { + "code": "HU-SD", + "name": "Szeged", + "type": "City with county rights" + }, + { + "code": "HU-SF", + "name": "Székesfehérvár", + "type": "City with county rights" + }, + { + "code": "HU-SH", + "name": "Szombathely", + "type": "City with county rights" + }, + { + "code": "HU-SK", + "name": "Szolnok", + "type": "City with county rights" + }, + { + "code": "HU-SN", + "name": "Sopron", + "type": "City with county rights" + }, + { + "code": "HU-SO", + "name": "Somogy", + "type": "County" + }, + { + "code": "HU-SS", + "name": "Szekszárd", + "type": "City with county rights" + }, + { + "code": "HU-ST", + "name": "Salgótarján", + "type": "City with county rights" + }, + { + "code": "HU-SZ", + "name": "Szabolcs-Szatmár-Bereg", + "type": "County" + }, + { + "code": "HU-TB", + "name": "Tatabánya", + "type": "City with county rights" + }, + { + "code": "HU-TO", + "name": "Tolna", + "type": "County" + }, + { + "code": "HU-VA", + "name": "Vas", + "type": "County" + }, + { + "code": "HU-VE", + "name": "Veszprém", + "type": "County" + }, + { + "code": "HU-VM", + "name": "Veszprém", + "type": "City with county rights" + }, + { + "code": "HU-ZA", + "name": "Zala", + "type": "County" + }, + { + "code": "HU-ZE", + "name": "Zalaegerszeg", + "type": "City with county rights" + }, + { + "code": "ID-AC", + "name": "Aceh", + "parent": "ID-SM", + "type": "Province" + }, + { + "code": "ID-BA", + "name": "Bali", + "parent": "ID-NU", + "type": "Province" + }, + { + "code": "ID-BB", + "name": "Kepulauan Bangka Belitung", + "parent": "ID-SM", + "type": "Province" + }, + { + "code": "ID-BE", + "name": "Bengkulu", + "parent": "ID-SM", + "type": "Province" + }, + { + "code": "ID-BT", + "name": "Banten", + "parent": "ID-JW", + "type": "Province" + }, + { + "code": "ID-GO", + "name": "Gorontalo", + "parent": "ID-SL", + "type": "Province" + }, + { + "code": "ID-JA", + "name": "Jambi", + "parent": "ID-SM", + "type": "Province" + }, + { + "code": "ID-JB", + "name": "Jawa Barat", + "parent": "ID-JW", + "type": "Province" + }, + { + "code": "ID-JI", + "name": "Jawa Timur", + "parent": "ID-JW", + "type": "Province" + }, + { + "code": "ID-JK", + "name": "Jakarta Raya", + "parent": "ID-JW", + "type": "Capital district" + }, + { + "code": "ID-JT", + "name": "Jawa Tengah", + "parent": "ID-JW", + "type": "Province" + }, + { + "code": "ID-JW", + "name": "Jawa", + "type": "Geographical unit" + }, + { + "code": "ID-KA", + "name": "Kalimantan", + "type": "Geographical unit" + }, + { + "code": "ID-KB", + "name": "Kalimantan Barat", + "parent": "ID-KA", + "type": "Province" + }, + { + "code": "ID-KI", + "name": "Kalimantan Timur", + "parent": "ID-KA", + "type": "Province" + }, + { + "code": "ID-KR", + "name": "Kepulauan Riau", + "parent": "ID-SM", + "type": "Province" + }, + { + "code": "ID-KS", + "name": "Kalimantan Selatan", + "parent": "ID-KA", + "type": "Province" + }, + { + "code": "ID-KT", + "name": "Kalimantan Tengah", + "parent": "ID-KA", + "type": "Province" + }, + { + "code": "ID-KU", + "name": "Kalimantan Utara", + "parent": "ID-KA", + "type": "Province" + }, + { + "code": "ID-LA", + "name": "Lampung", + "parent": "ID-SM", + "type": "Province" + }, + { + "code": "ID-MA", + "name": "Maluku", + "parent": "ID-ML", + "type": "Province" + }, + { + "code": "ID-ML", + "name": "Maluku", + "type": "Geographical unit" + }, + { + "code": "ID-MU", + "name": "Maluku Utara", + "parent": "ID-ML", + "type": "Province" + }, + { + "code": "ID-NB", + "name": "Nusa Tenggara Barat", + "parent": "ID-NU", + "type": "Province" + }, + { + "code": "ID-NT", + "name": "Nusa Tenggara Timur", + "parent": "ID-NU", + "type": "Province" + }, + { + "code": "ID-NU", + "name": "Nusa Tenggara", + "type": "Geographical unit" + }, + { + "code": "ID-PA", + "name": "Papua", + "parent": "ID-PP", + "type": "Province" + }, + { + "code": "ID-PB", + "name": "Papua Barat", + "parent": "ID-PP", + "type": "Province" + }, + { + "code": "ID-PD", + "name": "Papua Barat Daya", + "parent": "ID-PP", + "type": "Province" + }, + { + "code": "ID-PE", + "name": "Papua Pengunungan", + "parent": "ID-PP", + "type": "Province" + }, + { + "code": "ID-PP", + "name": "Papua", + "type": "Geographical unit" + }, + { + "code": "ID-PS", + "name": "Papua Selatan", + "parent": "ID-PP", + "type": "Province" + }, + { + "code": "ID-PT", + "name": "Papua Tengah", + "parent": "ID-PP", + "type": "Province" + }, + { + "code": "ID-RI", + "name": "Riau", + "parent": "ID-SM", + "type": "Province" + }, + { + "code": "ID-SA", + "name": "Sulawesi Utara", + "parent": "ID-SL", + "type": "Province" + }, + { + "code": "ID-SB", + "name": "Sumatera Barat", + "parent": "ID-SM", + "type": "Province" + }, + { + "code": "ID-SG", + "name": "Sulawesi Tenggara", + "parent": "ID-SL", + "type": "Province" + }, + { + "code": "ID-SL", + "name": "Sulawesi", + "type": "Geographical unit" + }, + { + "code": "ID-SM", + "name": "Sumatera", + "type": "Geographical unit" + }, + { + "code": "ID-SN", + "name": "Sulawesi Selatan", + "parent": "ID-SL", + "type": "Province" + }, + { + "code": "ID-SR", + "name": "Sulawesi Barat", + "parent": "ID-SL", + "type": "Province" + }, + { + "code": "ID-SS", + "name": "Sumatera Selatan", + "parent": "ID-SM", + "type": "Province" + }, + { + "code": "ID-ST", + "name": "Sulawesi Tengah", + "parent": "ID-SL", + "type": "Province" + }, + { + "code": "ID-SU", + "name": "Sumatera Utara", + "parent": "ID-SM", + "type": "Province" + }, + { + "code": "ID-YO", + "name": "Yogyakarta", + "parent": "ID-JW", + "type": "Special region" + }, + { + "code": "IE-C", + "name": "Connaught", + "type": "Province" + }, + { + "code": "IE-CE", + "name": "Clare", + "parent": "IE-M", + "type": "County" + }, + { + "code": "IE-CN", + "name": "Cavan", + "parent": "IE-U", + "type": "County" + }, + { + "code": "IE-CO", + "name": "Cork", + "parent": "IE-M", + "type": "County" + }, + { + "code": "IE-CW", + "name": "Carlow", + "parent": "IE-L", + "type": "County" + }, + { + "code": "IE-D", + "name": "Dublin", + "parent": "IE-L", + "type": "County" + }, + { + "code": "IE-DL", + "name": "Donegal", + "parent": "IE-U", + "type": "County" + }, + { + "code": "IE-G", + "name": "Galway", + "parent": "IE-C", + "type": "County" + }, + { + "code": "IE-KE", + "name": "Kildare", + "parent": "IE-L", + "type": "County" + }, + { + "code": "IE-KK", + "name": "Kilkenny", + "parent": "IE-L", + "type": "County" + }, + { + "code": "IE-KY", + "name": "Kerry", + "parent": "IE-M", + "type": "County" + }, + { + "code": "IE-L", + "name": "Leinster", + "type": "Province" + }, + { + "code": "IE-LD", + "name": "Longford", + "parent": "IE-L", + "type": "County" + }, + { + "code": "IE-LH", + "name": "Louth", + "parent": "IE-L", + "type": "County" + }, + { + "code": "IE-LK", + "name": "Limerick", + "parent": "IE-M", + "type": "County" + }, + { + "code": "IE-LM", + "name": "Leitrim", + "parent": "IE-C", + "type": "County" + }, + { + "code": "IE-LS", + "name": "Laois", + "parent": "IE-L", + "type": "County" + }, + { + "code": "IE-M", + "name": "Munster", + "type": "Province" + }, + { + "code": "IE-MH", + "name": "Meath", + "parent": "IE-L", + "type": "County" + }, + { + "code": "IE-MN", + "name": "Monaghan", + "parent": "IE-U", + "type": "County" + }, + { + "code": "IE-MO", + "name": "Mayo", + "parent": "IE-C", + "type": "County" + }, + { + "code": "IE-OY", + "name": "Offaly", + "parent": "IE-L", + "type": "County" + }, + { + "code": "IE-RN", + "name": "Roscommon", + "parent": "IE-C", + "type": "County" + }, + { + "code": "IE-SO", + "name": "Sligo", + "parent": "IE-C", + "type": "County" + }, + { + "code": "IE-TA", + "name": "Tipperary", + "parent": "IE-M", + "type": "County" + }, + { + "code": "IE-U", + "name": "Ulster", + "type": "Province" + }, + { + "code": "IE-WD", + "name": "Waterford", + "parent": "IE-M", + "type": "County" + }, + { + "code": "IE-WH", + "name": "Westmeath", + "parent": "IE-L", + "type": "County" + }, + { + "code": "IE-WW", + "name": "Wicklow", + "parent": "IE-L", + "type": "County" + }, + { + "code": "IE-WX", + "name": "Wexford", + "parent": "IE-L", + "type": "County" + }, + { + "code": "IL-D", + "name": "Al Janūbī", + "type": "District" + }, + { + "code": "IL-HA", + "name": "H̱efa", + "type": "District" + }, + { + "code": "IL-JM", + "name": "Al Quds", + "type": "District" + }, + { + "code": "IL-M", + "name": "Al Awsaţ", + "type": "District" + }, + { + "code": "IL-TA", + "name": "Tall Abīb", + "type": "District" + }, + { + "code": "IL-Z", + "name": "Ash Shamālī", + "type": "District" + }, + { + "code": "IN-AN", + "name": "Andaman and Nicobar Islands", + "type": "Union territory" + }, + { + "code": "IN-AP", + "name": "Andhra Pradesh", + "type": "State" + }, + { + "code": "IN-AR", + "name": "Arunāchal Pradesh", + "type": "State" + }, + { + "code": "IN-AS", + "name": "Assam", + "type": "State" + }, + { + "code": "IN-BR", + "name": "Bihār", + "type": "State" + }, + { + "code": "IN-CG", + "name": "Chhattīsgarh", + "type": "State" + }, + { + "code": "IN-CH", + "name": "Chandīgarh", + "type": "Union territory" + }, + { + "code": "IN-DH", + "name": "Dādra and Nagar Haveli and Damān and Diu", + "type": "Union territory" + }, + { + "code": "IN-DL", + "name": "Delhi", + "type": "Union territory" + }, + { + "code": "IN-GA", + "name": "Goa", + "type": "State" + }, + { + "code": "IN-GJ", + "name": "Gujarāt", + "type": "State" + }, + { + "code": "IN-HP", + "name": "Himāchal Pradesh", + "type": "State" + }, + { + "code": "IN-HR", + "name": "Haryāna", + "type": "State" + }, + { + "code": "IN-JH", + "name": "Jhārkhand", + "type": "State" + }, + { + "code": "IN-JK", + "name": "Jammu and Kashmīr", + "type": "Union territory" + }, + { + "code": "IN-KA", + "name": "Karnātaka", + "type": "State" + }, + { + "code": "IN-KL", + "name": "Kerala", + "type": "State" + }, + { + "code": "IN-LA", + "name": "Ladākh", + "type": "Union territory" + }, + { + "code": "IN-LD", + "name": "Lakshadweep", + "type": "Union territory" + }, + { + "code": "IN-MH", + "name": "Mahārāshtra", + "type": "State" + }, + { + "code": "IN-ML", + "name": "Meghālaya", + "type": "State" + }, + { + "code": "IN-MN", + "name": "Manipur", + "type": "State" + }, + { + "code": "IN-MP", + "name": "Madhya Pradesh", + "type": "State" + }, + { + "code": "IN-MZ", + "name": "Mizoram", + "type": "State" + }, + { + "code": "IN-NL", + "name": "Nāgāland", + "type": "State" + }, + { + "code": "IN-OD", + "name": "Odisha", + "type": "State" + }, + { + "code": "IN-PB", + "name": "Punjab", + "type": "State" + }, + { + "code": "IN-PY", + "name": "Puducherry", + "type": "Union territory" + }, + { + "code": "IN-RJ", + "name": "Rājasthān", + "type": "State" + }, + { + "code": "IN-SK", + "name": "Sikkim", + "type": "State" + }, + { + "code": "IN-TN", + "name": "Tamil Nādu", + "type": "State" + }, + { + "code": "IN-TR", + "name": "Tripura", + "type": "State" + }, + { + "code": "IN-TS", + "name": "Telangāna", + "type": "State" + }, + { + "code": "IN-UK", + "name": "Uttarākhand", + "type": "State" + }, + { + "code": "IN-UP", + "name": "Uttar Pradesh", + "type": "State" + }, + { + "code": "IN-WB", + "name": "West Bengal", + "type": "State" + }, + { + "code": "IQ-AN", + "name": "Al Anbār", + "type": "Governorate" + }, + { + "code": "IQ-AR", + "name": "Arbīl", + "parent": "IQ-KR", + "type": "Governorate" + }, + { + "code": "IQ-BA", + "name": "Al Başrah", + "type": "Governorate" + }, + { + "code": "IQ-BB", + "name": "Bābil", + "type": "Governorate" + }, + { + "code": "IQ-BG", + "name": "Baghdād", + "type": "Governorate" + }, + { + "code": "IQ-DA", + "name": "Dahūk", + "parent": "IQ-KR", + "type": "Governorate" + }, + { + "code": "IQ-DI", + "name": "Diyālá", + "type": "Governorate" + }, + { + "code": "IQ-DQ", + "name": "Dhī Qār", + "type": "Governorate" + }, + { + "code": "IQ-KA", + "name": "Karbalā’", + "type": "Governorate" + }, + { + "code": "IQ-KI", + "name": "Kirkūk", + "type": "Governorate" + }, + { + "code": "IQ-KR", + "name": "Herêm-î Kurdistan", + "type": "Region" + }, + { + "code": "IQ-MA", + "name": "Maysān", + "type": "Governorate" + }, + { + "code": "IQ-MU", + "name": "Al Muthanná", + "type": "Governorate" + }, + { + "code": "IQ-NA", + "name": "An Najaf", + "type": "Governorate" + }, + { + "code": "IQ-NI", + "name": "Nīnawá", + "type": "Governorate" + }, + { + "code": "IQ-QA", + "name": "Al Qādisīyah", + "type": "Governorate" + }, + { + "code": "IQ-SD", + "name": "Şalāḩ ad Dīn", + "type": "Governorate" + }, + { + "code": "IQ-SU", + "name": "As Sulaymānīyah", + "parent": "IQ-KR", + "type": "Governorate" + }, + { + "code": "IQ-WA", + "name": "Wāsiţ", + "type": "Governorate" + }, + { + "code": "IR-00", + "name": "Markazī", + "type": "Province" + }, + { + "code": "IR-01", + "name": "Gīlān", + "type": "Province" + }, + { + "code": "IR-02", + "name": "Māzandarān", + "type": "Province" + }, + { + "code": "IR-03", + "name": "Āz̄ārbāyjān-e Shārqī", + "type": "Province" + }, + { + "code": "IR-04", + "name": "Āz̄ārbāyjān-e Ghārbī", + "type": "Province" + }, + { + "code": "IR-05", + "name": "Kermānshāh", + "type": "Province" + }, + { + "code": "IR-06", + "name": "Khūzestān", + "type": "Province" + }, + { + "code": "IR-07", + "name": "Fārs", + "type": "Province" + }, + { + "code": "IR-08", + "name": "Kermān", + "type": "Province" + }, + { + "code": "IR-09", + "name": "Khorāsān-e Raẕavī", + "type": "Province" + }, + { + "code": "IR-10", + "name": "Eşfahān", + "type": "Province" + }, + { + "code": "IR-11", + "name": "Sīstān va Balūchestān", + "type": "Province" + }, + { + "code": "IR-12", + "name": "Kordestān", + "type": "Province" + }, + { + "code": "IR-13", + "name": "Hamadān", + "type": "Province" + }, + { + "code": "IR-14", + "name": "Chahār Maḩāl va Bakhtīārī", + "type": "Province" + }, + { + "code": "IR-15", + "name": "Lorestān", + "type": "Province" + }, + { + "code": "IR-16", + "name": "Īlām", + "type": "Province" + }, + { + "code": "IR-17", + "name": "Kohgīlūyeh va Bowyer Aḩmad", + "type": "Province" + }, + { + "code": "IR-18", + "name": "Būshehr", + "type": "Province" + }, + { + "code": "IR-19", + "name": "Zanjān", + "type": "Province" + }, + { + "code": "IR-20", + "name": "Semnān", + "type": "Province" + }, + { + "code": "IR-21", + "name": "Yazd", + "type": "Province" + }, + { + "code": "IR-22", + "name": "Hormozgān", + "type": "Province" + }, + { + "code": "IR-23", + "name": "Tehrān", + "type": "Province" + }, + { + "code": "IR-24", + "name": "Ardabīl", + "type": "Province" + }, + { + "code": "IR-25", + "name": "Qom", + "type": "Province" + }, + { + "code": "IR-26", + "name": "Qazvīn", + "type": "Province" + }, + { + "code": "IR-27", + "name": "Golestān", + "type": "Province" + }, + { + "code": "IR-28", + "name": "Khorāsān-e Shomālī", + "type": "Province" + }, + { + "code": "IR-29", + "name": "Khorāsān-e Jonūbī", + "type": "Province" + }, + { + "code": "IR-30", + "name": "Alborz", + "type": "Province" + }, + { + "code": "IS-1", + "name": "Höfuðborgarsvæði", + "type": "Region" + }, + { + "code": "IS-2", + "name": "Suðurnes", + "type": "Region" + }, + { + "code": "IS-3", + "name": "Vesturland", + "type": "Region" + }, + { + "code": "IS-4", + "name": "Vestfirðir", + "type": "Region" + }, + { + "code": "IS-5", + "name": "Norðurland vestra", + "type": "Region" + }, + { + "code": "IS-6", + "name": "Norðurland eystra", + "type": "Region" + }, + { + "code": "IS-7", + "name": "Austurland", + "type": "Region" + }, + { + "code": "IS-8", + "name": "Suðurland", + "type": "Region" + }, + { + "code": "IS-AKN", + "name": "Akraneskaupstaður", + "parent": "IS-3", + "type": "Municipality" + }, + { + "code": "IS-AKU", + "name": "Akureyrarbær", + "parent": "IS-6", + "type": "Municipality" + }, + { + "code": "IS-ARN", + "name": "Árneshreppur", + "parent": "IS-4", + "type": "Municipality" + }, + { + "code": "IS-ASA", + "name": "Ásahreppur", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-BLA", + "name": "Bláskógabyggð", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-BOG", + "name": "Borgarbyggð", + "parent": "IS-3", + "type": "Municipality" + }, + { + "code": "IS-BOL", + "name": "Bolungarvíkurkaupstaður", + "parent": "IS-4", + "type": "Municipality" + }, + { + "code": "IS-DAB", + "name": "Dalabyggð", + "parent": "IS-3", + "type": "Municipality" + }, + { + "code": "IS-DAV", + "name": "Dalvíkurbyggð", + "parent": "IS-6", + "type": "Municipality" + }, + { + "code": "IS-EOM", + "name": "Eyja- og Miklaholtshreppur", + "parent": "IS-3", + "type": "Municipality" + }, + { + "code": "IS-EYF", + "name": "Eyjafjarðarsveit", + "parent": "IS-6", + "type": "Municipality" + }, + { + "code": "IS-FJD", + "name": "Fjarðabyggð", + "parent": "IS-7", + "type": "Municipality" + }, + { + "code": "IS-FJL", + "name": "Fjallabyggð", + "parent": "IS-6", + "type": "Municipality" + }, + { + "code": "IS-FLA", + "name": "Flóahreppur", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-FLR", + "name": "Fljótsdalshreppur", + "parent": "IS-7", + "type": "Municipality" + }, + { + "code": "IS-GAR", + "name": "Garðabær", + "parent": "IS-1", + "type": "Municipality" + }, + { + "code": "IS-GOG", + "name": "Grímsnes- og Grafningshreppur", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-GRN", + "name": "Grindavíkurbær", + "parent": "IS-2", + "type": "Municipality" + }, + { + "code": "IS-GRU", + "name": "Grundarfjarðarbær", + "parent": "IS-3", + "type": "Municipality" + }, + { + "code": "IS-GRY", + "name": "Grýtubakkahreppur", + "parent": "IS-6", + "type": "Municipality" + }, + { + "code": "IS-HAF", + "name": "Hafnarfjarðarkaupstaður", + "parent": "IS-1", + "type": "Municipality" + }, + { + "code": "IS-HRG", + "name": "Hörgársveit", + "parent": "IS-6", + "type": "Municipality" + }, + { + "code": "IS-HRU", + "name": "Hrunamannahreppur", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-HUG", + "name": "Húnabyggð", + "parent": "IS-5", + "type": "Municipality" + }, + { + "code": "IS-HUV", + "name": "Húnaþing vestra", + "parent": "IS-5", + "type": "Municipality" + }, + { + "code": "IS-HVA", + "name": "Hvalfjarðarsveit", + "parent": "IS-3", + "type": "Municipality" + }, + { + "code": "IS-HVE", + "name": "Hveragerðisbær", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-ISA", + "name": "Ísafjarðarbær", + "parent": "IS-4", + "type": "Municipality" + }, + { + "code": "IS-KAL", + "name": "Kaldrananeshreppur", + "parent": "IS-4", + "type": "Municipality" + }, + { + "code": "IS-KJO", + "name": "Kjósarhreppur", + "parent": "IS-1", + "type": "Municipality" + }, + { + "code": "IS-KOP", + "name": "Kópavogsbær", + "parent": "IS-1", + "type": "Municipality" + }, + { + "code": "IS-LAN", + "name": "Langanesbyggð", + "parent": "IS-6", + "type": "Municipality" + }, + { + "code": "IS-MOS", + "name": "Mosfellsbær", + "parent": "IS-1", + "type": "Municipality" + }, + { + "code": "IS-MUL", + "name": "Múlaþing", + "parent": "IS-7", + "type": "Municipality" + }, + { + "code": "IS-MYR", + "name": "Mýrdalshreppur", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-NOR", + "name": "Norðurþing", + "parent": "IS-6", + "type": "Municipality" + }, + { + "code": "IS-RGE", + "name": "Rangárþing eystra", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-RGY", + "name": "Rangárþing ytra", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-RHH", + "name": "Reykhólahreppur", + "parent": "IS-4", + "type": "Municipality" + }, + { + "code": "IS-RKN", + "name": "Reykjanesbær", + "parent": "IS-2", + "type": "Municipality" + }, + { + "code": "IS-RKV", + "name": "Reykjavíkurborg", + "parent": "IS-1", + "type": "Municipality" + }, + { + "code": "IS-SBT", + "name": "Svalbarðsstrandarhreppur", + "parent": "IS-6", + "type": "Municipality" + }, + { + "code": "IS-SDN", + "name": "Suðurnesjabær", + "parent": "IS-2", + "type": "Municipality" + }, + { + "code": "IS-SDV", + "name": "Súðavíkurhreppur", + "parent": "IS-4", + "type": "Municipality" + }, + { + "code": "IS-SEL", + "name": "Seltjarnarnesbær", + "parent": "IS-1", + "type": "Municipality" + }, + { + "code": "IS-SFA", + "name": "Sveitarfélagið Árborg", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-SHF", + "name": "Sveitarfélagið Hornafjörður", + "parent": "IS-7", + "type": "Municipality" + }, + { + "code": "IS-SKF", + "name": "Skaftárhreppur", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-SKG", + "name": "Skagabyggð", + "parent": "IS-5", + "type": "Municipality" + }, + { + "code": "IS-SKO", + "name": "Skorradalshreppur", + "parent": "IS-3", + "type": "Municipality" + }, + { + "code": "IS-SKR", + "name": "Skagafjörður", + "parent": "IS-5", + "type": "Municipality" + }, + { + "code": "IS-SNF", + "name": "Snæfellsbær", + "parent": "IS-3", + "type": "Municipality" + }, + { + "code": "IS-SOG", + "name": "Skeiða- og Gnúpverjahreppur", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-SOL", + "name": "Sveitarfélagið Ölfus", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-SSS", + "name": "Sveitarfélagið Skagaströnd", + "parent": "IS-5", + "type": "Municipality" + }, + { + "code": "IS-STR", + "name": "Strandabyggð", + "parent": "IS-4", + "type": "Municipality" + }, + { + "code": "IS-STY", + "name": "Stykkishólmsbær", + "parent": "IS-3", + "type": "Municipality" + }, + { + "code": "IS-SVG", + "name": "Sveitarfélagið Vogar", + "parent": "IS-2", + "type": "Municipality" + }, + { + "code": "IS-TAL", + "name": "Tálknafjarðarhreppur", + "parent": "IS-4", + "type": "Municipality" + }, + { + "code": "IS-THG", + "name": "Þingeyjarsveit", + "parent": "IS-6", + "type": "Municipality" + }, + { + "code": "IS-TJO", + "name": "Tjörneshreppur", + "parent": "IS-6", + "type": "Municipality" + }, + { + "code": "IS-VEM", + "name": "Vestmannaeyjabær", + "parent": "IS-8", + "type": "Municipality" + }, + { + "code": "IS-VER", + "name": "Vesturbyggð", + "parent": "IS-4", + "type": "Municipality" + }, + { + "code": "IS-VOP", + "name": "Vopnafjarðarhreppur", + "parent": "IS-7", + "type": "Municipality" + }, + { + "code": "IT-21", + "name": "Piemonte", + "type": "Region" + }, + { + "code": "IT-23", + "name": "Val d'Aoste", + "type": "Autonomous region" + }, + { + "code": "IT-25", + "name": "Lombardia", + "type": "Region" + }, + { + "code": "IT-32", + "name": "Trentino-Alto Adige", + "type": "Autonomous region" + }, + { + "code": "IT-34", + "name": "Veneto", + "type": "Region" + }, + { + "code": "IT-36", + "name": "Friuli Venezia Giulia", + "type": "Autonomous region" + }, + { + "code": "IT-42", + "name": "Liguria", + "type": "Region" + }, + { + "code": "IT-45", + "name": "Emilia-Romagna", + "type": "Region" + }, + { + "code": "IT-52", + "name": "Toscana", + "type": "Region" + }, + { + "code": "IT-55", + "name": "Umbria", + "type": "Region" + }, + { + "code": "IT-57", + "name": "Marche", + "type": "Region" + }, + { + "code": "IT-62", + "name": "Lazio", + "type": "Region" + }, + { + "code": "IT-65", + "name": "Abruzzo", + "type": "Region" + }, + { + "code": "IT-67", + "name": "Molise", + "type": "Region" + }, + { + "code": "IT-72", + "name": "Campania", + "type": "Region" + }, + { + "code": "IT-75", + "name": "Puglia", + "type": "Region" + }, + { + "code": "IT-77", + "name": "Basilicata", + "type": "Region" + }, + { + "code": "IT-78", + "name": "Calabria", + "type": "Region" + }, + { + "code": "IT-82", + "name": "Sicilia", + "type": "Autonomous region" + }, + { + "code": "IT-88", + "name": "Sardegna", + "type": "Autonomous region" + }, + { + "code": "IT-AG", + "name": "Agrigento", + "parent": "IT-82", + "type": "Free municipal consortium" + }, + { + "code": "IT-AL", + "name": "Alessandria", + "parent": "IT-21", + "type": "Province" + }, + { + "code": "IT-AN", + "name": "Ancona", + "parent": "IT-57", + "type": "Province" + }, + { + "code": "IT-AP", + "name": "Ascoli Piceno", + "parent": "IT-57", + "type": "Province" + }, + { + "code": "IT-AQ", + "name": "L'Aquila", + "parent": "IT-65", + "type": "Province" + }, + { + "code": "IT-AR", + "name": "Arezzo", + "parent": "IT-52", + "type": "Province" + }, + { + "code": "IT-AT", + "name": "Asti", + "parent": "IT-21", + "type": "Province" + }, + { + "code": "IT-AV", + "name": "Avellino", + "parent": "IT-72", + "type": "Province" + }, + { + "code": "IT-BA", + "name": "Bari", + "parent": "IT-75", + "type": "Metropolitan city" + }, + { + "code": "IT-BG", + "name": "Bergamo", + "parent": "IT-25", + "type": "Province" + }, + { + "code": "IT-BI", + "name": "Biella", + "parent": "IT-21", + "type": "Province" + }, + { + "code": "IT-BL", + "name": "Belluno", + "parent": "IT-34", + "type": "Province" + }, + { + "code": "IT-BN", + "name": "Benevento", + "parent": "IT-72", + "type": "Province" + }, + { + "code": "IT-BO", + "name": "Bologna", + "parent": "IT-45", + "type": "Metropolitan city" + }, + { + "code": "IT-BR", + "name": "Brindisi", + "parent": "IT-75", + "type": "Province" + }, + { + "code": "IT-BS", + "name": "Brescia", + "parent": "IT-25", + "type": "Province" + }, + { + "code": "IT-BT", + "name": "Barletta-Andria-Trani", + "parent": "IT-75", + "type": "Province" + }, + { + "code": "IT-BZ", + "name": "Bolzano", + "parent": "IT-32", + "type": "Autonomous province" + }, + { + "code": "IT-CA", + "name": "Cagliari", + "parent": "IT-88", + "type": "Metropolitan city" + }, + { + "code": "IT-CB", + "name": "Campobasso", + "parent": "IT-67", + "type": "Province" + }, + { + "code": "IT-CE", + "name": "Caserta", + "parent": "IT-72", + "type": "Province" + }, + { + "code": "IT-CH", + "name": "Chieti", + "parent": "IT-65", + "type": "Province" + }, + { + "code": "IT-CL", + "name": "Caltanissetta", + "parent": "IT-82", + "type": "Free municipal consortium" + }, + { + "code": "IT-CN", + "name": "Cuneo", + "parent": "IT-21", + "type": "Province" + }, + { + "code": "IT-CO", + "name": "Como", + "parent": "IT-25", + "type": "Province" + }, + { + "code": "IT-CR", + "name": "Cremona", + "parent": "IT-25", + "type": "Province" + }, + { + "code": "IT-CS", + "name": "Cosenza", + "parent": "IT-78", + "type": "Province" + }, + { + "code": "IT-CT", + "name": "Catania", + "parent": "IT-82", + "type": "Metropolitan city" + }, + { + "code": "IT-CZ", + "name": "Catanzaro", + "parent": "IT-78", + "type": "Province" + }, + { + "code": "IT-EN", + "name": "Enna", + "parent": "IT-82", + "type": "Free municipal consortium" + }, + { + "code": "IT-FC", + "name": "Forlì-Cesena", + "parent": "IT-45", + "type": "Province" + }, + { + "code": "IT-FE", + "name": "Ferrara", + "parent": "IT-45", + "type": "Province" + }, + { + "code": "IT-FG", + "name": "Foggia", + "parent": "IT-75", + "type": "Province" + }, + { + "code": "IT-FI", + "name": "Firenze", + "parent": "IT-52", + "type": "Metropolitan city" + }, + { + "code": "IT-FM", + "name": "Fermo", + "parent": "IT-57", + "type": "Province" + }, + { + "code": "IT-FR", + "name": "Frosinone", + "parent": "IT-62", + "type": "Province" + }, + { + "code": "IT-GE", + "name": "Genova", + "parent": "IT-42", + "type": "Metropolitan city" + }, + { + "code": "IT-GO", + "name": "Gorizia", + "parent": "IT-36", + "type": "Decentralized regional entity" + }, + { + "code": "IT-GR", + "name": "Grosseto", + "parent": "IT-52", + "type": "Province" + }, + { + "code": "IT-IM", + "name": "Imperia", + "parent": "IT-42", + "type": "Province" + }, + { + "code": "IT-IS", + "name": "Isernia", + "parent": "IT-67", + "type": "Province" + }, + { + "code": "IT-KR", + "name": "Crotone", + "parent": "IT-78", + "type": "Province" + }, + { + "code": "IT-LC", + "name": "Lecco", + "parent": "IT-25", + "type": "Province" + }, + { + "code": "IT-LE", + "name": "Lecce", + "parent": "IT-75", + "type": "Province" + }, + { + "code": "IT-LI", + "name": "Livorno", + "parent": "IT-52", + "type": "Province" + }, + { + "code": "IT-LO", + "name": "Lodi", + "parent": "IT-25", + "type": "Province" + }, + { + "code": "IT-LT", + "name": "Latina", + "parent": "IT-62", + "type": "Province" + }, + { + "code": "IT-LU", + "name": "Lucca", + "parent": "IT-52", + "type": "Province" + }, + { + "code": "IT-MB", + "name": "Monza e Brianza", + "parent": "IT-25", + "type": "Province" + }, + { + "code": "IT-MC", + "name": "Macerata", + "parent": "IT-57", + "type": "Province" + }, + { + "code": "IT-ME", + "name": "Messina", + "parent": "IT-82", + "type": "Metropolitan city" + }, + { + "code": "IT-MI", + "name": "Milano", + "parent": "IT-25", + "type": "Metropolitan city" + }, + { + "code": "IT-MN", + "name": "Mantova", + "parent": "IT-25", + "type": "Province" + }, + { + "code": "IT-MO", + "name": "Modena", + "parent": "IT-45", + "type": "Province" + }, + { + "code": "IT-MS", + "name": "Massa-Carrara", + "parent": "IT-52", + "type": "Province" + }, + { + "code": "IT-MT", + "name": "Matera", + "parent": "IT-77", + "type": "Province" + }, + { + "code": "IT-NA", + "name": "Napoli", + "parent": "IT-72", + "type": "Metropolitan city" + }, + { + "code": "IT-NO", + "name": "Novara", + "parent": "IT-21", + "type": "Province" + }, + { + "code": "IT-NU", + "name": "Nuoro", + "parent": "IT-88", + "type": "Province" + }, + { + "code": "IT-OR", + "name": "Oristano", + "parent": "IT-88", + "type": "Province" + }, + { + "code": "IT-PA", + "name": "Palermo", + "parent": "IT-82", + "type": "Metropolitan city" + }, + { + "code": "IT-PC", + "name": "Piacenza", + "parent": "IT-45", + "type": "Province" + }, + { + "code": "IT-PD", + "name": "Padova", + "parent": "IT-34", + "type": "Province" + }, + { + "code": "IT-PE", + "name": "Pescara", + "parent": "IT-65", + "type": "Province" + }, + { + "code": "IT-PG", + "name": "Perugia", + "parent": "IT-55", + "type": "Province" + }, + { + "code": "IT-PI", + "name": "Pisa", + "parent": "IT-52", + "type": "Province" + }, + { + "code": "IT-PN", + "name": "Pordenone", + "parent": "IT-36", + "type": "Decentralized regional entity" + }, + { + "code": "IT-PO", + "name": "Prato", + "parent": "IT-52", + "type": "Province" + }, + { + "code": "IT-PR", + "name": "Parma", + "parent": "IT-45", + "type": "Province" + }, + { + "code": "IT-PT", + "name": "Pistoia", + "parent": "IT-52", + "type": "Province" + }, + { + "code": "IT-PU", + "name": "Pesaro e Urbino", + "parent": "IT-57", + "type": "Province" + }, + { + "code": "IT-PV", + "name": "Pavia", + "parent": "IT-25", + "type": "Province" + }, + { + "code": "IT-PZ", + "name": "Potenza", + "parent": "IT-77", + "type": "Province" + }, + { + "code": "IT-RA", + "name": "Ravenna", + "parent": "IT-45", + "type": "Province" + }, + { + "code": "IT-RC", + "name": "Reggio Calabria", + "parent": "IT-78", + "type": "Metropolitan city" + }, + { + "code": "IT-RE", + "name": "Reggio Emilia", + "parent": "IT-45", + "type": "Province" + }, + { + "code": "IT-RG", + "name": "Ragusa", + "parent": "IT-82", + "type": "Free municipal consortium" + }, + { + "code": "IT-RI", + "name": "Rieti", + "parent": "IT-62", + "type": "Province" + }, + { + "code": "IT-RM", + "name": "Roma", + "parent": "IT-62", + "type": "Metropolitan city" + }, + { + "code": "IT-RN", + "name": "Rimini", + "parent": "IT-45", + "type": "Province" + }, + { + "code": "IT-RO", + "name": "Rovigo", + "parent": "IT-34", + "type": "Province" + }, + { + "code": "IT-SA", + "name": "Salerno", + "parent": "IT-72", + "type": "Province" + }, + { + "code": "IT-SI", + "name": "Siena", + "parent": "IT-52", + "type": "Province" + }, + { + "code": "IT-SO", + "name": "Sondrio", + "parent": "IT-25", + "type": "Province" + }, + { + "code": "IT-SP", + "name": "La Spezia", + "parent": "IT-42", + "type": "Province" + }, + { + "code": "IT-SR", + "name": "Siracusa", + "parent": "IT-82", + "type": "Free municipal consortium" + }, + { + "code": "IT-SS", + "name": "Sassari", + "parent": "IT-88", + "type": "Province" + }, + { + "code": "IT-SU", + "name": "Sud Sardegna", + "parent": "IT-88", + "type": "Province" + }, + { + "code": "IT-SV", + "name": "Savona", + "parent": "IT-42", + "type": "Province" + }, + { + "code": "IT-TA", + "name": "Taranto", + "parent": "IT-75", + "type": "Province" + }, + { + "code": "IT-TE", + "name": "Teramo", + "parent": "IT-65", + "type": "Province" + }, + { + "code": "IT-TN", + "name": "Trento", + "parent": "IT-32", + "type": "Autonomous province" + }, + { + "code": "IT-TO", + "name": "Torino", + "parent": "IT-21", + "type": "Metropolitan city" + }, + { + "code": "IT-TP", + "name": "Trapani", + "parent": "IT-82", + "type": "Free municipal consortium" + }, + { + "code": "IT-TR", + "name": "Terni", + "parent": "IT-55", + "type": "Province" + }, + { + "code": "IT-TS", + "name": "Trieste", + "parent": "IT-36", + "type": "Decentralized regional entity" + }, + { + "code": "IT-TV", + "name": "Treviso", + "parent": "IT-34", + "type": "Province" + }, + { + "code": "IT-UD", + "name": "Udine", + "parent": "IT-36", + "type": "Decentralized regional entity" + }, + { + "code": "IT-VA", + "name": "Varese", + "parent": "IT-25", + "type": "Province" + }, + { + "code": "IT-VB", + "name": "Verbano-Cusio-Ossola", + "parent": "IT-21", + "type": "Province" + }, + { + "code": "IT-VC", + "name": "Vercelli", + "parent": "IT-21", + "type": "Province" + }, + { + "code": "IT-VE", + "name": "Venezia", + "parent": "IT-34", + "type": "Metropolitan city" + }, + { + "code": "IT-VI", + "name": "Vicenza", + "parent": "IT-34", + "type": "Province" + }, + { + "code": "IT-VR", + "name": "Verona", + "parent": "IT-34", + "type": "Province" + }, + { + "code": "IT-VT", + "name": "Viterbo", + "parent": "IT-62", + "type": "Province" + }, + { + "code": "IT-VV", + "name": "Vibo Valentia", + "parent": "IT-78", + "type": "Province" + }, + { + "code": "JM-01", + "name": "Kingston", + "type": "Parish" + }, + { + "code": "JM-02", + "name": "Saint Andrew", + "type": "Parish" + }, + { + "code": "JM-03", + "name": "Saint Thomas", + "type": "Parish" + }, + { + "code": "JM-04", + "name": "Portland", + "type": "Parish" + }, + { + "code": "JM-05", + "name": "Saint Mary", + "type": "Parish" + }, + { + "code": "JM-06", + "name": "Saint Ann", + "type": "Parish" + }, + { + "code": "JM-07", + "name": "Trelawny", + "type": "Parish" + }, + { + "code": "JM-08", + "name": "Saint James", + "type": "Parish" + }, + { + "code": "JM-09", + "name": "Hanover", + "type": "Parish" + }, + { + "code": "JM-10", + "name": "Westmoreland", + "type": "Parish" + }, + { + "code": "JM-11", + "name": "Saint Elizabeth", + "type": "Parish" + }, + { + "code": "JM-12", + "name": "Manchester", + "type": "Parish" + }, + { + "code": "JM-13", + "name": "Clarendon", + "type": "Parish" + }, + { + "code": "JM-14", + "name": "Saint Catherine", + "type": "Parish" + }, + { + "code": "JO-AJ", + "name": "‘Ajlūn", + "type": "Governorate" + }, + { + "code": "JO-AM", + "name": "Al ‘A̅şimah", + "type": "Governorate" + }, + { + "code": "JO-AQ", + "name": "Al ‘Aqabah", + "type": "Governorate" + }, + { + "code": "JO-AT", + "name": "Aţ Ţafīlah", + "type": "Governorate" + }, + { + "code": "JO-AZ", + "name": "Az Zarqā’", + "type": "Governorate" + }, + { + "code": "JO-BA", + "name": "Al Balqā’", + "type": "Governorate" + }, + { + "code": "JO-IR", + "name": "Irbid", + "type": "Governorate" + }, + { + "code": "JO-JA", + "name": "Jarash", + "type": "Governorate" + }, + { + "code": "JO-KA", + "name": "Al Karak", + "type": "Governorate" + }, + { + "code": "JO-MA", + "name": "Al Mafraq", + "type": "Governorate" + }, + { + "code": "JO-MD", + "name": "Mādabā", + "type": "Governorate" + }, + { + "code": "JO-MN", + "name": "Ma‘ān", + "type": "Governorate" + }, + { + "code": "JP-01", + "name": "Hokkaido", + "type": "Prefecture" + }, + { + "code": "JP-02", + "name": "Aomori", + "type": "Prefecture" + }, + { + "code": "JP-03", + "name": "Iwate", + "type": "Prefecture" + }, + { + "code": "JP-04", + "name": "Miyagi", + "type": "Prefecture" + }, + { + "code": "JP-05", + "name": "Akita", + "type": "Prefecture" + }, + { + "code": "JP-06", + "name": "Yamagata", + "type": "Prefecture" + }, + { + "code": "JP-07", + "name": "Fukushima", + "type": "Prefecture" + }, + { + "code": "JP-08", + "name": "Ibaraki", + "type": "Prefecture" + }, + { + "code": "JP-09", + "name": "Tochigi", + "type": "Prefecture" + }, + { + "code": "JP-10", + "name": "Gunma", + "type": "Prefecture" + }, + { + "code": "JP-11", + "name": "Saitama", + "type": "Prefecture" + }, + { + "code": "JP-12", + "name": "Chiba", + "type": "Prefecture" + }, + { + "code": "JP-13", + "name": "Tokyo", + "type": "Prefecture" + }, + { + "code": "JP-14", + "name": "Kanagawa", + "type": "Prefecture" + }, + { + "code": "JP-15", + "name": "Niigata", + "type": "Prefecture" + }, + { + "code": "JP-16", + "name": "Toyama", + "type": "Prefecture" + }, + { + "code": "JP-17", + "name": "Ishikawa", + "type": "Prefecture" + }, + { + "code": "JP-18", + "name": "Fukui", + "type": "Prefecture" + }, + { + "code": "JP-19", + "name": "Yamanashi", + "type": "Prefecture" + }, + { + "code": "JP-20", + "name": "Nagano", + "type": "Prefecture" + }, + { + "code": "JP-21", + "name": "Gifu", + "type": "Prefecture" + }, + { + "code": "JP-22", + "name": "Shizuoka", + "type": "Prefecture" + }, + { + "code": "JP-23", + "name": "Aichi", + "type": "Prefecture" + }, + { + "code": "JP-24", + "name": "Mie", + "type": "Prefecture" + }, + { + "code": "JP-25", + "name": "Shiga", + "type": "Prefecture" + }, + { + "code": "JP-26", + "name": "Kyoto", + "type": "Prefecture" + }, + { + "code": "JP-27", + "name": "Osaka", + "type": "Prefecture" + }, + { + "code": "JP-28", + "name": "Hyogo", + "type": "Prefecture" + }, + { + "code": "JP-29", + "name": "Nara", + "type": "Prefecture" + }, + { + "code": "JP-30", + "name": "Wakayama", + "type": "Prefecture" + }, + { + "code": "JP-31", + "name": "Tottori", + "type": "Prefecture" + }, + { + "code": "JP-32", + "name": "Shimane", + "type": "Prefecture" + }, + { + "code": "JP-33", + "name": "Okayama", + "type": "Prefecture" + }, + { + "code": "JP-34", + "name": "Hiroshima", + "type": "Prefecture" + }, + { + "code": "JP-35", + "name": "Yamaguchi", + "type": "Prefecture" + }, + { + "code": "JP-36", + "name": "Tokushima", + "type": "Prefecture" + }, + { + "code": "JP-37", + "name": "Kagawa", + "type": "Prefecture" + }, + { + "code": "JP-38", + "name": "Ehime", + "type": "Prefecture" + }, + { + "code": "JP-39", + "name": "Kochi", + "type": "Prefecture" + }, + { + "code": "JP-40", + "name": "Fukuoka", + "type": "Prefecture" + }, + { + "code": "JP-41", + "name": "Saga", + "type": "Prefecture" + }, + { + "code": "JP-42", + "name": "Nagasaki", + "type": "Prefecture" + }, + { + "code": "JP-43", + "name": "Kumamoto", + "type": "Prefecture" + }, + { + "code": "JP-44", + "name": "Oita", + "type": "Prefecture" + }, + { + "code": "JP-45", + "name": "Miyazaki", + "type": "Prefecture" + }, + { + "code": "JP-46", + "name": "Kagoshima", + "type": "Prefecture" + }, + { + "code": "JP-47", + "name": "Okinawa", + "type": "Prefecture" + }, + { + "code": "KE-01", + "name": "Baringo", + "type": "County" + }, + { + "code": "KE-02", + "name": "Bomet", + "type": "County" + }, + { + "code": "KE-03", + "name": "Bungoma", + "type": "County" + }, + { + "code": "KE-04", + "name": "Busia", + "type": "County" + }, + { + "code": "KE-05", + "name": "Elgeyo/Marakwet", + "type": "County" + }, + { + "code": "KE-06", + "name": "Embu", + "type": "County" + }, + { + "code": "KE-07", + "name": "Garissa", + "type": "County" + }, + { + "code": "KE-08", + "name": "Homa Bay", + "type": "County" + }, + { + "code": "KE-09", + "name": "Isiolo", + "type": "County" + }, + { + "code": "KE-10", + "name": "Kajiado", + "type": "County" + }, + { + "code": "KE-11", + "name": "Kakamega", + "type": "County" + }, + { + "code": "KE-12", + "name": "Kericho", + "type": "County" + }, + { + "code": "KE-13", + "name": "Kiambu", + "type": "County" + }, + { + "code": "KE-14", + "name": "Kilifi", + "type": "County" + }, + { + "code": "KE-15", + "name": "Kirinyaga", + "type": "County" + }, + { + "code": "KE-16", + "name": "Kisii", + "type": "County" + }, + { + "code": "KE-17", + "name": "Kisumu", + "type": "County" + }, + { + "code": "KE-18", + "name": "Kitui", + "type": "County" + }, + { + "code": "KE-19", + "name": "Kwale", + "type": "County" + }, + { + "code": "KE-20", + "name": "Laikipia", + "type": "County" + }, + { + "code": "KE-21", + "name": "Lamu", + "type": "County" + }, + { + "code": "KE-22", + "name": "Machakos", + "type": "County" + }, + { + "code": "KE-23", + "name": "Makueni", + "type": "County" + }, + { + "code": "KE-24", + "name": "Mandera", + "type": "County" + }, + { + "code": "KE-25", + "name": "Marsabit", + "type": "County" + }, + { + "code": "KE-26", + "name": "Meru", + "type": "County" + }, + { + "code": "KE-27", + "name": "Migori", + "type": "County" + }, + { + "code": "KE-28", + "name": "Mombasa", + "type": "County" + }, + { + "code": "KE-29", + "name": "Murang'a", + "type": "County" + }, + { + "code": "KE-30", + "name": "Nairobi City", + "type": "County" + }, + { + "code": "KE-31", + "name": "Nakuru", + "type": "County" + }, + { + "code": "KE-32", + "name": "Nandi", + "type": "County" + }, + { + "code": "KE-33", + "name": "Narok", + "type": "County" + }, + { + "code": "KE-34", + "name": "Nyamira", + "type": "County" + }, + { + "code": "KE-35", + "name": "Nyandarua", + "type": "County" + }, + { + "code": "KE-36", + "name": "Nyeri", + "type": "County" + }, + { + "code": "KE-37", + "name": "Samburu", + "type": "County" + }, + { + "code": "KE-38", + "name": "Siaya", + "type": "County" + }, + { + "code": "KE-39", + "name": "Taita/Taveta", + "type": "County" + }, + { + "code": "KE-40", + "name": "Tana River", + "type": "County" + }, + { + "code": "KE-41", + "name": "Tharaka-Nithi", + "type": "County" + }, + { + "code": "KE-42", + "name": "Trans Nzoia", + "type": "County" + }, + { + "code": "KE-43", + "name": "Turkana", + "type": "County" + }, + { + "code": "KE-44", + "name": "Uasin Gishu", + "type": "County" + }, + { + "code": "KE-45", + "name": "Vihiga", + "type": "County" + }, + { + "code": "KE-46", + "name": "Wajir", + "type": "County" + }, + { + "code": "KE-47", + "name": "West Pokot", + "type": "County" + }, + { + "code": "KG-B", + "name": "Batken", + "type": "Region" + }, + { + "code": "KG-C", + "name": "Chuyskaya oblast'", + "type": "Region" + }, + { + "code": "KG-GB", + "name": "Bishkek Shaary", + "type": "City" + }, + { + "code": "KG-GO", + "name": "Gorod Osh", + "type": "City" + }, + { + "code": "KG-J", + "name": "Dzhalal-Abadskaya oblast'", + "type": "Region" + }, + { + "code": "KG-N", + "name": "Naryn", + "type": "Region" + }, + { + "code": "KG-O", + "name": "Osh", + "type": "Region" + }, + { + "code": "KG-T", + "name": "Talas", + "type": "Region" + }, + { + "code": "KG-Y", + "name": "Issyk-Kul'skaja oblast'", + "type": "Region" + }, + { + "code": "KH-1", + "name": "Banteay Mean Choăy", + "type": "Province" + }, + { + "code": "KH-10", + "name": "Kracheh", + "type": "Province" + }, + { + "code": "KH-11", + "name": "Mondol Kiri", + "type": "Province" + }, + { + "code": "KH-12", + "name": "Phnom Penh", + "type": "Autonomous municipality" + }, + { + "code": "KH-13", + "name": "Preah Vihear", + "type": "Province" + }, + { + "code": "KH-14", + "name": "Prey Veaeng", + "type": "Province" + }, + { + "code": "KH-15", + "name": "Pousaat", + "type": "Province" + }, + { + "code": "KH-16", + "name": "Rotanak Kiri", + "type": "Province" + }, + { + "code": "KH-17", + "name": "Siem Reab", + "type": "Province" + }, + { + "code": "KH-18", + "name": "Preah Sihanouk", + "type": "Province" + }, + { + "code": "KH-19", + "name": "Stoĕng Trêng", + "type": "Province" + }, + { + "code": "KH-2", + "name": "Baat Dambang", + "type": "Province" + }, + { + "code": "KH-20", + "name": "Svaay Rieng", + "type": "Province" + }, + { + "code": "KH-21", + "name": "Taakaev", + "type": "Province" + }, + { + "code": "KH-22", + "name": "Otdar Mean Chey", + "type": "Province" + }, + { + "code": "KH-23", + "name": "Kaeb", + "type": "Province" + }, + { + "code": "KH-24", + "name": "Pailin", + "type": "Province" + }, + { + "code": "KH-25", + "name": "Tbong Khmum", + "type": "Province" + }, + { + "code": "KH-3", + "name": "Kampong Chaam", + "type": "Province" + }, + { + "code": "KH-4", + "name": "Kampong Chhnang", + "type": "Province" + }, + { + "code": "KH-5", + "name": "Kampong Spueu", + "type": "Province" + }, + { + "code": "KH-6", + "name": "Kampong Thum", + "type": "Province" + }, + { + "code": "KH-7", + "name": "Kampot", + "type": "Province" + }, + { + "code": "KH-8", + "name": "Kandaal", + "type": "Province" + }, + { + "code": "KH-9", + "name": "Kaoh Kong", + "type": "Province" + }, + { + "code": "KI-G", + "name": "Gilbert Islands", + "type": "Group of islands (20 inhabited islands)" + }, + { + "code": "KI-L", + "name": "Line Islands", + "type": "Group of islands (20 inhabited islands)" + }, + { + "code": "KI-P", + "name": "Phoenix Islands", + "type": "Group of islands (20 inhabited islands)" + }, + { + "code": "KM-A", + "name": "Anjouan", + "type": "Island" + }, + { + "code": "KM-G", + "name": "Grande Comore", + "type": "Island" + }, + { + "code": "KM-M", + "name": "Mohéli", + "type": "Island" + }, + { + "code": "KN-01", + "name": "Christ Church Nichola Town", + "parent": "KN-K", + "type": "Parish" + }, + { + "code": "KN-02", + "name": "Saint Anne Sandy Point", + "parent": "KN-K", + "type": "Parish" + }, + { + "code": "KN-03", + "name": "Saint George Basseterre", + "parent": "KN-K", + "type": "Parish" + }, + { + "code": "KN-04", + "name": "Saint George Gingerland", + "parent": "KN-N", + "type": "Parish" + }, + { + "code": "KN-05", + "name": "Saint James Windward", + "parent": "KN-N", + "type": "Parish" + }, + { + "code": "KN-06", + "name": "Saint John Capisterre", + "parent": "KN-K", + "type": "Parish" + }, + { + "code": "KN-07", + "name": "Saint John Figtree", + "parent": "KN-N", + "type": "Parish" + }, + { + "code": "KN-08", + "name": "Saint Mary Cayon", + "parent": "KN-K", + "type": "Parish" + }, + { + "code": "KN-09", + "name": "Saint Paul Capisterre", + "parent": "KN-K", + "type": "Parish" + }, + { + "code": "KN-10", + "name": "Saint Paul Charlestown", + "parent": "KN-N", + "type": "Parish" + }, + { + "code": "KN-11", + "name": "Saint Peter Basseterre", + "parent": "KN-K", + "type": "Parish" + }, + { + "code": "KN-12", + "name": "Saint Thomas Lowland", + "parent": "KN-N", + "type": "Parish" + }, + { + "code": "KN-13", + "name": "Saint Thomas Middle Island", + "parent": "KN-K", + "type": "Parish" + }, + { + "code": "KN-15", + "name": "Trinity Palmetto Point", + "parent": "KN-K", + "type": "Parish" + }, + { + "code": "KN-K", + "name": "Saint Kitts", + "type": "State" + }, + { + "code": "KN-N", + "name": "Nevis", + "type": "State" + }, + { + "code": "KP-01", + "name": "P'yǒngyang", + "type": "Capital city" + }, + { + "code": "KP-02", + "name": "P'yǒngan-namdo", + "type": "Province" + }, + { + "code": "KP-03", + "name": "P'yǒngan-bukto", + "type": "Province" + }, + { + "code": "KP-04", + "name": "Chagang-do", + "type": "Province" + }, + { + "code": "KP-05", + "name": "Hwanghae-namdo", + "type": "Province" + }, + { + "code": "KP-06", + "name": "Hwanghae-bukto", + "type": "Province" + }, + { + "code": "KP-07", + "name": "Kangweonto", + "type": "Province" + }, + { + "code": "KP-08", + "name": "Hamgyǒng-namdo", + "type": "Province" + }, + { + "code": "KP-09", + "name": "Hamgyǒng-bukto", + "type": "Province" + }, + { + "code": "KP-10", + "name": "Ryanggang-do", + "type": "Province" + }, + { + "code": "KP-13", + "name": "Raseon", + "type": "Special city" + }, + { + "code": "KP-14", + "name": "Nampho", + "type": "Metropolitan city" + }, + { + "code": "KP-15", + "name": "Kaeseong", + "type": "Metropolitan city" + }, + { + "code": "KR-11", + "name": "Seoul-teukbyeolsi", + "type": "Special city" + }, + { + "code": "KR-26", + "name": "Busan-gwangyeoksi", + "type": "Metropolitan city" + }, + { + "code": "KR-27", + "name": "Daegu-gwangyeoksi", + "type": "Metropolitan city" + }, + { + "code": "KR-28", + "name": "Incheon-gwangyeoksi", + "type": "Metropolitan city" + }, + { + "code": "KR-29", + "name": "Gwangju-gwangyeoksi", + "type": "Metropolitan city" + }, + { + "code": "KR-30", + "name": "Daejeon-gwangyeoksi", + "type": "Metropolitan city" + }, + { + "code": "KR-31", + "name": "Ulsan-gwangyeoksi", + "type": "Metropolitan city" + }, + { + "code": "KR-41", + "name": "Gyeonggi-do", + "type": "Province" + }, + { + "code": "KR-42", + "name": "Gangwon-teukbyeoljachido", + "type": "Special self-governing province" + }, + { + "code": "KR-43", + "name": "Chungcheongbuk-do", + "type": "Province" + }, + { + "code": "KR-44", + "name": "Chungcheongnam-do", + "type": "Province" + }, + { + "code": "KR-45", + "name": "Jeollabuk-do", + "type": "Province" + }, + { + "code": "KR-46", + "name": "Jeollanam-do", + "type": "Province" + }, + { + "code": "KR-47", + "name": "Gyeongsangbuk-do", + "type": "Province" + }, + { + "code": "KR-48", + "name": "Gyeongsangnam-do", + "type": "Province" + }, + { + "code": "KR-49", + "name": "Jeju-teukbyeoljachido", + "type": "Special self-governing province" + }, + { + "code": "KR-50", + "name": "Sejong", + "type": "Special self-governing city" + }, + { + "code": "KW-AH", + "name": "Al Aḩmadī", + "type": "Governorate" + }, + { + "code": "KW-FA", + "name": "Al Farwānīyah", + "type": "Governorate" + }, + { + "code": "KW-HA", + "name": "Ḩawallī", + "type": "Governorate" + }, + { + "code": "KW-JA", + "name": "Al Jahrā’", + "type": "Governorate" + }, + { + "code": "KW-KU", + "name": "Al ‘Āşimah", + "type": "Governorate" + }, + { + "code": "KW-MU", + "name": "Mubārak al Kabīr", + "type": "Governorate" + }, + { + "code": "KZ-10", + "name": "Abajskaja oblast’", + "type": "Region" + }, + { + "code": "KZ-11", + "name": "Akmolinskaja oblast'", + "type": "Region" + }, + { + "code": "KZ-15", + "name": "Aktjubinskaja oblast'", + "type": "Region" + }, + { + "code": "KZ-19", + "name": "Almatinskaja oblast'", + "type": "Region" + }, + { + "code": "KZ-23", + "name": "Atyrauskaja oblast'", + "type": "Region" + }, + { + "code": "KZ-27", + "name": "Batys Qazaqstan oblysy", + "type": "Region" + }, + { + "code": "KZ-31", + "name": "Zhambyl oblysy", + "type": "Region" + }, + { + "code": "KZ-33", + "name": "Zhetisū oblysy", + "type": "Region" + }, + { + "code": "KZ-35", + "name": "Karagandinskaja oblast'", + "type": "Region" + }, + { + "code": "KZ-39", + "name": "Kostanajskaja oblast'", + "type": "Region" + }, + { + "code": "KZ-43", + "name": "Kyzylordinskaja oblast'", + "type": "Region" + }, + { + "code": "KZ-47", + "name": "Mangghystaū oblysy", + "type": "Region" + }, + { + "code": "KZ-55", + "name": "Pavlodar oblysy", + "type": "Region" + }, + { + "code": "KZ-59", + "name": "Severo-Kazahstanskaja oblast'", + "type": "Region" + }, + { + "code": "KZ-61", + "name": "Turkestankaya oblast'", + "type": "Region" + }, + { + "code": "KZ-62", + "name": "Ulytauskaja oblast’", + "type": "Region" + }, + { + "code": "KZ-63", + "name": "Shyghys Qazaqstan oblysy", + "type": "Region" + }, + { + "code": "KZ-71", + "name": "Astana", + "type": "City" + }, + { + "code": "KZ-75", + "name": "Almaty", + "type": "City" + }, + { + "code": "KZ-79", + "name": "Shymkent", + "type": "City" + }, + { + "code": "LA-AT", + "name": "Attapu", + "type": "Province" + }, + { + "code": "LA-BK", + "name": "Bokèo", + "type": "Province" + }, + { + "code": "LA-BL", + "name": "Bolikhamxai", + "type": "Province" + }, + { + "code": "LA-CH", + "name": "Champasak", + "type": "Province" + }, + { + "code": "LA-HO", + "name": "Houaphan", + "type": "Province" + }, + { + "code": "LA-KH", + "name": "Khammouan", + "type": "Province" + }, + { + "code": "LA-LM", + "name": "Louang Namtha", + "type": "Province" + }, + { + "code": "LA-LP", + "name": "Louangphabang", + "type": "Province" + }, + { + "code": "LA-OU", + "name": "Oudômxai", + "type": "Province" + }, + { + "code": "LA-PH", + "name": "Phôngsali", + "type": "Province" + }, + { + "code": "LA-SL", + "name": "Salavan", + "type": "Province" + }, + { + "code": "LA-SV", + "name": "Savannakhét", + "type": "Province" + }, + { + "code": "LA-VI", + "name": "Viangchan", + "type": "Province" + }, + { + "code": "LA-VT", + "name": "Viangchan", + "type": "Prefecture" + }, + { + "code": "LA-XA", + "name": "Xaignabouli", + "type": "Province" + }, + { + "code": "LA-XE", + "name": "Xékong", + "type": "Province" + }, + { + "code": "LA-XI", + "name": "Xiangkhouang", + "type": "Province" + }, + { + "code": "LA-XS", + "name": "Xaisômboun", + "type": "Province" + }, + { + "code": "LB-AK", + "name": "Aakkâr", + "type": "Governorate" + }, + { + "code": "LB-AS", + "name": "Ash Shimāl", + "type": "Governorate" + }, + { + "code": "LB-BA", + "name": "Bayrūt", + "type": "Governorate" + }, + { + "code": "LB-BH", + "name": "Baalbek-Hermel", + "type": "Governorate" + }, + { + "code": "LB-BI", + "name": "Al Biqā‘", + "type": "Governorate" + }, + { + "code": "LB-JA", + "name": "Al Janūb", + "type": "Governorate" + }, + { + "code": "LB-JL", + "name": "Jabal Lubnān", + "type": "Governorate" + }, + { + "code": "LB-NA", + "name": "An Nabaţīyah", + "type": "Governorate" + }, + { + "code": "LC-01", + "name": "Anse la Raye", + "type": "District" + }, + { + "code": "LC-02", + "name": "Castries", + "type": "District" + }, + { + "code": "LC-03", + "name": "Choiseul", + "type": "District" + }, + { + "code": "LC-05", + "name": "Dennery", + "type": "District" + }, + { + "code": "LC-06", + "name": "Gros Islet", + "type": "District" + }, + { + "code": "LC-07", + "name": "Laborie", + "type": "District" + }, + { + "code": "LC-08", + "name": "Micoud", + "type": "District" + }, + { + "code": "LC-10", + "name": "Soufrière", + "type": "District" + }, + { + "code": "LC-11", + "name": "Vieux Fort", + "type": "District" + }, + { + "code": "LC-12", + "name": "Canaries", + "type": "District" + }, + { + "code": "LI-01", + "name": "Balzers", + "type": "Commune" + }, + { + "code": "LI-02", + "name": "Eschen", + "type": "Commune" + }, + { + "code": "LI-03", + "name": "Gamprin", + "type": "Commune" + }, + { + "code": "LI-04", + "name": "Mauren", + "type": "Commune" + }, + { + "code": "LI-05", + "name": "Planken", + "type": "Commune" + }, + { + "code": "LI-06", + "name": "Ruggell", + "type": "Commune" + }, + { + "code": "LI-07", + "name": "Schaan", + "type": "Commune" + }, + { + "code": "LI-08", + "name": "Schellenberg", + "type": "Commune" + }, + { + "code": "LI-09", + "name": "Triesen", + "type": "Commune" + }, + { + "code": "LI-10", + "name": "Triesenberg", + "type": "Commune" + }, + { + "code": "LI-11", + "name": "Vaduz", + "type": "Commune" + }, + { + "code": "LK-1", + "name": "Western Province", + "type": "Province" + }, + { + "code": "LK-11", + "name": "Colombo", + "parent": "LK-1", + "type": "District" + }, + { + "code": "LK-12", + "name": "Gampaha", + "parent": "LK-1", + "type": "District" + }, + { + "code": "LK-13", + "name": "Kalutara", + "parent": "LK-1", + "type": "District" + }, + { + "code": "LK-2", + "name": "Central Province", + "type": "Province" + }, + { + "code": "LK-21", + "name": "Kandy", + "parent": "LK-2", + "type": "District" + }, + { + "code": "LK-22", + "name": "Matale", + "parent": "LK-2", + "type": "District" + }, + { + "code": "LK-23", + "name": "Nuwara Eliya", + "parent": "LK-2", + "type": "District" + }, + { + "code": "LK-3", + "name": "Southern Province", + "type": "Province" + }, + { + "code": "LK-31", + "name": "Galle", + "parent": "LK-3", + "type": "District" + }, + { + "code": "LK-32", + "name": "Matara", + "parent": "LK-3", + "type": "District" + }, + { + "code": "LK-33", + "name": "Hambantota", + "parent": "LK-3", + "type": "District" + }, + { + "code": "LK-4", + "name": "Northern Province", + "type": "Province" + }, + { + "code": "LK-41", + "name": "Jaffna", + "parent": "LK-4", + "type": "District" + }, + { + "code": "LK-42", + "name": "Kilinochchi", + "parent": "LK-4", + "type": "District" + }, + { + "code": "LK-43", + "name": "Mannar", + "parent": "LK-4", + "type": "District" + }, + { + "code": "LK-44", + "name": "Vavuniya", + "parent": "LK-4", + "type": "District" + }, + { + "code": "LK-45", + "name": "Mullaittivu", + "parent": "LK-4", + "type": "District" + }, + { + "code": "LK-5", + "name": "Eastern Province", + "type": "Province" + }, + { + "code": "LK-51", + "name": "Batticaloa", + "parent": "LK-5", + "type": "District" + }, + { + "code": "LK-52", + "name": "Ampara", + "parent": "LK-5", + "type": "District" + }, + { + "code": "LK-53", + "name": "Trincomalee", + "parent": "LK-5", + "type": "District" + }, + { + "code": "LK-6", + "name": "North Western Province", + "type": "Province" + }, + { + "code": "LK-61", + "name": "Kurunegala", + "parent": "LK-6", + "type": "District" + }, + { + "code": "LK-62", + "name": "Puttalam", + "parent": "LK-6", + "type": "District" + }, + { + "code": "LK-7", + "name": "North Central Province", + "type": "Province" + }, + { + "code": "LK-71", + "name": "Anuradhapura", + "parent": "LK-7", + "type": "District" + }, + { + "code": "LK-72", + "name": "Polonnaruwa", + "parent": "LK-7", + "type": "District" + }, + { + "code": "LK-8", + "name": "Uva Province", + "type": "Province" + }, + { + "code": "LK-81", + "name": "Badulla", + "parent": "LK-8", + "type": "District" + }, + { + "code": "LK-82", + "name": "Monaragala", + "parent": "LK-8", + "type": "District" + }, + { + "code": "LK-9", + "name": "Sabaragamuwa Province", + "type": "Province" + }, + { + "code": "LK-91", + "name": "Ratnapura", + "parent": "LK-9", + "type": "District" + }, + { + "code": "LK-92", + "name": "Kegalla", + "parent": "LK-9", + "type": "District" + }, + { + "code": "LR-BG", + "name": "Bong", + "type": "County" + }, + { + "code": "LR-BM", + "name": "Bomi", + "type": "County" + }, + { + "code": "LR-CM", + "name": "Grand Cape Mount", + "type": "County" + }, + { + "code": "LR-GB", + "name": "Grand Bassa", + "type": "County" + }, + { + "code": "LR-GG", + "name": "Grand Gedeh", + "type": "County" + }, + { + "code": "LR-GK", + "name": "Grand Kru", + "type": "County" + }, + { + "code": "LR-GP", + "name": "Gbarpolu", + "type": "County" + }, + { + "code": "LR-LO", + "name": "Lofa", + "type": "County" + }, + { + "code": "LR-MG", + "name": "Margibi", + "type": "County" + }, + { + "code": "LR-MO", + "name": "Montserrado", + "type": "County" + }, + { + "code": "LR-MY", + "name": "Maryland", + "type": "County" + }, + { + "code": "LR-NI", + "name": "Nimba", + "type": "County" + }, + { + "code": "LR-RG", + "name": "River Gee", + "type": "County" + }, + { + "code": "LR-RI", + "name": "River Cess", + "type": "County" + }, + { + "code": "LR-SI", + "name": "Sinoe", + "type": "County" + }, + { + "code": "LS-A", + "name": "Maseru", + "type": "District" + }, + { + "code": "LS-B", + "name": "Botha-Bothe", + "type": "District" + }, + { + "code": "LS-C", + "name": "Leribe", + "type": "District" + }, + { + "code": "LS-D", + "name": "Berea", + "type": "District" + }, + { + "code": "LS-E", + "name": "Mafeteng", + "type": "District" + }, + { + "code": "LS-F", + "name": "Mohale's Hoek", + "type": "District" + }, + { + "code": "LS-G", + "name": "Quthing", + "type": "District" + }, + { + "code": "LS-H", + "name": "Qacha's Nek", + "type": "District" + }, + { + "code": "LS-J", + "name": "Mokhotlong", + "type": "District" + }, + { + "code": "LS-K", + "name": "Thaba-Tseka", + "type": "District" + }, + { + "code": "LT-01", + "name": "Akmenė", + "parent": "LT-SA", + "type": "District municipality" + }, + { + "code": "LT-02", + "name": "Alytaus miestas", + "parent": "LT-AL", + "type": "City municipality" + }, + { + "code": "LT-03", + "name": "Alytus", + "parent": "LT-AL", + "type": "District municipality" + }, + { + "code": "LT-04", + "name": "Anykščiai", + "parent": "LT-UT", + "type": "District municipality" + }, + { + "code": "LT-05", + "name": "Birštonas", + "parent": "LT-KU", + "type": "Municipality" + }, + { + "code": "LT-06", + "name": "Biržai", + "parent": "LT-PN", + "type": "District municipality" + }, + { + "code": "LT-07", + "name": "Druskininkai", + "parent": "LT-AL", + "type": "Municipality" + }, + { + "code": "LT-08", + "name": "Elektrėnai", + "parent": "LT-VL", + "type": "Municipality" + }, + { + "code": "LT-09", + "name": "Ignalina", + "parent": "LT-UT", + "type": "District municipality" + }, + { + "code": "LT-10", + "name": "Jonava", + "parent": "LT-KU", + "type": "District municipality" + }, + { + "code": "LT-11", + "name": "Joniškis", + "parent": "LT-SA", + "type": "District municipality" + }, + { + "code": "LT-12", + "name": "Jurbarkas", + "parent": "LT-TA", + "type": "District municipality" + }, + { + "code": "LT-13", + "name": "Kaišiadorys", + "parent": "LT-KU", + "type": "District municipality" + }, + { + "code": "LT-14", + "name": "Kalvarija", + "parent": "LT-MR", + "type": "Municipality" + }, + { + "code": "LT-15", + "name": "Kauno miestas", + "parent": "LT-KU", + "type": "City municipality" + }, + { + "code": "LT-16", + "name": "Kaunas", + "parent": "LT-KU", + "type": "District municipality" + }, + { + "code": "LT-17", + "name": "Kazlų Rūdos", + "parent": "LT-MR", + "type": "Municipality" + }, + { + "code": "LT-18", + "name": "Kėdainiai", + "parent": "LT-KU", + "type": "District municipality" + }, + { + "code": "LT-19", + "name": "Kelmė", + "parent": "LT-SA", + "type": "District municipality" + }, + { + "code": "LT-20", + "name": "Klaipėdos miestas", + "parent": "LT-KL", + "type": "City municipality" + }, + { + "code": "LT-21", + "name": "Klaipėda", + "parent": "LT-KL", + "type": "District municipality" + }, + { + "code": "LT-22", + "name": "Kretinga", + "parent": "LT-KL", + "type": "District municipality" + }, + { + "code": "LT-23", + "name": "Kupiškis", + "parent": "LT-PN", + "type": "District municipality" + }, + { + "code": "LT-24", + "name": "Lazdijai", + "parent": "LT-AL", + "type": "District municipality" + }, + { + "code": "LT-25", + "name": "Marijampolė", + "parent": "LT-MR", + "type": "District municipality" + }, + { + "code": "LT-26", + "name": "Mažeikiai", + "parent": "LT-TE", + "type": "District municipality" + }, + { + "code": "LT-27", + "name": "Molėtai", + "parent": "LT-UT", + "type": "District municipality" + }, + { + "code": "LT-28", + "name": "Neringa", + "parent": "LT-KL", + "type": "Municipality" + }, + { + "code": "LT-29", + "name": "Pagėgiai", + "parent": "LT-TA", + "type": "Municipality" + }, + { + "code": "LT-30", + "name": "Pakruojis", + "parent": "LT-SA", + "type": "District municipality" + }, + { + "code": "LT-31", + "name": "Palangos miestas", + "parent": "LT-KL", + "type": "City municipality" + }, + { + "code": "LT-32", + "name": "Panevėžio miestas", + "parent": "LT-PN", + "type": "City municipality" + }, + { + "code": "LT-33", + "name": "Panevėžys", + "parent": "LT-PN", + "type": "District municipality" + }, + { + "code": "LT-34", + "name": "Pasvalys", + "parent": "LT-PN", + "type": "District municipality" + }, + { + "code": "LT-35", + "name": "Plungė", + "parent": "LT-TE", + "type": "District municipality" + }, + { + "code": "LT-36", + "name": "Prienai", + "parent": "LT-KU", + "type": "District municipality" + }, + { + "code": "LT-37", + "name": "Radviliškis", + "parent": "LT-SA", + "type": "District municipality" + }, + { + "code": "LT-38", + "name": "Raseiniai", + "parent": "LT-KU", + "type": "District municipality" + }, + { + "code": "LT-39", + "name": "Rietavas", + "parent": "LT-TE", + "type": "Municipality" + }, + { + "code": "LT-40", + "name": "Rokiškis", + "parent": "LT-PN", + "type": "District municipality" + }, + { + "code": "LT-41", + "name": "Šakiai", + "parent": "LT-MR", + "type": "District municipality" + }, + { + "code": "LT-42", + "name": "Šalčininkai", + "parent": "LT-VL", + "type": "District municipality" + }, + { + "code": "LT-43", + "name": "Šiaulių miestas", + "parent": "LT-SA", + "type": "City municipality" + }, + { + "code": "LT-44", + "name": "Šiauliai", + "parent": "LT-SA", + "type": "District municipality" + }, + { + "code": "LT-45", + "name": "Šilalė", + "parent": "LT-TA", + "type": "District municipality" + }, + { + "code": "LT-46", + "name": "Šilutė", + "parent": "LT-KL", + "type": "District municipality" + }, + { + "code": "LT-47", + "name": "Širvintos", + "parent": "LT-VL", + "type": "District municipality" + }, + { + "code": "LT-48", + "name": "Skuodas", + "parent": "LT-KL", + "type": "District municipality" + }, + { + "code": "LT-49", + "name": "Švenčionys", + "parent": "LT-VL", + "type": "District municipality" + }, + { + "code": "LT-50", + "name": "Tauragė", + "parent": "LT-TA", + "type": "District municipality" + }, + { + "code": "LT-51", + "name": "Telšiai", + "parent": "LT-TE", + "type": "District municipality" + }, + { + "code": "LT-52", + "name": "Trakai", + "parent": "LT-VL", + "type": "District municipality" + }, + { + "code": "LT-53", + "name": "Ukmergė", + "parent": "LT-VL", + "type": "District municipality" + }, + { + "code": "LT-54", + "name": "Utena", + "parent": "LT-UT", + "type": "District municipality" + }, + { + "code": "LT-55", + "name": "Varėna", + "parent": "LT-AL", + "type": "District municipality" + }, + { + "code": "LT-56", + "name": "Vilkaviškis", + "parent": "LT-MR", + "type": "District municipality" + }, + { + "code": "LT-57", + "name": "Vilniaus miestas", + "parent": "LT-VL", + "type": "City municipality" + }, + { + "code": "LT-58", + "name": "Vilnius", + "parent": "LT-VL", + "type": "District municipality" + }, + { + "code": "LT-59", + "name": "Visaginas", + "parent": "LT-UT", + "type": "Municipality" + }, + { + "code": "LT-60", + "name": "Zarasai", + "parent": "LT-UT", + "type": "District municipality" + }, + { + "code": "LT-AL", + "name": "Alytaus apskritis", + "type": "County" + }, + { + "code": "LT-KL", + "name": "Klaipėdos apskritis", + "type": "County" + }, + { + "code": "LT-KU", + "name": "Kauno apskritis", + "type": "County" + }, + { + "code": "LT-MR", + "name": "Marijampolės apskritis", + "type": "County" + }, + { + "code": "LT-PN", + "name": "Panevėžio apskritis", + "type": "County" + }, + { + "code": "LT-SA", + "name": "Šiaulių apskritis", + "type": "County" + }, + { + "code": "LT-TA", + "name": "Tauragės apskritis", + "type": "County" + }, + { + "code": "LT-TE", + "name": "Telšių apskritis", + "type": "County" + }, + { + "code": "LT-UT", + "name": "Utenos apskritis", + "type": "County" + }, + { + "code": "LT-VL", + "name": "Vilniaus apskritis", + "type": "County" + }, + { + "code": "LU-CA", + "name": "Capellen", + "type": "Canton" + }, + { + "code": "LU-CL", + "name": "Clervaux", + "type": "Canton" + }, + { + "code": "LU-DI", + "name": "Diekirch", + "type": "Canton" + }, + { + "code": "LU-EC", + "name": "Echternach", + "type": "Canton" + }, + { + "code": "LU-ES", + "name": "Esch-sur-Alzette", + "type": "Canton" + }, + { + "code": "LU-GR", + "name": "Grevenmacher", + "type": "Canton" + }, + { + "code": "LU-LU", + "name": "Luxembourg", + "type": "Canton" + }, + { + "code": "LU-ME", + "name": "Mersch", + "type": "Canton" + }, + { + "code": "LU-RD", + "name": "Redange", + "type": "Canton" + }, + { + "code": "LU-RM", + "name": "Remich", + "type": "Canton" + }, + { + "code": "LU-VD", + "name": "Vianden", + "type": "Canton" + }, + { + "code": "LU-WI", + "name": "Wiltz", + "type": "Canton" + }, + { + "code": "LV-002", + "name": "Aizkraukles novads", + "type": "Municipality" + }, + { + "code": "LV-007", + "name": "Alūksnes novads", + "type": "Municipality" + }, + { + "code": "LV-011", + "name": "Ādažu novads", + "type": "Municipality" + }, + { + "code": "LV-015", + "name": "Balvu novads", + "type": "Municipality" + }, + { + "code": "LV-016", + "name": "Bauskas novads", + "type": "Municipality" + }, + { + "code": "LV-022", + "name": "Cēsu novads", + "type": "Municipality" + }, + { + "code": "LV-026", + "name": "Dobeles novads", + "type": "Municipality" + }, + { + "code": "LV-033", + "name": "Gulbenes novads", + "type": "Municipality" + }, + { + "code": "LV-041", + "name": "Jelgavas novads", + "type": "Municipality" + }, + { + "code": "LV-042", + "name": "Jēkabpils novads", + "type": "Municipality" + }, + { + "code": "LV-047", + "name": "Krāslavas novads", + "type": "Municipality" + }, + { + "code": "LV-050", + "name": "Kuldīgas novads", + "type": "Municipality" + }, + { + "code": "LV-052", + "name": "Ķekavas novads", + "type": "Municipality" + }, + { + "code": "LV-054", + "name": "Limbažu novads", + "type": "Municipality" + }, + { + "code": "LV-056", + "name": "Līvānu novads", + "type": "Municipality" + }, + { + "code": "LV-058", + "name": "Ludzas novads", + "type": "Municipality" + }, + { + "code": "LV-059", + "name": "Madonas novads", + "type": "Municipality" + }, + { + "code": "LV-062", + "name": "Mārupes novads", + "type": "Municipality" + }, + { + "code": "LV-067", + "name": "Ogres novads", + "type": "Municipality" + }, + { + "code": "LV-068", + "name": "Olaines novads", + "type": "Municipality" + }, + { + "code": "LV-073", + "name": "Preiļu novads", + "type": "Municipality" + }, + { + "code": "LV-077", + "name": "Rēzeknes novads", + "type": "Municipality" + }, + { + "code": "LV-080", + "name": "Ropažu novads", + "type": "Municipality" + }, + { + "code": "LV-087", + "name": "Salaspils novads", + "type": "Municipality" + }, + { + "code": "LV-088", + "name": "Saldus novads", + "type": "Municipality" + }, + { + "code": "LV-089", + "name": "Saulkrastu novads", + "type": "Municipality" + }, + { + "code": "LV-091", + "name": "Siguldas novads", + "type": "Municipality" + }, + { + "code": "LV-094", + "name": "Smiltenes novads", + "type": "Municipality" + }, + { + "code": "LV-097", + "name": "Talsu novads", + "type": "Municipality" + }, + { + "code": "LV-099", + "name": "Tukuma novads", + "type": "Municipality" + }, + { + "code": "LV-101", + "name": "Valkas novads", + "type": "Municipality" + }, + { + "code": "LV-102", + "name": "Varakļānu novads", + "type": "Municipality" + }, + { + "code": "LV-106", + "name": "Ventspils novads", + "type": "Municipality" + }, + { + "code": "LV-111", + "name": "Augšdaugavas novads", + "type": "Municipality" + }, + { + "code": "LV-112", + "name": "Dienvidkurzemes Novads", + "type": "Municipality" + }, + { + "code": "LV-113", + "name": "Valmieras Novads", + "type": "Municipality" + }, + { + "code": "LV-DGV", + "name": "Daugavpils", + "type": "State city" + }, + { + "code": "LV-JEL", + "name": "Jelgava", + "type": "State city" + }, + { + "code": "LV-JUR", + "name": "Jūrmala", + "type": "State city" + }, + { + "code": "LV-LPX", + "name": "Liepāja", + "type": "State city" + }, + { + "code": "LV-REZ", + "name": "Rēzekne", + "type": "State city" + }, + { + "code": "LV-RIX", + "name": "Rīga", + "type": "State city" + }, + { + "code": "LV-VEN", + "name": "Ventspils", + "type": "State city" + }, + { + "code": "LY-BA", + "name": "Banghāzī", + "type": "Popularate" + }, + { + "code": "LY-BU", + "name": "Al Buţnān", + "type": "Popularate" + }, + { + "code": "LY-DR", + "name": "Darnah", + "type": "Popularate" + }, + { + "code": "LY-GT", + "name": "Ghāt", + "type": "Popularate" + }, + { + "code": "LY-JA", + "name": "Al Jabal al Akhḑar", + "type": "Popularate" + }, + { + "code": "LY-JG", + "name": "Al Jabal al Gharbī", + "type": "Popularate" + }, + { + "code": "LY-JI", + "name": "Al Jafārah", + "type": "Popularate" + }, + { + "code": "LY-JU", + "name": "Al Jufrah", + "type": "Popularate" + }, + { + "code": "LY-KF", + "name": "Al Kufrah", + "type": "Popularate" + }, + { + "code": "LY-MB", + "name": "Al Marqab", + "type": "Popularate" + }, + { + "code": "LY-MI", + "name": "Mişrātah", + "type": "Popularate" + }, + { + "code": "LY-MJ", + "name": "Al Marj", + "type": "Popularate" + }, + { + "code": "LY-MQ", + "name": "Murzuq", + "type": "Popularate" + }, + { + "code": "LY-NL", + "name": "Nālūt", + "type": "Popularate" + }, + { + "code": "LY-NQ", + "name": "An Nuqāţ al Khams", + "type": "Popularate" + }, + { + "code": "LY-SB", + "name": "Sabhā", + "type": "Popularate" + }, + { + "code": "LY-SR", + "name": "Surt", + "type": "Popularate" + }, + { + "code": "LY-TB", + "name": "Ţarābulus", + "type": "Popularate" + }, + { + "code": "LY-WA", + "name": "Al Wāḩāt", + "type": "Popularate" + }, + { + "code": "LY-WD", + "name": "Wādī al Ḩayāt", + "type": "Popularate" + }, + { + "code": "LY-WS", + "name": "Wādī ash Shāţi’", + "type": "Popularate" + }, + { + "code": "LY-ZA", + "name": "Az Zāwiyah", + "type": "Popularate" + }, + { + "code": "MA-01", + "name": "Tanger-Tétouan-Al Hoceïma", + "type": "Region" + }, + { + "code": "MA-02", + "name": "L'Oriental", + "type": "Region" + }, + { + "code": "MA-03", + "name": "Fès-Meknès", + "type": "Region" + }, + { + "code": "MA-04", + "name": "Rabat-Salé-Kénitra", + "type": "Region" + }, + { + "code": "MA-05", + "name": "Béni Mellal-Khénifra", + "type": "Region" + }, + { + "code": "MA-06", + "name": "Casablanca-Settat", + "type": "Region" + }, + { + "code": "MA-07", + "name": "Marrakech-Safi", + "type": "Region" + }, + { + "code": "MA-08", + "name": "Drâa-Tafilalet", + "type": "Region" + }, + { + "code": "MA-09", + "name": "Souss-Massa", + "type": "Region" + }, + { + "code": "MA-10", + "name": "Guelmim-Oued Noun (EH-partial)", + "type": "Region" + }, + { + "code": "MA-11", + "name": "Laâyoune-Sakia El Hamra (EH-partial)", + "type": "Region" + }, + { + "code": "MA-12", + "name": "Dakhla-Oued Ed-Dahab (EH)", + "type": "Region" + }, + { + "code": "MA-AGD", + "name": "Agadir-Ida-Ou-Tanane", + "parent": "MA-09", + "type": "Prefecture" + }, + { + "code": "MA-AOU", + "name": "Aousserd (EH)", + "parent": "MA-12", + "type": "Province" + }, + { + "code": "MA-ASZ", + "name": "Assa-Zag (EH-partial)", + "parent": "MA-10", + "type": "Province" + }, + { + "code": "MA-AZI", + "name": "Azilal", + "parent": "MA-05", + "type": "Province" + }, + { + "code": "MA-BEM", + "name": "Béni Mellal", + "parent": "MA-05", + "type": "Province" + }, + { + "code": "MA-BER", + "name": "Berkane", + "parent": "MA-02", + "type": "Province" + }, + { + "code": "MA-BES", + "name": "Benslimane", + "parent": "MA-06", + "type": "Province" + }, + { + "code": "MA-BOD", + "name": "Boujdour (EH)", + "parent": "MA-11", + "type": "Province" + }, + { + "code": "MA-BOM", + "name": "Boulemane", + "parent": "MA-03", + "type": "Province" + }, + { + "code": "MA-BRR", + "name": "Berrechid", + "parent": "MA-06", + "type": "Province" + }, + { + "code": "MA-CAS", + "name": "Casablanca", + "parent": "MA-06", + "type": "Prefecture" + }, + { + "code": "MA-CHE", + "name": "Chefchaouen", + "parent": "MA-01", + "type": "Province" + }, + { + "code": "MA-CHI", + "name": "Chichaoua", + "parent": "MA-07", + "type": "Province" + }, + { + "code": "MA-CHT", + "name": "Chtouka-Ait Baha", + "parent": "MA-06", + "type": "Province" + }, + { + "code": "MA-DRI", + "name": "Driouch", + "parent": "MA-02", + "type": "Province" + }, + { + "code": "MA-ERR", + "name": "Errachidia", + "parent": "MA-08", + "type": "Province" + }, + { + "code": "MA-ESI", + "name": "Essaouira", + "parent": "MA-07", + "type": "Province" + }, + { + "code": "MA-ESM", + "name": "Es-Semara (EH-partial)", + "parent": "MA-11", + "type": "Province" + }, + { + "code": "MA-FAH", + "name": "Fahs-Anjra", + "parent": "MA-01", + "type": "Province" + }, + { + "code": "MA-FES", + "name": "Fès", + "parent": "MA-03", + "type": "Prefecture" + }, + { + "code": "MA-FIG", + "name": "Figuig", + "parent": "MA-02", + "type": "Province" + }, + { + "code": "MA-FQH", + "name": "Fquih Ben Salah", + "parent": "MA-05", + "type": "Province" + }, + { + "code": "MA-GUE", + "name": "Guelmim", + "parent": "MA-10", + "type": "Province" + }, + { + "code": "MA-GUF", + "name": "Guercif", + "parent": "MA-02", + "type": "Province" + }, + { + "code": "MA-HAJ", + "name": "El Hajeb", + "parent": "MA-03", + "type": "Province" + }, + { + "code": "MA-HAO", + "name": "Al Haouz", + "parent": "MA-07", + "type": "Province" + }, + { + "code": "MA-HOC", + "name": "Al Hoceïma", + "parent": "MA-01", + "type": "Province" + }, + { + "code": "MA-IFR", + "name": "Ifrane", + "parent": "MA-03", + "type": "Province" + }, + { + "code": "MA-INE", + "name": "Inezgane-Ait Melloul", + "parent": "MA-09", + "type": "Prefecture" + }, + { + "code": "MA-JDI", + "name": "El Jadida", + "parent": "MA-06", + "type": "Province" + }, + { + "code": "MA-JRA", + "name": "Jerada", + "parent": "MA-02", + "type": "Province" + }, + { + "code": "MA-KEN", + "name": "Kénitra", + "parent": "MA-04", + "type": "Province" + }, + { + "code": "MA-KES", + "name": "El Kelâa des Sraghna", + "parent": "MA-07", + "type": "Province" + }, + { + "code": "MA-KHE", + "name": "Khémisset", + "parent": "MA-04", + "type": "Province" + }, + { + "code": "MA-KHN", + "name": "Khénifra", + "parent": "MA-05", + "type": "Province" + }, + { + "code": "MA-KHO", + "name": "Khouribga", + "parent": "MA-05", + "type": "Province" + }, + { + "code": "MA-LAA", + "name": "Laâyoune (EH)", + "parent": "MA-11", + "type": "Province" + }, + { + "code": "MA-LAR", + "name": "Larache", + "parent": "MA-01", + "type": "Province" + }, + { + "code": "MA-MAR", + "name": "Marrakech", + "parent": "MA-07", + "type": "Prefecture" + }, + { + "code": "MA-MDF", + "name": "M’diq-Fnideq", + "parent": "MA-01", + "type": "Prefecture" + }, + { + "code": "MA-MED", + "name": "Médiouna", + "parent": "MA-06", + "type": "Province" + }, + { + "code": "MA-MEK", + "name": "Meknès", + "parent": "MA-03", + "type": "Prefecture" + }, + { + "code": "MA-MID", + "name": "Midelt", + "parent": "MA-08", + "type": "Province" + }, + { + "code": "MA-MOH", + "name": "Mohammadia", + "parent": "MA-06", + "type": "Prefecture" + }, + { + "code": "MA-MOU", + "name": "Moulay Yacoub", + "parent": "MA-03", + "type": "Province" + }, + { + "code": "MA-NAD", + "name": "Nador", + "parent": "MA-02", + "type": "Province" + }, + { + "code": "MA-NOU", + "name": "Nouaceur", + "parent": "MA-04", + "type": "Province" + }, + { + "code": "MA-OUA", + "name": "Ouarzazate", + "parent": "MA-08", + "type": "Province" + }, + { + "code": "MA-OUD", + "name": "Oued Ed-Dahab (EH)", + "parent": "MA-12", + "type": "Province" + }, + { + "code": "MA-OUJ", + "name": "Oujda-Angad", + "parent": "MA-02", + "type": "Prefecture" + }, + { + "code": "MA-OUZ", + "name": "Ouezzane", + "parent": "MA-01", + "type": "Province" + }, + { + "code": "MA-RAB", + "name": "Rabat", + "parent": "MA-04", + "type": "Prefecture" + }, + { + "code": "MA-REH", + "name": "Rehamna", + "parent": "MA-07", + "type": "Province" + }, + { + "code": "MA-SAF", + "name": "Safi", + "parent": "MA-07", + "type": "Province" + }, + { + "code": "MA-SAL", + "name": "Salé", + "parent": "MA-04", + "type": "Prefecture" + }, + { + "code": "MA-SEF", + "name": "Sefrou", + "parent": "MA-03", + "type": "Province" + }, + { + "code": "MA-SET", + "name": "Settat", + "parent": "MA-06", + "type": "Province" + }, + { + "code": "MA-SIB", + "name": "Sidi Bennour", + "parent": "MA-06", + "type": "Province" + }, + { + "code": "MA-SIF", + "name": "Sidi Ifni", + "parent": "MA-10", + "type": "Province" + }, + { + "code": "MA-SIK", + "name": "Sidi Kacem", + "parent": "MA-04", + "type": "Province" + }, + { + "code": "MA-SIL", + "name": "Sidi Slimane", + "parent": "MA-04", + "type": "Province" + }, + { + "code": "MA-SKH", + "name": "Skhirate-Témara", + "parent": "MA-04", + "type": "Prefecture" + }, + { + "code": "MA-TAF", + "name": "Tarfaya (EH-partial)", + "parent": "MA-11", + "type": "Province" + }, + { + "code": "MA-TAI", + "name": "Taourirt", + "parent": "MA-02", + "type": "Province" + }, + { + "code": "MA-TAO", + "name": "Taounate", + "parent": "MA-03", + "type": "Province" + }, + { + "code": "MA-TAR", + "name": "Taroudannt", + "parent": "MA-09", + "type": "Province" + }, + { + "code": "MA-TAT", + "name": "Tata", + "parent": "MA-09", + "type": "Province" + }, + { + "code": "MA-TAZ", + "name": "Taza", + "parent": "MA-03", + "type": "Province" + }, + { + "code": "MA-TET", + "name": "Tétouan", + "parent": "MA-01", + "type": "Province" + }, + { + "code": "MA-TIN", + "name": "Tinghir", + "parent": "MA-08", + "type": "Province" + }, + { + "code": "MA-TIZ", + "name": "Tiznit", + "parent": "MA-09", + "type": "Province" + }, + { + "code": "MA-TNG", + "name": "Tanger-Assilah", + "parent": "MA-01", + "type": "Prefecture" + }, + { + "code": "MA-TNT", + "name": "Tan-Tan (EH-partial)", + "parent": "MA-10", + "type": "Province" + }, + { + "code": "MA-YUS", + "name": "Youssoufia", + "parent": "MA-07", + "type": "Province" + }, + { + "code": "MA-ZAG", + "name": "Zagora", + "parent": "MA-08", + "type": "Province" + }, + { + "code": "MC-CL", + "name": "La Colle", + "type": "Quarter" + }, + { + "code": "MC-CO", + "name": "La Condamine", + "type": "Quarter" + }, + { + "code": "MC-FO", + "name": "Fontvieille", + "type": "Quarter" + }, + { + "code": "MC-GA", + "name": "La Gare", + "type": "Quarter" + }, + { + "code": "MC-JE", + "name": "Jardin Exotique", + "type": "Quarter" + }, + { + "code": "MC-LA", + "name": "Larvotto", + "type": "Quarter" + }, + { + "code": "MC-MA", + "name": "Malbousquet", + "type": "Quarter" + }, + { + "code": "MC-MC", + "name": "Monte-Carlo", + "type": "Quarter" + }, + { + "code": "MC-MG", + "name": "Moneghetti", + "type": "Quarter" + }, + { + "code": "MC-MO", + "name": "Monaco-Ville", + "type": "Quarter" + }, + { + "code": "MC-MU", + "name": "Moulins", + "type": "Quarter" + }, + { + "code": "MC-PH", + "name": "Port-Hercule", + "type": "Quarter" + }, + { + "code": "MC-SD", + "name": "Sainte-Dévote", + "type": "Quarter" + }, + { + "code": "MC-SO", + "name": "La Source", + "type": "Quarter" + }, + { + "code": "MC-SP", + "name": "Spélugues", + "type": "Quarter" + }, + { + "code": "MC-SR", + "name": "Saint-Roman", + "type": "Quarter" + }, + { + "code": "MC-VR", + "name": "Vallon de la Rousse", + "type": "Quarter" + }, + { + "code": "MD-AN", + "name": "Anenii Noi", + "type": "District" + }, + { + "code": "MD-BA", + "name": "Bălți", + "type": "City" + }, + { + "code": "MD-BD", + "name": "Bender [Tighina]", + "type": "City" + }, + { + "code": "MD-BR", + "name": "Briceni", + "type": "District" + }, + { + "code": "MD-BS", + "name": "Basarabeasca", + "type": "District" + }, + { + "code": "MD-CA", + "name": "Cahul", + "type": "District" + }, + { + "code": "MD-CL", + "name": "Călărași", + "type": "District" + }, + { + "code": "MD-CM", + "name": "Cimișlia", + "type": "District" + }, + { + "code": "MD-CR", + "name": "Criuleni", + "type": "District" + }, + { + "code": "MD-CS", + "name": "Căușeni", + "type": "District" + }, + { + "code": "MD-CT", + "name": "Cantemir", + "type": "District" + }, + { + "code": "MD-CU", + "name": "Chișinău", + "type": "City" + }, + { + "code": "MD-DO", + "name": "Dondușeni", + "type": "District" + }, + { + "code": "MD-DR", + "name": "Drochia", + "type": "District" + }, + { + "code": "MD-DU", + "name": "Dubăsari", + "type": "District" + }, + { + "code": "MD-ED", + "name": "Edineț", + "type": "District" + }, + { + "code": "MD-FA", + "name": "Fălești", + "type": "District" + }, + { + "code": "MD-FL", + "name": "Florești", + "type": "District" + }, + { + "code": "MD-GA", + "name": "Găgăuzia, Unitatea teritorială autonomă (UTAG)", + "type": "Autonomous territorial unit" + }, + { + "code": "MD-GL", + "name": "Glodeni", + "type": "District" + }, + { + "code": "MD-HI", + "name": "Hîncești", + "type": "District" + }, + { + "code": "MD-IA", + "name": "Ialoveni", + "type": "District" + }, + { + "code": "MD-LE", + "name": "Leova", + "type": "District" + }, + { + "code": "MD-NI", + "name": "Nisporeni", + "type": "District" + }, + { + "code": "MD-OC", + "name": "Ocnița", + "type": "District" + }, + { + "code": "MD-OR", + "name": "Orhei", + "type": "District" + }, + { + "code": "MD-RE", + "name": "Rezina", + "type": "District" + }, + { + "code": "MD-RI", + "name": "Rîșcani", + "type": "District" + }, + { + "code": "MD-SD", + "name": "Șoldănești", + "type": "District" + }, + { + "code": "MD-SI", + "name": "Sîngerei", + "type": "District" + }, + { + "code": "MD-SN", + "name": "Stînga Nistrului, unitatea teritorială din", + "type": "Territorial unit" + }, + { + "code": "MD-SO", + "name": "Soroca", + "type": "District" + }, + { + "code": "MD-ST", + "name": "Strășeni", + "type": "District" + }, + { + "code": "MD-SV", + "name": "Ștefan Vodă", + "type": "District" + }, + { + "code": "MD-TA", + "name": "Taraclia", + "type": "District" + }, + { + "code": "MD-TE", + "name": "Telenești", + "type": "District" + }, + { + "code": "MD-UN", + "name": "Ungheni", + "type": "District" + }, + { + "code": "ME-01", + "name": "Andrijevica", + "type": "Municipality" + }, + { + "code": "ME-02", + "name": "Bar", + "type": "Municipality" + }, + { + "code": "ME-03", + "name": "Berane", + "type": "Municipality" + }, + { + "code": "ME-04", + "name": "Bijelo Polje", + "type": "Municipality" + }, + { + "code": "ME-05", + "name": "Budva", + "type": "Municipality" + }, + { + "code": "ME-06", + "name": "Cetinje", + "type": "Municipality" + }, + { + "code": "ME-07", + "name": "Danilovgrad", + "type": "Municipality" + }, + { + "code": "ME-08", + "name": "Herceg-Novi", + "type": "Municipality" + }, + { + "code": "ME-09", + "name": "Kolašin", + "type": "Municipality" + }, + { + "code": "ME-10", + "name": "Kotor", + "type": "Municipality" + }, + { + "code": "ME-11", + "name": "Mojkovac", + "type": "Municipality" + }, + { + "code": "ME-12", + "name": "Nikšić", + "type": "Municipality" + }, + { + "code": "ME-13", + "name": "Plav", + "type": "Municipality" + }, + { + "code": "ME-14", + "name": "Pljevlja", + "type": "Municipality" + }, + { + "code": "ME-15", + "name": "Plužine", + "type": "Municipality" + }, + { + "code": "ME-16", + "name": "Podgorica", + "type": "Municipality" + }, + { + "code": "ME-17", + "name": "Rožaje", + "type": "Municipality" + }, + { + "code": "ME-18", + "name": "Šavnik", + "type": "Municipality" + }, + { + "code": "ME-19", + "name": "Tivat", + "type": "Municipality" + }, + { + "code": "ME-20", + "name": "Ulcinj", + "type": "Municipality" + }, + { + "code": "ME-21", + "name": "Žabljak", + "type": "Municipality" + }, + { + "code": "ME-22", + "name": "Gusinje", + "type": "Municipality" + }, + { + "code": "ME-23", + "name": "Petnjica", + "type": "Municipality" + }, + { + "code": "ME-24", + "name": "Tuzi", + "type": "Municipality" + }, + { + "code": "ME-25", + "name": "Zeta", + "type": "Municipality" + }, + { + "code": "MG-A", + "name": "Toamasina", + "type": "Province" + }, + { + "code": "MG-D", + "name": "Antsiranana", + "type": "Province" + }, + { + "code": "MG-F", + "name": "Fianarantsoa", + "type": "Province" + }, + { + "code": "MG-M", + "name": "Mahajanga", + "type": "Province" + }, + { + "code": "MG-T", + "name": "Antananarivo", + "type": "Province" + }, + { + "code": "MG-U", + "name": "Toliara", + "type": "Province" + }, + { + "code": "MH-ALK", + "name": "Ailuk", + "parent": "MH-T", + "type": "Municipality" + }, + { + "code": "MH-ALL", + "name": "Ailinglaplap", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-ARN", + "name": "Arno", + "parent": "MH-T", + "type": "Municipality" + }, + { + "code": "MH-AUR", + "name": "Aur", + "parent": "MH-T", + "type": "Municipality" + }, + { + "code": "MH-EBO", + "name": "Ebon", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-ENI", + "name": "Enewetak & Ujelang", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-JAB", + "name": "Jabat", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-JAL", + "name": "Jaluit", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-KIL", + "name": "Bikini & Kili", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-KWA", + "name": "Kwajalein", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-L", + "name": "Ralik chain", + "type": "Chain (of islands)" + }, + { + "code": "MH-LAE", + "name": "Lae", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-LIB", + "name": "Lib", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-LIK", + "name": "Likiep", + "parent": "MH-T", + "type": "Municipality" + }, + { + "code": "MH-MAJ", + "name": "Majuro", + "parent": "MH-T", + "type": "Municipality" + }, + { + "code": "MH-MAL", + "name": "Maloelap", + "parent": "MH-T", + "type": "Municipality" + }, + { + "code": "MH-MEJ", + "name": "Mejit", + "parent": "MH-T", + "type": "Municipality" + }, + { + "code": "MH-MIL", + "name": "Mili", + "parent": "MH-T", + "type": "Municipality" + }, + { + "code": "MH-NMK", + "name": "Namdrik", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-NMU", + "name": "Namu", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-RON", + "name": "Rongelap", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-T", + "name": "Ratak chain", + "type": "Chain (of islands)" + }, + { + "code": "MH-UJA", + "name": "Ujae", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-UTI", + "name": "Utrik", + "parent": "MH-T", + "type": "Municipality" + }, + { + "code": "MH-WTH", + "name": "Wotho", + "parent": "MH-L", + "type": "Municipality" + }, + { + "code": "MH-WTJ", + "name": "Wotje", + "parent": "MH-T", + "type": "Municipality" + }, + { + "code": "MK-101", + "name": "Veles", + "type": "Municipality" + }, + { + "code": "MK-102", + "name": "Gradsko", + "type": "Municipality" + }, + { + "code": "MK-103", + "name": "Demir Kapija", + "type": "Municipality" + }, + { + "code": "MK-104", + "name": "Kavadarci", + "type": "Municipality" + }, + { + "code": "MK-105", + "name": "Lozovo", + "type": "Municipality" + }, + { + "code": "MK-106", + "name": "Negotino", + "type": "Municipality" + }, + { + "code": "MK-107", + "name": "Rosoman", + "type": "Municipality" + }, + { + "code": "MK-108", + "name": "Sveti Nikole", + "type": "Municipality" + }, + { + "code": "MK-109", + "name": "Čaška", + "type": "Municipality" + }, + { + "code": "MK-201", + "name": "Berovo", + "type": "Municipality" + }, + { + "code": "MK-202", + "name": "Vinica", + "type": "Municipality" + }, + { + "code": "MK-203", + "name": "Delčevo", + "type": "Municipality" + }, + { + "code": "MK-204", + "name": "Zrnovci", + "type": "Municipality" + }, + { + "code": "MK-205", + "name": "Karbinci", + "type": "Municipality" + }, + { + "code": "MK-206", + "name": "Kočani", + "type": "Municipality" + }, + { + "code": "MK-207", + "name": "Makedonska Kamenica", + "type": "Municipality" + }, + { + "code": "MK-208", + "name": "Pehčevo", + "type": "Municipality" + }, + { + "code": "MK-209", + "name": "Probištip", + "type": "Municipality" + }, + { + "code": "MK-210", + "name": "Češinovo-Obleševo", + "type": "Municipality" + }, + { + "code": "MK-211", + "name": "Štip", + "type": "Municipality" + }, + { + "code": "MK-301", + "name": "Vevčani", + "type": "Municipality" + }, + { + "code": "MK-303", + "name": "Debar", + "type": "Municipality" + }, + { + "code": "MK-304", + "name": "Debrca", + "type": "Municipality" + }, + { + "code": "MK-307", + "name": "Kičevo", + "type": "Municipality" + }, + { + "code": "MK-308", + "name": "Makedonski Brod", + "type": "Municipality" + }, + { + "code": "MK-310", + "name": "Ohrid", + "type": "Municipality" + }, + { + "code": "MK-311", + "name": "Plasnica", + "type": "Municipality" + }, + { + "code": "MK-312", + "name": "Struga", + "type": "Municipality" + }, + { + "code": "MK-313", + "name": "Centar Župa", + "type": "Municipality" + }, + { + "code": "MK-401", + "name": "Bogdanci", + "type": "Municipality" + }, + { + "code": "MK-402", + "name": "Bosilovo", + "type": "Municipality" + }, + { + "code": "MK-403", + "name": "Valandovo", + "type": "Municipality" + }, + { + "code": "MK-404", + "name": "Vasilevo", + "type": "Municipality" + }, + { + "code": "MK-405", + "name": "Gevgelija", + "type": "Municipality" + }, + { + "code": "MK-406", + "name": "Dojran", + "type": "Municipality" + }, + { + "code": "MK-407", + "name": "Konče", + "type": "Municipality" + }, + { + "code": "MK-408", + "name": "Novo Selo", + "type": "Municipality" + }, + { + "code": "MK-409", + "name": "Radoviš", + "type": "Municipality" + }, + { + "code": "MK-410", + "name": "Strumica", + "type": "Municipality" + }, + { + "code": "MK-501", + "name": "Bitola", + "type": "Municipality" + }, + { + "code": "MK-502", + "name": "Demir Hisar", + "type": "Municipality" + }, + { + "code": "MK-503", + "name": "Dolneni", + "type": "Municipality" + }, + { + "code": "MK-504", + "name": "Krivogaštani", + "type": "Municipality" + }, + { + "code": "MK-505", + "name": "Kruševo", + "type": "Municipality" + }, + { + "code": "MK-506", + "name": "Mogila", + "type": "Municipality" + }, + { + "code": "MK-507", + "name": "Novaci", + "type": "Municipality" + }, + { + "code": "MK-508", + "name": "Prilep", + "type": "Municipality" + }, + { + "code": "MK-509", + "name": "Resen", + "type": "Municipality" + }, + { + "code": "MK-601", + "name": "Bogovinje", + "type": "Municipality" + }, + { + "code": "MK-602", + "name": "Brvenica", + "type": "Municipality" + }, + { + "code": "MK-603", + "name": "Vrapčište", + "type": "Municipality" + }, + { + "code": "MK-604", + "name": "Gostivar", + "type": "Municipality" + }, + { + "code": "MK-605", + "name": "Želino", + "type": "Municipality" + }, + { + "code": "MK-606", + "name": "Jegunovce", + "type": "Municipality" + }, + { + "code": "MK-607", + "name": "Mavrovo i Rostuše", + "type": "Municipality" + }, + { + "code": "MK-608", + "name": "Tearce", + "type": "Municipality" + }, + { + "code": "MK-609", + "name": "Tetovo", + "type": "Municipality" + }, + { + "code": "MK-701", + "name": "Kratovo", + "type": "Municipality" + }, + { + "code": "MK-702", + "name": "Kriva Palanka", + "type": "Municipality" + }, + { + "code": "MK-703", + "name": "Kumanovo", + "type": "Municipality" + }, + { + "code": "MK-704", + "name": "Lipkovo", + "type": "Municipality" + }, + { + "code": "MK-705", + "name": "Rankovce", + "type": "Municipality" + }, + { + "code": "MK-706", + "name": "Staro Nagoričane", + "type": "Municipality" + }, + { + "code": "MK-801", + "name": "Aerodrom †", + "type": "Municipality" + }, + { + "code": "MK-802", + "name": "Aračinovo", + "type": "Municipality" + }, + { + "code": "MK-803", + "name": "Butel †", + "type": "Municipality" + }, + { + "code": "MK-804", + "name": "Gazi Baba †", + "type": "Municipality" + }, + { + "code": "MK-805", + "name": "Gjorče Petrov †", + "type": "Municipality" + }, + { + "code": "MK-806", + "name": "Zelenikovo", + "type": "Municipality" + }, + { + "code": "MK-807", + "name": "Ilinden", + "type": "Municipality" + }, + { + "code": "MK-808", + "name": "Karpoš †", + "type": "Municipality" + }, + { + "code": "MK-809", + "name": "Kisela Voda †", + "type": "Municipality" + }, + { + "code": "MK-810", + "name": "Petrovec", + "type": "Municipality" + }, + { + "code": "MK-811", + "name": "Saraj †", + "type": "Municipality" + }, + { + "code": "MK-812", + "name": "Sopište", + "type": "Municipality" + }, + { + "code": "MK-813", + "name": "Studeničani", + "type": "Municipality" + }, + { + "code": "MK-814", + "name": "Centar †", + "type": "Municipality" + }, + { + "code": "MK-815", + "name": "Čair †", + "type": "Municipality" + }, + { + "code": "MK-816", + "name": "Čučer-Sandevo", + "type": "Municipality" + }, + { + "code": "MK-817", + "name": "Šuto Orizari †", + "type": "Municipality" + }, + { + "code": "ML-1", + "name": "Kayes", + "type": "Region" + }, + { + "code": "ML-10", + "name": "Taoudénit", + "type": "Region" + }, + { + "code": "ML-2", + "name": "Koulikoro", + "type": "Region" + }, + { + "code": "ML-3", + "name": "Sikasso", + "type": "Region" + }, + { + "code": "ML-4", + "name": "Ségou", + "type": "Region" + }, + { + "code": "ML-5", + "name": "Mopti", + "type": "Region" + }, + { + "code": "ML-6", + "name": "Tombouctou", + "type": "Region" + }, + { + "code": "ML-7", + "name": "Gao", + "type": "Region" + }, + { + "code": "ML-8", + "name": "Kidal", + "type": "Region" + }, + { + "code": "ML-9", + "name": "Ménaka", + "type": "Region" + }, + { + "code": "ML-BKO", + "name": "Bamako", + "type": "District" + }, + { + "code": "MM-01", + "name": "Sagaing", + "type": "Region" + }, + { + "code": "MM-02", + "name": "Bago", + "type": "Region" + }, + { + "code": "MM-03", + "name": "Magway", + "type": "Region" + }, + { + "code": "MM-04", + "name": "Mandalay", + "type": "Region" + }, + { + "code": "MM-05", + "name": "Tanintharyi", + "type": "Region" + }, + { + "code": "MM-06", + "name": "Yangon", + "type": "Region" + }, + { + "code": "MM-07", + "name": "Ayeyarwady", + "type": "Region" + }, + { + "code": "MM-11", + "name": "Kachin", + "type": "State" + }, + { + "code": "MM-12", + "name": "Kayah", + "type": "State" + }, + { + "code": "MM-13", + "name": "Kayin", + "type": "State" + }, + { + "code": "MM-14", + "name": "Chin", + "type": "State" + }, + { + "code": "MM-15", + "name": "Mon", + "type": "State" + }, + { + "code": "MM-16", + "name": "Rakhine", + "type": "State" + }, + { + "code": "MM-17", + "name": "Shan", + "type": "State" + }, + { + "code": "MM-18", + "name": "Nay Pyi Taw", + "type": "Union territory" + }, + { + "code": "MN-035", + "name": "Orhon", + "type": "Province" + }, + { + "code": "MN-037", + "name": "Darhan uul", + "type": "Province" + }, + { + "code": "MN-039", + "name": "Hentiy", + "type": "Province" + }, + { + "code": "MN-041", + "name": "Hövsgöl", + "type": "Province" + }, + { + "code": "MN-043", + "name": "Hovd", + "type": "Province" + }, + { + "code": "MN-046", + "name": "Uvs", + "type": "Province" + }, + { + "code": "MN-047", + "name": "Töv", + "type": "Province" + }, + { + "code": "MN-049", + "name": "Selenge", + "type": "Province" + }, + { + "code": "MN-051", + "name": "Sühbaatar", + "type": "Province" + }, + { + "code": "MN-053", + "name": "Ömnögovĭ", + "type": "Province" + }, + { + "code": "MN-055", + "name": "Övörhangay", + "type": "Province" + }, + { + "code": "MN-057", + "name": "Dzavhan", + "type": "Province" + }, + { + "code": "MN-059", + "name": "Dundgovĭ", + "type": "Province" + }, + { + "code": "MN-061", + "name": "Dornod", + "type": "Province" + }, + { + "code": "MN-063", + "name": "Dornogovĭ", + "type": "Province" + }, + { + "code": "MN-064", + "name": "Govĭ-Sümber", + "type": "Province" + }, + { + "code": "MN-065", + "name": "Govĭ-Altay", + "type": "Province" + }, + { + "code": "MN-067", + "name": "Bulgan", + "type": "Province" + }, + { + "code": "MN-069", + "name": "Bayanhongor", + "type": "Province" + }, + { + "code": "MN-071", + "name": "Bayan-Ölgiy", + "type": "Province" + }, + { + "code": "MN-073", + "name": "Arhangay", + "type": "Province" + }, + { + "code": "MN-1", + "name": "Ulaanbaatar", + "type": "Capital city" + }, + { + "code": "MR-01", + "name": "Hodh ech Chargui", + "type": "Region" + }, + { + "code": "MR-02", + "name": "Hodh el Gharbi", + "type": "Region" + }, + { + "code": "MR-03", + "name": "Assaba", + "type": "Region" + }, + { + "code": "MR-04", + "name": "Gorgol", + "type": "Region" + }, + { + "code": "MR-05", + "name": "Brakna", + "type": "Region" + }, + { + "code": "MR-06", + "name": "Trarza", + "type": "Region" + }, + { + "code": "MR-07", + "name": "Adrar", + "type": "Region" + }, + { + "code": "MR-08", + "name": "Dakhlet Nouâdhibou", + "type": "Region" + }, + { + "code": "MR-09", + "name": "Tagant", + "type": "Region" + }, + { + "code": "MR-10", + "name": "Guidimaka", + "type": "Region" + }, + { + "code": "MR-11", + "name": "Tiris Zemmour", + "type": "Region" + }, + { + "code": "MR-12", + "name": "Inchiri", + "type": "Region" + }, + { + "code": "MR-13", + "name": "Nouakchott Ouest", + "type": "Region" + }, + { + "code": "MR-14", + "name": "Nouakchott Nord", + "type": "Region" + }, + { + "code": "MR-15", + "name": "Nouakchott Sud", + "type": "Region" + }, + { + "code": "MT-01", + "name": "Attard", + "type": "Local council" + }, + { + "code": "MT-02", + "name": "Balzan", + "type": "Local council" + }, + { + "code": "MT-03", + "name": "Birgu", + "type": "Local council" + }, + { + "code": "MT-04", + "name": "Birkirkara", + "type": "Local council" + }, + { + "code": "MT-05", + "name": "Birżebbuġa", + "type": "Local council" + }, + { + "code": "MT-06", + "name": "Bormla", + "type": "Local council" + }, + { + "code": "MT-07", + "name": "Dingli", + "type": "Local council" + }, + { + "code": "MT-08", + "name": "Fgura", + "type": "Local council" + }, + { + "code": "MT-09", + "name": "Floriana", + "type": "Local council" + }, + { + "code": "MT-10", + "name": "Fontana", + "type": "Local council" + }, + { + "code": "MT-11", + "name": "Gudja", + "type": "Local council" + }, + { + "code": "MT-12", + "name": "Gżira", + "type": "Local council" + }, + { + "code": "MT-13", + "name": "Għajnsielem", + "type": "Local council" + }, + { + "code": "MT-14", + "name": "Għarb", + "type": "Local council" + }, + { + "code": "MT-15", + "name": "Għargħur", + "type": "Local council" + }, + { + "code": "MT-16", + "name": "Għasri", + "type": "Local council" + }, + { + "code": "MT-17", + "name": "Għaxaq", + "type": "Local council" + }, + { + "code": "MT-18", + "name": "Ħamrun", + "type": "Local council" + }, + { + "code": "MT-19", + "name": "Iklin", + "type": "Local council" + }, + { + "code": "MT-20", + "name": "Isla", + "type": "Local council" + }, + { + "code": "MT-21", + "name": "Kalkara", + "type": "Local council" + }, + { + "code": "MT-22", + "name": "Kerċem", + "type": "Local council" + }, + { + "code": "MT-23", + "name": "Kirkop", + "type": "Local council" + }, + { + "code": "MT-24", + "name": "Lija", + "type": "Local council" + }, + { + "code": "MT-25", + "name": "Luqa", + "type": "Local council" + }, + { + "code": "MT-26", + "name": "Marsa", + "type": "Local council" + }, + { + "code": "MT-27", + "name": "Marsaskala", + "type": "Local council" + }, + { + "code": "MT-28", + "name": "Marsaxlokk", + "type": "Local council" + }, + { + "code": "MT-29", + "name": "Mdina", + "type": "Local council" + }, + { + "code": "MT-30", + "name": "Mellieħa", + "type": "Local council" + }, + { + "code": "MT-31", + "name": "Mġarr", + "type": "Local council" + }, + { + "code": "MT-32", + "name": "Mosta", + "type": "Local council" + }, + { + "code": "MT-33", + "name": "Mqabba", + "type": "Local council" + }, + { + "code": "MT-34", + "name": "Msida", + "type": "Local council" + }, + { + "code": "MT-35", + "name": "Mtarfa", + "type": "Local council" + }, + { + "code": "MT-36", + "name": "Munxar", + "type": "Local council" + }, + { + "code": "MT-37", + "name": "Nadur", + "type": "Local council" + }, + { + "code": "MT-38", + "name": "Naxxar", + "type": "Local council" + }, + { + "code": "MT-39", + "name": "Paola", + "type": "Local council" + }, + { + "code": "MT-40", + "name": "Pembroke", + "type": "Local council" + }, + { + "code": "MT-41", + "name": "Pietà", + "type": "Local council" + }, + { + "code": "MT-42", + "name": "Qala", + "type": "Local council" + }, + { + "code": "MT-43", + "name": "Qormi", + "type": "Local council" + }, + { + "code": "MT-44", + "name": "Qrendi", + "type": "Local council" + }, + { + "code": "MT-45", + "name": "Rabat Gozo", + "type": "Local council" + }, + { + "code": "MT-46", + "name": "Rabat Malta", + "type": "Local council" + }, + { + "code": "MT-47", + "name": "Safi", + "type": "Local council" + }, + { + "code": "MT-48", + "name": "Saint Julian's", + "type": "Local council" + }, + { + "code": "MT-49", + "name": "Saint John", + "type": "Local council" + }, + { + "code": "MT-50", + "name": "Saint Lawrence", + "type": "Local council" + }, + { + "code": "MT-51", + "name": "Saint Paul's Bay", + "type": "Local council" + }, + { + "code": "MT-52", + "name": "Sannat", + "type": "Local council" + }, + { + "code": "MT-53", + "name": "Saint Lucia's", + "type": "Local council" + }, + { + "code": "MT-54", + "name": "Santa Venera", + "type": "Local council" + }, + { + "code": "MT-55", + "name": "Siġġiewi", + "type": "Local council" + }, + { + "code": "MT-56", + "name": "Sliema", + "type": "Local council" + }, + { + "code": "MT-57", + "name": "Swieqi", + "type": "Local council" + }, + { + "code": "MT-58", + "name": "Ta' Xbiex", + "type": "Local council" + }, + { + "code": "MT-59", + "name": "Tarxien", + "type": "Local council" + }, + { + "code": "MT-60", + "name": "Valletta", + "type": "Local council" + }, + { + "code": "MT-61", + "name": "Xagħra", + "type": "Local council" + }, + { + "code": "MT-62", + "name": "Xewkija", + "type": "Local council" + }, + { + "code": "MT-63", + "name": "Xgħajra", + "type": "Local council" + }, + { + "code": "MT-64", + "name": "Żabbar", + "type": "Local council" + }, + { + "code": "MT-65", + "name": "Żebbuġ Gozo", + "type": "Local council" + }, + { + "code": "MT-66", + "name": "Żebbuġ Malta", + "type": "Local council" + }, + { + "code": "MT-67", + "name": "Żejtun", + "type": "Local council" + }, + { + "code": "MT-68", + "name": "Żurrieq", + "type": "Local council" + }, + { + "code": "MU-AG", + "name": "Agalega Islands", + "type": "Dependency" + }, + { + "code": "MU-BL", + "name": "Black River", + "type": "District" + }, + { + "code": "MU-CC", + "name": "Cargados Carajos Shoals", + "type": "Dependency" + }, + { + "code": "MU-FL", + "name": "Flacq", + "type": "District" + }, + { + "code": "MU-GP", + "name": "Grand Port", + "type": "District" + }, + { + "code": "MU-MO", + "name": "Moka", + "type": "District" + }, + { + "code": "MU-PA", + "name": "Pamplemousses", + "type": "District" + }, + { + "code": "MU-PL", + "name": "Port Louis", + "type": "District" + }, + { + "code": "MU-PW", + "name": "Plaines Wilhems", + "type": "District" + }, + { + "code": "MU-RO", + "name": "Rodrigues Island", + "type": "Dependency" + }, + { + "code": "MU-RR", + "name": "Rivière du Rempart", + "type": "District" + }, + { + "code": "MU-SA", + "name": "Savanne", + "type": "District" + }, + { + "code": "MV-00", + "name": "South Ari Atoll", + "type": "Administrative atoll" + }, + { + "code": "MV-01", + "name": "Addu City", + "type": "City" + }, + { + "code": "MV-02", + "name": "North Ari Atoll", + "type": "Administrative atoll" + }, + { + "code": "MV-03", + "name": "Faadhippolhu", + "type": "Administrative atoll" + }, + { + "code": "MV-04", + "name": "Felidhu Atoll", + "type": "Administrative atoll" + }, + { + "code": "MV-05", + "name": "Hahdhunmathi", + "type": "Administrative atoll" + }, + { + "code": "MV-07", + "name": "North Thiladhunmathi", + "type": "Administrative atoll" + }, + { + "code": "MV-08", + "name": "Kolhumadulu", + "type": "Administrative atoll" + }, + { + "code": "MV-12", + "name": "Mulaku Atoll", + "type": "Administrative atoll" + }, + { + "code": "MV-13", + "name": "North Maalhosmadulu", + "type": "Administrative atoll" + }, + { + "code": "MV-14", + "name": "North Nilandhe Atoll", + "type": "Administrative atoll" + }, + { + "code": "MV-17", + "name": "South Nilandhe Atoll", + "type": "Administrative atoll" + }, + { + "code": "MV-20", + "name": "South Maalhosmadulu", + "type": "Administrative atoll" + }, + { + "code": "MV-23", + "name": "South Thiladhunmathi", + "type": "Administrative atoll" + }, + { + "code": "MV-24", + "name": "North Miladhunmadulu", + "type": "Administrative atoll" + }, + { + "code": "MV-25", + "name": "South Miladhunmadulu", + "type": "Administrative atoll" + }, + { + "code": "MV-26", + "name": "Male Atoll", + "type": "Administrative atoll" + }, + { + "code": "MV-27", + "name": "North Huvadhu Atoll", + "type": "Administrative atoll" + }, + { + "code": "MV-28", + "name": "South Huvadhu Atoll", + "type": "Administrative atoll" + }, + { + "code": "MV-29", + "name": "Fuvammulah", + "type": "Administrative atoll" + }, + { + "code": "MV-MLE", + "name": "Male", + "type": "City" + }, + { + "code": "MW-BA", + "name": "Balaka", + "parent": "MW-S", + "type": "District" + }, + { + "code": "MW-BL", + "name": "Blantyre", + "parent": "MW-S", + "type": "District" + }, + { + "code": "MW-C", + "name": "Central Region", + "type": "Region" + }, + { + "code": "MW-CK", + "name": "Chikwawa", + "parent": "MW-S", + "type": "District" + }, + { + "code": "MW-CR", + "name": "Chiradzulu", + "parent": "MW-S", + "type": "District" + }, + { + "code": "MW-CT", + "name": "Chitipa", + "parent": "MW-N", + "type": "District" + }, + { + "code": "MW-DE", + "name": "Dedza", + "parent": "MW-C", + "type": "District" + }, + { + "code": "MW-DO", + "name": "Dowa", + "parent": "MW-C", + "type": "District" + }, + { + "code": "MW-KR", + "name": "Karonga", + "parent": "MW-N", + "type": "District" + }, + { + "code": "MW-KS", + "name": "Kasungu", + "parent": "MW-C", + "type": "District" + }, + { + "code": "MW-LI", + "name": "Lilongwe", + "parent": "MW-C", + "type": "District" + }, + { + "code": "MW-LK", + "name": "Likoma", + "parent": "MW-N", + "type": "District" + }, + { + "code": "MW-MC", + "name": "Mchinji", + "parent": "MW-C", + "type": "District" + }, + { + "code": "MW-MG", + "name": "Mangochi", + "parent": "MW-S", + "type": "District" + }, + { + "code": "MW-MH", + "name": "Machinga", + "parent": "MW-S", + "type": "District" + }, + { + "code": "MW-MU", + "name": "Mulanje", + "parent": "MW-S", + "type": "District" + }, + { + "code": "MW-MW", + "name": "Mwanza", + "parent": "MW-S", + "type": "District" + }, + { + "code": "MW-MZ", + "name": "Mzimba", + "parent": "MW-N", + "type": "District" + }, + { + "code": "MW-N", + "name": "Northern Region", + "type": "Region" + }, + { + "code": "MW-NB", + "name": "Nkhata Bay", + "parent": "MW-N", + "type": "District" + }, + { + "code": "MW-NE", + "name": "Neno", + "parent": "MW-S", + "type": "District" + }, + { + "code": "MW-NI", + "name": "Ntchisi", + "parent": "MW-C", + "type": "District" + }, + { + "code": "MW-NK", + "name": "Nkhotakota", + "parent": "MW-C", + "type": "District" + }, + { + "code": "MW-NS", + "name": "Nsanje", + "parent": "MW-S", + "type": "District" + }, + { + "code": "MW-NU", + "name": "Ntcheu", + "parent": "MW-C", + "type": "District" + }, + { + "code": "MW-PH", + "name": "Phalombe", + "parent": "MW-S", + "type": "District" + }, + { + "code": "MW-RU", + "name": "Rumphi", + "parent": "MW-N", + "type": "District" + }, + { + "code": "MW-S", + "name": "Southern Region", + "type": "Region" + }, + { + "code": "MW-SA", + "name": "Salima", + "parent": "MW-C", + "type": "District" + }, + { + "code": "MW-TH", + "name": "Thyolo", + "parent": "MW-S", + "type": "District" + }, + { + "code": "MW-ZO", + "name": "Zomba", + "parent": "MW-S", + "type": "District" + }, + { + "code": "MX-AGU", + "name": "Aguascalientes", + "type": "State" + }, + { + "code": "MX-BCN", + "name": "Baja California", + "type": "State" + }, + { + "code": "MX-BCS", + "name": "Baja California Sur", + "type": "State" + }, + { + "code": "MX-CAM", + "name": "Campeche", + "type": "State" + }, + { + "code": "MX-CHH", + "name": "Chihuahua", + "type": "State" + }, + { + "code": "MX-CHP", + "name": "Chiapas", + "type": "State" + }, + { + "code": "MX-CMX", + "name": "Ciudad de México", + "type": "Federal entity" + }, + { + "code": "MX-COA", + "name": "Coahuila de Zaragoza", + "type": "State" + }, + { + "code": "MX-COL", + "name": "Colima", + "type": "State" + }, + { + "code": "MX-DUR", + "name": "Durango", + "type": "State" + }, + { + "code": "MX-GRO", + "name": "Guerrero", + "type": "State" + }, + { + "code": "MX-GUA", + "name": "Guanajuato", + "type": "State" + }, + { + "code": "MX-HID", + "name": "Hidalgo", + "type": "State" + }, + { + "code": "MX-JAL", + "name": "Jalisco", + "type": "State" + }, + { + "code": "MX-MEX", + "name": "México", + "type": "State" + }, + { + "code": "MX-MIC", + "name": "Michoacán de Ocampo", + "type": "State" + }, + { + "code": "MX-MOR", + "name": "Morelos", + "type": "State" + }, + { + "code": "MX-NAY", + "name": "Nayarit", + "type": "State" + }, + { + "code": "MX-NLE", + "name": "Nuevo León", + "type": "State" + }, + { + "code": "MX-OAX", + "name": "Oaxaca", + "type": "State" + }, + { + "code": "MX-PUE", + "name": "Puebla", + "type": "State" + }, + { + "code": "MX-QUE", + "name": "Querétaro", + "type": "State" + }, + { + "code": "MX-ROO", + "name": "Quintana Roo", + "type": "State" + }, + { + "code": "MX-SIN", + "name": "Sinaloa", + "type": "State" + }, + { + "code": "MX-SLP", + "name": "San Luis Potosí", + "type": "State" + }, + { + "code": "MX-SON", + "name": "Sonora", + "type": "State" + }, + { + "code": "MX-TAB", + "name": "Tabasco", + "type": "State" + }, + { + "code": "MX-TAM", + "name": "Tamaulipas", + "type": "State" + }, + { + "code": "MX-TLA", + "name": "Tlaxcala", + "type": "State" + }, + { + "code": "MX-VER", + "name": "Veracruz de Ignacio de la Llave", + "type": "State" + }, + { + "code": "MX-YUC", + "name": "Yucatán", + "type": "State" + }, + { + "code": "MX-ZAC", + "name": "Zacatecas", + "type": "State" + }, + { + "code": "MY-01", + "name": "Johor", + "type": "State" + }, + { + "code": "MY-02", + "name": "Kedah", + "type": "State" + }, + { + "code": "MY-03", + "name": "Kelantan", + "type": "State" + }, + { + "code": "MY-04", + "name": "Melaka", + "type": "State" + }, + { + "code": "MY-05", + "name": "Negeri Sembilan", + "type": "State" + }, + { + "code": "MY-06", + "name": "Pahang", + "type": "State" + }, + { + "code": "MY-07", + "name": "Pulau Pinang", + "type": "State" + }, + { + "code": "MY-08", + "name": "Perak", + "type": "State" + }, + { + "code": "MY-09", + "name": "Perlis", + "type": "State" + }, + { + "code": "MY-10", + "name": "Selangor", + "type": "State" + }, + { + "code": "MY-11", + "name": "Terengganu", + "type": "State" + }, + { + "code": "MY-12", + "name": "Sabah", + "type": "State" + }, + { + "code": "MY-13", + "name": "Sarawak", + "type": "State" + }, + { + "code": "MY-14", + "name": "Wilayah Persekutuan Kuala Lumpur", + "type": "Federal territory" + }, + { + "code": "MY-15", + "name": "Wilayah Persekutuan Labuan", + "type": "Federal territory" + }, + { + "code": "MY-16", + "name": "Wilayah Persekutuan Putrajaya", + "type": "Federal territory" + }, + { + "code": "MZ-A", + "name": "Niassa", + "type": "Province" + }, + { + "code": "MZ-B", + "name": "Manica", + "type": "Province" + }, + { + "code": "MZ-G", + "name": "Gaza", + "type": "Province" + }, + { + "code": "MZ-I", + "name": "Inhambane", + "type": "Province" + }, + { + "code": "MZ-L", + "name": "Maputo", + "type": "Province" + }, + { + "code": "MZ-MPM", + "name": "Maputo", + "type": "City" + }, + { + "code": "MZ-N", + "name": "Nampula", + "type": "Province" + }, + { + "code": "MZ-P", + "name": "Cabo Delgado", + "type": "Province" + }, + { + "code": "MZ-Q", + "name": "Zambézia", + "type": "Province" + }, + { + "code": "MZ-S", + "name": "Sofala", + "type": "Province" + }, + { + "code": "MZ-T", + "name": "Tete", + "type": "Province" + }, + { + "code": "NA-CA", + "name": "Zambezi", + "type": "Region" + }, + { + "code": "NA-ER", + "name": "Erongo", + "type": "Region" + }, + { + "code": "NA-HA", + "name": "Hardap", + "type": "Region" + }, + { + "code": "NA-KA", + "name": "//Karas", + "type": "Region" + }, + { + "code": "NA-KE", + "name": "Kavango East", + "type": "Region" + }, + { + "code": "NA-KH", + "name": "Khomas", + "type": "Region" + }, + { + "code": "NA-KU", + "name": "Kunene", + "type": "Region" + }, + { + "code": "NA-KW", + "name": "Kavango West", + "type": "Region" + }, + { + "code": "NA-OD", + "name": "Otjozondjupa", + "type": "Region" + }, + { + "code": "NA-OH", + "name": "Omaheke", + "type": "Region" + }, + { + "code": "NA-ON", + "name": "Oshana", + "type": "Region" + }, + { + "code": "NA-OS", + "name": "Omusati", + "type": "Region" + }, + { + "code": "NA-OT", + "name": "Oshikoto", + "type": "Region" + }, + { + "code": "NA-OW", + "name": "Ohangwena", + "type": "Region" + }, + { + "code": "NE-1", + "name": "Agadez", + "type": "Region" + }, + { + "code": "NE-2", + "name": "Diffa", + "type": "Region" + }, + { + "code": "NE-3", + "name": "Dosso", + "type": "Region" + }, + { + "code": "NE-4", + "name": "Maradi", + "type": "Region" + }, + { + "code": "NE-5", + "name": "Tahoua", + "type": "Region" + }, + { + "code": "NE-6", + "name": "Tillabéri", + "type": "Region" + }, + { + "code": "NE-7", + "name": "Zinder", + "type": "Region" + }, + { + "code": "NE-8", + "name": "Niamey", + "type": "Urban community" + }, + { + "code": "NG-AB", + "name": "Abia", + "type": "State" + }, + { + "code": "NG-AD", + "name": "Adamawa", + "type": "State" + }, + { + "code": "NG-AK", + "name": "Akwa Ibom", + "type": "State" + }, + { + "code": "NG-AN", + "name": "Anambra", + "type": "State" + }, + { + "code": "NG-BA", + "name": "Bauchi", + "type": "State" + }, + { + "code": "NG-BE", + "name": "Benue", + "type": "State" + }, + { + "code": "NG-BO", + "name": "Borno", + "type": "State" + }, + { + "code": "NG-BY", + "name": "Bayelsa", + "type": "State" + }, + { + "code": "NG-CR", + "name": "Cross River", + "type": "State" + }, + { + "code": "NG-DE", + "name": "Delta", + "type": "State" + }, + { + "code": "NG-EB", + "name": "Ebonyi", + "type": "State" + }, + { + "code": "NG-ED", + "name": "Edo", + "type": "State" + }, + { + "code": "NG-EK", + "name": "Ekiti", + "type": "State" + }, + { + "code": "NG-EN", + "name": "Enugu", + "type": "State" + }, + { + "code": "NG-FC", + "name": "Abuja Federal Capital Territory", + "type": "Capital territory" + }, + { + "code": "NG-GO", + "name": "Gombe", + "type": "State" + }, + { + "code": "NG-IM", + "name": "Imo", + "type": "State" + }, + { + "code": "NG-JI", + "name": "Jigawa", + "type": "State" + }, + { + "code": "NG-KD", + "name": "Kaduna", + "type": "State" + }, + { + "code": "NG-KE", + "name": "Kebbi", + "type": "State" + }, + { + "code": "NG-KN", + "name": "Kano", + "type": "State" + }, + { + "code": "NG-KO", + "name": "Kogi", + "type": "State" + }, + { + "code": "NG-KT", + "name": "Katsina", + "type": "State" + }, + { + "code": "NG-KW", + "name": "Kwara", + "type": "State" + }, + { + "code": "NG-LA", + "name": "Lagos", + "type": "State" + }, + { + "code": "NG-NA", + "name": "Nasarawa", + "type": "State" + }, + { + "code": "NG-NI", + "name": "Niger", + "type": "State" + }, + { + "code": "NG-OG", + "name": "Ogun", + "type": "State" + }, + { + "code": "NG-ON", + "name": "Ondo", + "type": "State" + }, + { + "code": "NG-OS", + "name": "Osun", + "type": "State" + }, + { + "code": "NG-OY", + "name": "Oyo", + "type": "State" + }, + { + "code": "NG-PL", + "name": "Plateau", + "type": "State" + }, + { + "code": "NG-RI", + "name": "Rivers", + "type": "State" + }, + { + "code": "NG-SO", + "name": "Sokoto", + "type": "State" + }, + { + "code": "NG-TA", + "name": "Taraba", + "type": "State" + }, + { + "code": "NG-YO", + "name": "Yobe", + "type": "State" + }, + { + "code": "NG-ZA", + "name": "Zamfara", + "type": "State" + }, + { + "code": "NI-AN", + "name": "Costa Caribe Norte", + "type": "Autonomous region" + }, + { + "code": "NI-AS", + "name": "Costa Caribe Sur", + "type": "Autonomous region" + }, + { + "code": "NI-BO", + "name": "Boaco", + "type": "Department" + }, + { + "code": "NI-CA", + "name": "Carazo", + "type": "Department" + }, + { + "code": "NI-CI", + "name": "Chinandega", + "type": "Department" + }, + { + "code": "NI-CO", + "name": "Chontales", + "type": "Department" + }, + { + "code": "NI-ES", + "name": "Estelí", + "type": "Department" + }, + { + "code": "NI-GR", + "name": "Granada", + "type": "Department" + }, + { + "code": "NI-JI", + "name": "Jinotega", + "type": "Department" + }, + { + "code": "NI-LE", + "name": "León", + "type": "Department" + }, + { + "code": "NI-MD", + "name": "Madriz", + "type": "Department" + }, + { + "code": "NI-MN", + "name": "Managua", + "type": "Department" + }, + { + "code": "NI-MS", + "name": "Masaya", + "type": "Department" + }, + { + "code": "NI-MT", + "name": "Matagalpa", + "type": "Department" + }, + { + "code": "NI-NS", + "name": "Nueva Segovia", + "type": "Department" + }, + { + "code": "NI-RI", + "name": "Rivas", + "type": "Department" + }, + { + "code": "NI-SJ", + "name": "Río San Juan", + "type": "Department" + }, + { + "code": "NL-AW", + "name": "Aruba", + "type": "Country" + }, + { + "code": "NL-BQ1", + "name": "Bonaire", + "type": "Special municipality" + }, + { + "code": "NL-BQ2", + "name": "Saba", + "type": "Special municipality" + }, + { + "code": "NL-BQ3", + "name": "Sint Eustatius", + "type": "Special municipality" + }, + { + "code": "NL-CW", + "name": "Curaçao", + "type": "Country" + }, + { + "code": "NL-DR", + "name": "Drenthe", + "type": "Province" + }, + { + "code": "NL-FL", + "name": "Flevoland", + "type": "Province" + }, + { + "code": "NL-FR", + "name": "Fryslân", + "type": "Province" + }, + { + "code": "NL-GE", + "name": "Gelderland", + "type": "Province" + }, + { + "code": "NL-GR", + "name": "Groningen", + "type": "Province" + }, + { + "code": "NL-LI", + "name": "Limburg", + "type": "Province" + }, + { + "code": "NL-NB", + "name": "Noord-Brabant", + "type": "Province" + }, + { + "code": "NL-NH", + "name": "Noord-Holland", + "type": "Province" + }, + { + "code": "NL-OV", + "name": "Overijssel", + "type": "Province" + }, + { + "code": "NL-SX", + "name": "Sint Maarten", + "type": "Country" + }, + { + "code": "NL-UT", + "name": "Utrecht", + "type": "Province" + }, + { + "code": "NL-ZE", + "name": "Zeeland", + "type": "Province" + }, + { + "code": "NL-ZH", + "name": "Zuid-Holland", + "type": "Province" + }, + { + "code": "NO-03", + "name": "Oslo", + "type": "County" + }, + { + "code": "NO-11", + "name": "Rogaland", + "type": "County" + }, + { + "code": "NO-15", + "name": "Møre og Romsdal", + "type": "County" + }, + { + "code": "NO-18", + "name": "Nordland", + "type": "County" + }, + { + "code": "NO-21", + "name": "Svalbard (Arctic Region)", + "type": "Arctic region" + }, + { + "code": "NO-22", + "name": "Jan Mayen (Arctic Region)", + "type": "Arctic region" + }, + { + "code": "NO-30", + "name": "Viken", + "type": "County" + }, + { + "code": "NO-34", + "name": "Innlandet", + "type": "County" + }, + { + "code": "NO-38", + "name": "Vestfold og Telemark", + "type": "County" + }, + { + "code": "NO-42", + "name": "Agder", + "type": "County" + }, + { + "code": "NO-46", + "name": "Vestland", + "type": "County" + }, + { + "code": "NO-50", + "name": "Trööndelage", + "type": "County" + }, + { + "code": "NO-54", + "name": "Romssa ja Finnmárkku", + "type": "County" + }, + { + "code": "NP-P1", + "name": "Koshi", + "type": "Province" + }, + { + "code": "NP-P2", + "name": "Madhesh", + "type": "Province" + }, + { + "code": "NP-P3", + "name": "Bagmati", + "type": "Province" + }, + { + "code": "NP-P4", + "name": "Gandaki", + "type": "Province" + }, + { + "code": "NP-P5", + "name": "Lumbini", + "type": "Province" + }, + { + "code": "NP-P6", + "name": "Karnali", + "type": "Province" + }, + { + "code": "NP-P7", + "name": "Sudurpashchim", + "type": "Province" + }, + { + "code": "NR-01", + "name": "Aiwo", + "type": "District" + }, + { + "code": "NR-02", + "name": "Anabar", + "type": "District" + }, + { + "code": "NR-03", + "name": "Anetan", + "type": "District" + }, + { + "code": "NR-04", + "name": "Anibare", + "type": "District" + }, + { + "code": "NR-05", + "name": "Baitsi", + "type": "District" + }, + { + "code": "NR-06", + "name": "Boe", + "type": "District" + }, + { + "code": "NR-07", + "name": "Buada", + "type": "District" + }, + { + "code": "NR-08", + "name": "Denigomodu", + "type": "District" + }, + { + "code": "NR-09", + "name": "Ewa", + "type": "District" + }, + { + "code": "NR-10", + "name": "Ijuw", + "type": "District" + }, + { + "code": "NR-11", + "name": "Meneng", + "type": "District" + }, + { + "code": "NR-12", + "name": "Nibok", + "type": "District" + }, + { + "code": "NR-13", + "name": "Uaboe", + "type": "District" + }, + { + "code": "NR-14", + "name": "Yaren", + "type": "District" + }, + { + "code": "NZ-AUK", + "name": "Auckland", + "type": "Region" + }, + { + "code": "NZ-BOP", + "name": "Bay of Plenty", + "type": "Region" + }, + { + "code": "NZ-CAN", + "name": "Canterbury", + "type": "Region" + }, + { + "code": "NZ-CIT", + "name": "Chatham Islands Territory", + "type": "Special island authority" + }, + { + "code": "NZ-GIS", + "name": "Gisborne", + "type": "Region" + }, + { + "code": "NZ-HKB", + "name": "Hawke's Bay", + "type": "Region" + }, + { + "code": "NZ-MBH", + "name": "Marlborough", + "type": "Region" + }, + { + "code": "NZ-MWT", + "name": "Manawatū-Whanganui", + "type": "Region" + }, + { + "code": "NZ-NSN", + "name": "Nelson", + "type": "Region" + }, + { + "code": "NZ-NTL", + "name": "Northland", + "type": "Region" + }, + { + "code": "NZ-OTA", + "name": "Otago", + "type": "Region" + }, + { + "code": "NZ-STL", + "name": "Southland", + "type": "Region" + }, + { + "code": "NZ-TAS", + "name": "Tasman", + "type": "Region" + }, + { + "code": "NZ-TKI", + "name": "Taranaki", + "type": "Region" + }, + { + "code": "NZ-WGN", + "name": "Greater Wellington", + "type": "Region" + }, + { + "code": "NZ-WKO", + "name": "Waikato", + "type": "Region" + }, + { + "code": "NZ-WTC", + "name": "West Coast", + "type": "Region" + }, + { + "code": "OM-BJ", + "name": "Janūb al Bāţinah", + "type": "Governorate" + }, + { + "code": "OM-BS", + "name": "Shamāl al Bāţinah", + "type": "Governorate" + }, + { + "code": "OM-BU", + "name": "Al Buraymī", + "type": "Governorate" + }, + { + "code": "OM-DA", + "name": "Ad Dākhilīyah", + "type": "Governorate" + }, + { + "code": "OM-MA", + "name": "Masqaţ", + "type": "Governorate" + }, + { + "code": "OM-MU", + "name": "Musandam", + "type": "Governorate" + }, + { + "code": "OM-SJ", + "name": "Janūb ash Sharqīyah", + "type": "Governorate" + }, + { + "code": "OM-SS", + "name": "Shamāl ash Sharqīyah", + "type": "Governorate" + }, + { + "code": "OM-WU", + "name": "Al Wusţá", + "type": "Governorate" + }, + { + "code": "OM-ZA", + "name": "Az̧ Z̧āhirah", + "type": "Governorate" + }, + { + "code": "OM-ZU", + "name": "Z̧ufār", + "type": "Governorate" + }, + { + "code": "PA-1", + "name": "Bocas del Toro", + "type": "Province" + }, + { + "code": "PA-10", + "name": "Panamá Oeste", + "type": "Province" + }, + { + "code": "PA-2", + "name": "Coclé", + "type": "Province" + }, + { + "code": "PA-3", + "name": "Colón", + "type": "Province" + }, + { + "code": "PA-4", + "name": "Chiriquí", + "type": "Province" + }, + { + "code": "PA-5", + "name": "Darién", + "type": "Province" + }, + { + "code": "PA-6", + "name": "Herrera", + "type": "Province" + }, + { + "code": "PA-7", + "name": "Los Santos", + "type": "Province" + }, + { + "code": "PA-8", + "name": "Panamá", + "type": "Province" + }, + { + "code": "PA-9", + "name": "Veraguas", + "type": "Province" + }, + { + "code": "PA-EM", + "name": "Emberá", + "type": "Indigenous region" + }, + { + "code": "PA-KY", + "name": "Guna Yala", + "type": "Indigenous region" + }, + { + "code": "PA-NB", + "name": "Ngäbe-Buglé", + "type": "Indigenous region" + }, + { + "code": "PA-NT", + "name": "Naso Tjër Di", + "type": "Indigenous region" + }, + { + "code": "PE-AMA", + "name": "Amarumayu", + "type": "Region" + }, + { + "code": "PE-ANC", + "name": "Ancash", + "type": "Region" + }, + { + "code": "PE-APU", + "name": "Apurimaq", + "type": "Region" + }, + { + "code": "PE-ARE", + "name": "Arequipa", + "type": "Region" + }, + { + "code": "PE-AYA", + "name": "Ayacucho", + "type": "Region" + }, + { + "code": "PE-CAJ", + "name": "Cajamarca", + "type": "Region" + }, + { + "code": "PE-CAL", + "name": "El Callao", + "type": "Region" + }, + { + "code": "PE-CUS", + "name": "Cusco", + "type": "Region" + }, + { + "code": "PE-HUC", + "name": "Huánuco", + "type": "Region" + }, + { + "code": "PE-HUV", + "name": "Huancavelica", + "type": "Region" + }, + { + "code": "PE-ICA", + "name": "Ica", + "type": "Region" + }, + { + "code": "PE-JUN", + "name": "Hunin", + "type": "Region" + }, + { + "code": "PE-LAL", + "name": "La Libertad", + "type": "Region" + }, + { + "code": "PE-LAM", + "name": "Lambayeque", + "type": "Region" + }, + { + "code": "PE-LIM", + "name": "Lima", + "type": "Region" + }, + { + "code": "PE-LMA", + "name": "Lima hatun llaqta", + "type": "Municipality" + }, + { + "code": "PE-LOR", + "name": "Loreto", + "type": "Region" + }, + { + "code": "PE-MDD", + "name": "Madre de Dios", + "type": "Region" + }, + { + "code": "PE-MOQ", + "name": "Moquegua", + "type": "Region" + }, + { + "code": "PE-PAS", + "name": "Pasco", + "type": "Region" + }, + { + "code": "PE-PIU", + "name": "Piura", + "type": "Region" + }, + { + "code": "PE-PUN", + "name": "Puno", + "type": "Region" + }, + { + "code": "PE-SAM", + "name": "San Martin", + "type": "Region" + }, + { + "code": "PE-TAC", + "name": "Tacna", + "type": "Region" + }, + { + "code": "PE-TUM", + "name": "Tumbes", + "type": "Region" + }, + { + "code": "PE-UCA", + "name": "Ucayali", + "type": "Region" + }, + { + "code": "PG-CPK", + "name": "Chimbu", + "type": "Province" + }, + { + "code": "PG-CPM", + "name": "Central", + "type": "Province" + }, + { + "code": "PG-EBR", + "name": "East New Britain", + "type": "Province" + }, + { + "code": "PG-EHG", + "name": "Eastern Highlands", + "type": "Province" + }, + { + "code": "PG-EPW", + "name": "Enga", + "type": "Province" + }, + { + "code": "PG-ESW", + "name": "East Sepik", + "type": "Province" + }, + { + "code": "PG-GPK", + "name": "Gulf", + "type": "Province" + }, + { + "code": "PG-HLA", + "name": "Hela", + "type": "Province" + }, + { + "code": "PG-JWK", + "name": "Jiwaka", + "type": "Province" + }, + { + "code": "PG-MBA", + "name": "Milne Bay", + "type": "Province" + }, + { + "code": "PG-MPL", + "name": "Morobe", + "type": "Province" + }, + { + "code": "PG-MPM", + "name": "Madang", + "type": "Province" + }, + { + "code": "PG-MRL", + "name": "Manus", + "type": "Province" + }, + { + "code": "PG-NCD", + "name": "National Capital District (Port Moresby)", + "type": "District" + }, + { + "code": "PG-NIK", + "name": "New Ireland", + "type": "Province" + }, + { + "code": "PG-NPP", + "name": "Northern", + "type": "Province" + }, + { + "code": "PG-NSB", + "name": "Bougainville", + "type": "Autonomous region" + }, + { + "code": "PG-SAN", + "name": "West Sepik", + "type": "Province" + }, + { + "code": "PG-SHM", + "name": "Southern Highlands", + "type": "Province" + }, + { + "code": "PG-WBK", + "name": "West New Britain", + "type": "Province" + }, + { + "code": "PG-WHM", + "name": "Western Highlands", + "type": "Province" + }, + { + "code": "PG-WPD", + "name": "Western", + "type": "Province" + }, + { + "code": "PH-00", + "name": "National Capital Region", + "type": "Region" + }, + { + "code": "PH-01", + "name": "Ilocos (Region I)", + "type": "Region" + }, + { + "code": "PH-02", + "name": "Cagayan Valley (Region II)", + "type": "Region" + }, + { + "code": "PH-03", + "name": "Central Luzon (Region III)", + "type": "Region" + }, + { + "code": "PH-05", + "name": "Bicol (Region V)", + "type": "Region" + }, + { + "code": "PH-06", + "name": "Western Visayas (Region VI)", + "type": "Region" + }, + { + "code": "PH-07", + "name": "Central Visayas (Region VII)", + "type": "Region" + }, + { + "code": "PH-08", + "name": "Eastern Visayas (Region VIII)", + "type": "Region" + }, + { + "code": "PH-09", + "name": "Zamboanga Peninsula (Region IX)", + "type": "Region" + }, + { + "code": "PH-10", + "name": "Northern Mindanao (Region X)", + "type": "Region" + }, + { + "code": "PH-11", + "name": "Davao (Region XI)", + "type": "Region" + }, + { + "code": "PH-12", + "name": "Soccsksargen (Region XII)", + "type": "Region" + }, + { + "code": "PH-13", + "name": "Caraga (Region XIII)", + "type": "Region" + }, + { + "code": "PH-14", + "name": "Autonomous Region in Muslim Mindanao (ARMM)", + "type": "Region" + }, + { + "code": "PH-15", + "name": "Cordillera Administrative Region (CAR)", + "type": "Region" + }, + { + "code": "PH-40", + "name": "Calabarzon (Region IV-A)", + "type": "Region" + }, + { + "code": "PH-41", + "name": "Mimaropa (Region IV-B)", + "type": "Region" + }, + { + "code": "PH-ABR", + "name": "Abra", + "parent": "PH-15", + "type": "Province" + }, + { + "code": "PH-AGN", + "name": "Agusan del Norte", + "parent": "PH-13", + "type": "Province" + }, + { + "code": "PH-AGS", + "name": "Agusan del Sur", + "parent": "PH-13", + "type": "Province" + }, + { + "code": "PH-AKL", + "name": "Aklan", + "parent": "PH-06", + "type": "Province" + }, + { + "code": "PH-ALB", + "name": "Albay", + "parent": "PH-05", + "type": "Province" + }, + { + "code": "PH-ANT", + "name": "Antique", + "parent": "PH-06", + "type": "Province" + }, + { + "code": "PH-APA", + "name": "Apayao", + "parent": "PH-15", + "type": "Province" + }, + { + "code": "PH-AUR", + "name": "Aurora", + "parent": "PH-03", + "type": "Province" + }, + { + "code": "PH-BAN", + "name": "Bataan", + "parent": "PH-03", + "type": "Province" + }, + { + "code": "PH-BAS", + "name": "Basilan", + "parent": "PH-09", + "type": "Province" + }, + { + "code": "PH-BEN", + "name": "Benguet", + "parent": "PH-15", + "type": "Province" + }, + { + "code": "PH-BIL", + "name": "Biliran", + "parent": "PH-08", + "type": "Province" + }, + { + "code": "PH-BOH", + "name": "Bohol", + "parent": "PH-07", + "type": "Province" + }, + { + "code": "PH-BTG", + "name": "Batangas", + "parent": "PH-40", + "type": "Province" + }, + { + "code": "PH-BTN", + "name": "Batanes", + "parent": "PH-02", + "type": "Province" + }, + { + "code": "PH-BUK", + "name": "Bukidnon", + "parent": "PH-10", + "type": "Province" + }, + { + "code": "PH-BUL", + "name": "Bulacan", + "parent": "PH-03", + "type": "Province" + }, + { + "code": "PH-CAG", + "name": "Cagayan", + "parent": "PH-02", + "type": "Province" + }, + { + "code": "PH-CAM", + "name": "Camiguin", + "parent": "PH-10", + "type": "Province" + }, + { + "code": "PH-CAN", + "name": "Camarines Norte", + "parent": "PH-05", + "type": "Province" + }, + { + "code": "PH-CAP", + "name": "Capiz", + "parent": "PH-06", + "type": "Province" + }, + { + "code": "PH-CAS", + "name": "Camarines Sur", + "parent": "PH-05", + "type": "Province" + }, + { + "code": "PH-CAT", + "name": "Catanduanes", + "parent": "PH-05", + "type": "Province" + }, + { + "code": "PH-CAV", + "name": "Cavite", + "parent": "PH-40", + "type": "Province" + }, + { + "code": "PH-CEB", + "name": "Cebu", + "parent": "PH-07", + "type": "Province" + }, + { + "code": "PH-COM", + "name": "Davao de Oro", + "parent": "PH-11", + "type": "Province" + }, + { + "code": "PH-DAO", + "name": "Davao Oriental", + "parent": "PH-11", + "type": "Province" + }, + { + "code": "PH-DAS", + "name": "Davao del Sur", + "parent": "PH-11", + "type": "Province" + }, + { + "code": "PH-DAV", + "name": "Davao del Norte", + "parent": "PH-11", + "type": "Province" + }, + { + "code": "PH-DIN", + "name": "Dinagat Islands", + "parent": "PH-13", + "type": "Province" + }, + { + "code": "PH-DVO", + "name": "Davao Occidental", + "parent": "PH-11", + "type": "Province" + }, + { + "code": "PH-EAS", + "name": "Eastern Samar", + "parent": "PH-08", + "type": "Province" + }, + { + "code": "PH-GUI", + "name": "Guimaras", + "parent": "PH-06", + "type": "Province" + }, + { + "code": "PH-IFU", + "name": "Ifugao", + "parent": "PH-15", + "type": "Province" + }, + { + "code": "PH-ILI", + "name": "Iloilo", + "parent": "PH-06", + "type": "Province" + }, + { + "code": "PH-ILN", + "name": "Ilocos Norte", + "parent": "PH-01", + "type": "Province" + }, + { + "code": "PH-ILS", + "name": "Ilocos Sur", + "parent": "PH-01", + "type": "Province" + }, + { + "code": "PH-ISA", + "name": "Isabela", + "parent": "PH-02", + "type": "Province" + }, + { + "code": "PH-KAL", + "name": "Kalinga", + "parent": "PH-15", + "type": "Province" + }, + { + "code": "PH-LAG", + "name": "Laguna", + "parent": "PH-40", + "type": "Province" + }, + { + "code": "PH-LAN", + "name": "Lanao del Norte", + "parent": "PH-12", + "type": "Province" + }, + { + "code": "PH-LAS", + "name": "Lanao del Sur", + "parent": "PH-14", + "type": "Province" + }, + { + "code": "PH-LEY", + "name": "Leyte", + "parent": "PH-08", + "type": "Province" + }, + { + "code": "PH-LUN", + "name": "La Union", + "parent": "PH-01", + "type": "Province" + }, + { + "code": "PH-MAD", + "name": "Marinduque", + "parent": "PH-41", + "type": "Province" + }, + { + "code": "PH-MAS", + "name": "Masbate", + "parent": "PH-05", + "type": "Province" + }, + { + "code": "PH-MDC", + "name": "Mindoro Occidental", + "parent": "PH-41", + "type": "Province" + }, + { + "code": "PH-MDR", + "name": "Mindoro Oriental", + "parent": "PH-41", + "type": "Province" + }, + { + "code": "PH-MGN", + "name": "Maguindanao del Norte", + "parent": "PH-14", + "type": "Province" + }, + { + "code": "PH-MGS", + "name": "Maguindanao del Sur", + "parent": "PH-14", + "type": "Province" + }, + { + "code": "PH-MOU", + "name": "Mountain Province", + "parent": "PH-15", + "type": "Province" + }, + { + "code": "PH-MSC", + "name": "Misamis Occidental", + "parent": "PH-10", + "type": "Province" + }, + { + "code": "PH-MSR", + "name": "Misamis Oriental", + "parent": "PH-10", + "type": "Province" + }, + { + "code": "PH-NCO", + "name": "Cotabato", + "parent": "PH-12", + "type": "Province" + }, + { + "code": "PH-NEC", + "name": "Negros Occidental", + "parent": "PH-06", + "type": "Province" + }, + { + "code": "PH-NER", + "name": "Negros Oriental", + "parent": "PH-07", + "type": "Province" + }, + { + "code": "PH-NSA", + "name": "Northern Samar", + "parent": "PH-08", + "type": "Province" + }, + { + "code": "PH-NUE", + "name": "Nueva Ecija", + "parent": "PH-03", + "type": "Province" + }, + { + "code": "PH-NUV", + "name": "Nueva Vizcaya", + "parent": "PH-02", + "type": "Province" + }, + { + "code": "PH-PAM", + "name": "Pampanga", + "parent": "PH-03", + "type": "Province" + }, + { + "code": "PH-PAN", + "name": "Pangasinan", + "parent": "PH-01", + "type": "Province" + }, + { + "code": "PH-PLW", + "name": "Palawan", + "parent": "PH-41", + "type": "Province" + }, + { + "code": "PH-QUE", + "name": "Quezon", + "parent": "PH-40", + "type": "Province" + }, + { + "code": "PH-QUI", + "name": "Quirino", + "parent": "PH-02", + "type": "Province" + }, + { + "code": "PH-RIZ", + "name": "Rizal", + "parent": "PH-40", + "type": "Province" + }, + { + "code": "PH-ROM", + "name": "Romblon", + "parent": "PH-41", + "type": "Province" + }, + { + "code": "PH-SAR", + "name": "Sarangani", + "parent": "PH-11", + "type": "Province" + }, + { + "code": "PH-SCO", + "name": "South Cotabato", + "parent": "PH-11", + "type": "Province" + }, + { + "code": "PH-SIG", + "name": "Siquijor", + "parent": "PH-07", + "type": "Province" + }, + { + "code": "PH-SLE", + "name": "Southern Leyte", + "parent": "PH-08", + "type": "Province" + }, + { + "code": "PH-SLU", + "name": "Sulu", + "parent": "PH-14", + "type": "Province" + }, + { + "code": "PH-SOR", + "name": "Sorsogon", + "parent": "PH-05", + "type": "Province" + }, + { + "code": "PH-SUK", + "name": "Sultan Kudarat", + "parent": "PH-12", + "type": "Province" + }, + { + "code": "PH-SUN", + "name": "Surigao del Norte", + "parent": "PH-13", + "type": "Province" + }, + { + "code": "PH-SUR", + "name": "Surigao del Sur", + "parent": "PH-13", + "type": "Province" + }, + { + "code": "PH-TAR", + "name": "Tarlac", + "parent": "PH-03", + "type": "Province" + }, + { + "code": "PH-TAW", + "name": "Tawi-Tawi", + "parent": "PH-14", + "type": "Province" + }, + { + "code": "PH-WSA", + "name": "Samar", + "parent": "PH-08", + "type": "Province" + }, + { + "code": "PH-ZAN", + "name": "Zamboanga del Norte", + "parent": "PH-09", + "type": "Province" + }, + { + "code": "PH-ZAS", + "name": "Zamboanga del Sur", + "parent": "PH-09", + "type": "Province" + }, + { + "code": "PH-ZMB", + "name": "Zambales", + "parent": "PH-03", + "type": "Province" + }, + { + "code": "PH-ZSI", + "name": "Zamboanga Sibugay", + "parent": "PH-09", + "type": "Province" + }, + { + "code": "PK-BA", + "name": "Balochistan", + "type": "Province" + }, + { + "code": "PK-GB", + "name": "Gilgit-Baltistan", + "type": "Pakistan administered area" + }, + { + "code": "PK-IS", + "name": "Islamabad", + "type": "Federal capital territory" + }, + { + "code": "PK-JK", + "name": "Azad Jammu and Kashmir", + "type": "Pakistan administered area" + }, + { + "code": "PK-KP", + "name": "Khyber Pakhtunkhwa", + "type": "Province" + }, + { + "code": "PK-PB", + "name": "Punjab", + "type": "Province" + }, + { + "code": "PK-SD", + "name": "Sindh", + "type": "Province" + }, + { + "code": "PL-02", + "name": "Dolnośląskie", + "type": "Voivodship" + }, + { + "code": "PL-04", + "name": "Kujawsko-Pomorskie", + "type": "Voivodship" + }, + { + "code": "PL-06", + "name": "Lubelskie", + "type": "Voivodship" + }, + { + "code": "PL-08", + "name": "Lubuskie", + "type": "Voivodship" + }, + { + "code": "PL-10", + "name": "Łódzkie", + "type": "Voivodship" + }, + { + "code": "PL-12", + "name": "Małopolskie", + "type": "Voivodship" + }, + { + "code": "PL-14", + "name": "Mazowieckie", + "type": "Voivodship" + }, + { + "code": "PL-16", + "name": "Opolskie", + "type": "Voivodship" + }, + { + "code": "PL-18", + "name": "Podkarpackie", + "type": "Voivodship" + }, + { + "code": "PL-20", + "name": "Podlaskie", + "type": "Voivodship" + }, + { + "code": "PL-22", + "name": "Pomorskie", + "type": "Voivodship" + }, + { + "code": "PL-24", + "name": "Śląskie", + "type": "Voivodship" + }, + { + "code": "PL-26", + "name": "Świętokrzyskie", + "type": "Voivodship" + }, + { + "code": "PL-28", + "name": "Warmińsko-Mazurskie", + "type": "Voivodship" + }, + { + "code": "PL-30", + "name": "Wielkopolskie", + "type": "Voivodship" + }, + { + "code": "PL-32", + "name": "Zachodniopomorskie", + "type": "Voivodship" + }, + { + "code": "PS-BTH", + "name": "Bethlehem", + "type": "Governorate" + }, + { + "code": "PS-DEB", + "name": "Deir El Balah", + "type": "Governorate" + }, + { + "code": "PS-GZA", + "name": "Gaza", + "type": "Governorate" + }, + { + "code": "PS-HBN", + "name": "Hebron", + "type": "Governorate" + }, + { + "code": "PS-JEM", + "name": "Jerusalem", + "type": "Governorate" + }, + { + "code": "PS-JEN", + "name": "Jenin", + "type": "Governorate" + }, + { + "code": "PS-JRH", + "name": "Jericho and Al Aghwar", + "type": "Governorate" + }, + { + "code": "PS-KYS", + "name": "Khan Yunis", + "type": "Governorate" + }, + { + "code": "PS-NBS", + "name": "Nablus", + "type": "Governorate" + }, + { + "code": "PS-NGZ", + "name": "North Gaza", + "type": "Governorate" + }, + { + "code": "PS-QQA", + "name": "Qalqilya", + "type": "Governorate" + }, + { + "code": "PS-RBH", + "name": "Ramallah", + "type": "Governorate" + }, + { + "code": "PS-RFH", + "name": "Rafah", + "type": "Governorate" + }, + { + "code": "PS-SLT", + "name": "Salfit", + "type": "Governorate" + }, + { + "code": "PS-TBS", + "name": "Tubas", + "type": "Governorate" + }, + { + "code": "PS-TKM", + "name": "Tulkarm", + "type": "Governorate" + }, + { + "code": "PT-01", + "name": "Aveiro", + "type": "District" + }, + { + "code": "PT-02", + "name": "Beja", + "type": "District" + }, + { + "code": "PT-03", + "name": "Braga", + "type": "District" + }, + { + "code": "PT-04", + "name": "Bragança", + "type": "District" + }, + { + "code": "PT-05", + "name": "Castelo Branco", + "type": "District" + }, + { + "code": "PT-06", + "name": "Coimbra", + "type": "District" + }, + { + "code": "PT-07", + "name": "Évora", + "type": "District" + }, + { + "code": "PT-08", + "name": "Faro", + "type": "District" + }, + { + "code": "PT-09", + "name": "Guarda", + "type": "District" + }, + { + "code": "PT-10", + "name": "Leiria", + "type": "District" + }, + { + "code": "PT-11", + "name": "Lisboa", + "type": "District" + }, + { + "code": "PT-12", + "name": "Portalegre", + "type": "District" + }, + { + "code": "PT-13", + "name": "Porto", + "type": "District" + }, + { + "code": "PT-14", + "name": "Santarém", + "type": "District" + }, + { + "code": "PT-15", + "name": "Setúbal", + "type": "District" + }, + { + "code": "PT-16", + "name": "Viana do Castelo", + "type": "District" + }, + { + "code": "PT-17", + "name": "Vila Real", + "type": "District" + }, + { + "code": "PT-18", + "name": "Viseu", + "type": "District" + }, + { + "code": "PT-20", + "name": "Região Autónoma dos Açores", + "type": "Autonomous region" + }, + { + "code": "PT-30", + "name": "Região Autónoma da Madeira", + "type": "Autonomous region" + }, + { + "code": "PW-002", + "name": "Aimeliik", + "type": "State" + }, + { + "code": "PW-004", + "name": "Airai", + "type": "State" + }, + { + "code": "PW-010", + "name": "Angaur", + "type": "State" + }, + { + "code": "PW-050", + "name": "Hatohobei", + "type": "State" + }, + { + "code": "PW-100", + "name": "Kayangel", + "type": "State" + }, + { + "code": "PW-150", + "name": "Koror", + "type": "State" + }, + { + "code": "PW-212", + "name": "Melekeok", + "type": "State" + }, + { + "code": "PW-214", + "name": "Ngaraard", + "type": "State" + }, + { + "code": "PW-218", + "name": "Ngarchelong", + "type": "State" + }, + { + "code": "PW-222", + "name": "Ngardmau", + "type": "State" + }, + { + "code": "PW-224", + "name": "Ngatpang", + "type": "State" + }, + { + "code": "PW-226", + "name": "Ngchesar", + "type": "State" + }, + { + "code": "PW-227", + "name": "Ngeremlengui", + "type": "State" + }, + { + "code": "PW-228", + "name": "Ngiwal", + "type": "State" + }, + { + "code": "PW-350", + "name": "Peleliu", + "type": "State" + }, + { + "code": "PW-370", + "name": "Sonsorol", + "type": "State" + }, + { + "code": "PY-1", + "name": "Concepción", + "type": "Department" + }, + { + "code": "PY-10", + "name": "Alto Paraná", + "type": "Department" + }, + { + "code": "PY-11", + "name": "Central", + "type": "Department" + }, + { + "code": "PY-12", + "name": "Ñeembucú", + "type": "Department" + }, + { + "code": "PY-13", + "name": "Amambay", + "type": "Department" + }, + { + "code": "PY-14", + "name": "Canindeyú", + "type": "Department" + }, + { + "code": "PY-15", + "name": "Presidente Hayes", + "type": "Department" + }, + { + "code": "PY-16", + "name": "Alto Paraguay", + "type": "Department" + }, + { + "code": "PY-19", + "name": "Boquerón", + "type": "Department" + }, + { + "code": "PY-2", + "name": "San Pedro", + "type": "Department" + }, + { + "code": "PY-3", + "name": "Cordillera", + "type": "Department" + }, + { + "code": "PY-4", + "name": "Guairá", + "type": "Department" + }, + { + "code": "PY-5", + "name": "Caaguazú", + "type": "Department" + }, + { + "code": "PY-6", + "name": "Caazapá", + "type": "Department" + }, + { + "code": "PY-7", + "name": "Itapúa", + "type": "Department" + }, + { + "code": "PY-8", + "name": "Misiones", + "type": "Department" + }, + { + "code": "PY-9", + "name": "Paraguarí", + "type": "Department" + }, + { + "code": "PY-ASU", + "name": "Asunción", + "type": "Capital" + }, + { + "code": "QA-DA", + "name": "Ad Dawḩah", + "type": "Municipality" + }, + { + "code": "QA-KH", + "name": "Al Khawr wa adh Dhakhīrah", + "type": "Municipality" + }, + { + "code": "QA-MS", + "name": "Ash Shamāl", + "type": "Municipality" + }, + { + "code": "QA-RA", + "name": "Ar Rayyān", + "type": "Municipality" + }, + { + "code": "QA-SH", + "name": "Ash Shīḩānīyah", + "type": "Municipality" + }, + { + "code": "QA-US", + "name": "Umm Şalāl", + "type": "Municipality" + }, + { + "code": "QA-WA", + "name": "Al Wakrah", + "type": "Municipality" + }, + { + "code": "QA-ZA", + "name": "Az̧ Z̧a‘āyin", + "type": "Municipality" + }, + { + "code": "RO-AB", + "name": "Alba", + "type": "Department" + }, + { + "code": "RO-AG", + "name": "Argeș", + "type": "Department" + }, + { + "code": "RO-AR", + "name": "Arad", + "type": "Department" + }, + { + "code": "RO-B", + "name": "București", + "type": "Municipality" + }, + { + "code": "RO-BC", + "name": "Bacău", + "type": "Department" + }, + { + "code": "RO-BH", + "name": "Bihor", + "type": "Department" + }, + { + "code": "RO-BN", + "name": "Bistrița-Năsăud", + "type": "Department" + }, + { + "code": "RO-BR", + "name": "Brăila", + "type": "Department" + }, + { + "code": "RO-BT", + "name": "Botoșani", + "type": "Department" + }, + { + "code": "RO-BV", + "name": "Brașov", + "type": "Department" + }, + { + "code": "RO-BZ", + "name": "Buzău", + "type": "Department" + }, + { + "code": "RO-CJ", + "name": "Cluj", + "type": "Department" + }, + { + "code": "RO-CL", + "name": "Călărași", + "type": "Department" + }, + { + "code": "RO-CS", + "name": "Caraș-Severin", + "type": "Department" + }, + { + "code": "RO-CT", + "name": "Constanța", + "type": "Department" + }, + { + "code": "RO-CV", + "name": "Covasna", + "type": "Department" + }, + { + "code": "RO-DB", + "name": "Dâmbovița", + "type": "Department" + }, + { + "code": "RO-DJ", + "name": "Dolj", + "type": "Department" + }, + { + "code": "RO-GJ", + "name": "Gorj", + "type": "Department" + }, + { + "code": "RO-GL", + "name": "Galați", + "type": "Department" + }, + { + "code": "RO-GR", + "name": "Giurgiu", + "type": "Department" + }, + { + "code": "RO-HD", + "name": "Hunedoara", + "type": "Department" + }, + { + "code": "RO-HR", + "name": "Harghita", + "type": "Department" + }, + { + "code": "RO-IF", + "name": "Ilfov", + "type": "Department" + }, + { + "code": "RO-IL", + "name": "Ialomița", + "type": "Department" + }, + { + "code": "RO-IS", + "name": "Iași", + "type": "Department" + }, + { + "code": "RO-MH", + "name": "Mehedinți", + "type": "Department" + }, + { + "code": "RO-MM", + "name": "Maramureș", + "type": "Department" + }, + { + "code": "RO-MS", + "name": "Mureș", + "type": "Department" + }, + { + "code": "RO-NT", + "name": "Neamț", + "type": "Department" + }, + { + "code": "RO-OT", + "name": "Olt", + "type": "Department" + }, + { + "code": "RO-PH", + "name": "Prahova", + "type": "Department" + }, + { + "code": "RO-SB", + "name": "Sibiu", + "type": "Department" + }, + { + "code": "RO-SJ", + "name": "Sălaj", + "type": "Department" + }, + { + "code": "RO-SM", + "name": "Satu Mare", + "type": "Department" + }, + { + "code": "RO-SV", + "name": "Suceava", + "type": "Department" + }, + { + "code": "RO-TL", + "name": "Tulcea", + "type": "Department" + }, + { + "code": "RO-TM", + "name": "Timiș", + "type": "Department" + }, + { + "code": "RO-TR", + "name": "Teleorman", + "type": "Department" + }, + { + "code": "RO-VL", + "name": "Vâlcea", + "type": "Department" + }, + { + "code": "RO-VN", + "name": "Vrancea", + "type": "Department" + }, + { + "code": "RO-VS", + "name": "Vaslui", + "type": "Department" + }, + { + "code": "RS-00", + "name": "Beograd", + "type": "City" + }, + { + "code": "RS-01", + "name": "Severnobački okrug", + "parent": "RS-VO", + "type": "District" + }, + { + "code": "RS-02", + "name": "Srednjebanatski okrug", + "parent": "RS-VO", + "type": "District" + }, + { + "code": "RS-03", + "name": "Severnobanatski okrug", + "parent": "RS-VO", + "type": "District" + }, + { + "code": "RS-04", + "name": "Južnobanatski okrug", + "parent": "RS-VO", + "type": "District" + }, + { + "code": "RS-05", + "name": "Zapadnobački okrug", + "parent": "RS-VO", + "type": "District" + }, + { + "code": "RS-06", + "name": "Južnobački okrug", + "parent": "RS-VO", + "type": "District" + }, + { + "code": "RS-07", + "name": "Sremski okrug", + "parent": "RS-VO", + "type": "District" + }, + { + "code": "RS-08", + "name": "Mačvanski okrug", + "type": "District" + }, + { + "code": "RS-09", + "name": "Kolubarski okrug", + "type": "District" + }, + { + "code": "RS-10", + "name": "Podunavski okrug", + "type": "District" + }, + { + "code": "RS-11", + "name": "Braničevski okrug", + "type": "District" + }, + { + "code": "RS-12", + "name": "Šumadijski okrug", + "type": "District" + }, + { + "code": "RS-13", + "name": "Pomoravski okrug", + "type": "District" + }, + { + "code": "RS-14", + "name": "Borski okrug", + "type": "District" + }, + { + "code": "RS-15", + "name": "Zaječarski okrug", + "type": "District" + }, + { + "code": "RS-16", + "name": "Zlatiborski okrug", + "type": "District" + }, + { + "code": "RS-17", + "name": "Moravički okrug", + "type": "District" + }, + { + "code": "RS-18", + "name": "Raški okrug", + "type": "District" + }, + { + "code": "RS-19", + "name": "Rasinski okrug", + "type": "District" + }, + { + "code": "RS-20", + "name": "Nišavski okrug", + "type": "District" + }, + { + "code": "RS-21", + "name": "Toplički okrug", + "type": "District" + }, + { + "code": "RS-22", + "name": "Pirotski okrug", + "type": "District" + }, + { + "code": "RS-23", + "name": "Jablanički okrug", + "type": "District" + }, + { + "code": "RS-24", + "name": "Pčinjski okrug", + "type": "District" + }, + { + "code": "RS-25", + "name": "Kosovski okrug", + "parent": "RS-KM", + "type": "District" + }, + { + "code": "RS-26", + "name": "Pećki okrug", + "parent": "RS-KM", + "type": "District" + }, + { + "code": "RS-27", + "name": "Prizrenski okrug", + "parent": "RS-KM", + "type": "District" + }, + { + "code": "RS-28", + "name": "Kosovsko-Mitrovački okrug", + "parent": "RS-KM", + "type": "District" + }, + { + "code": "RS-29", + "name": "Kosovsko-Pomoravski okrug", + "parent": "RS-KM", + "type": "District" + }, + { + "code": "RS-KM", + "name": "Kosovo-Metohija", + "type": "Autonomous province" + }, + { + "code": "RS-VO", + "name": "Vojvodina", + "type": "Autonomous province" + }, + { + "code": "RU-AD", + "name": "Adygeja, Respublika", + "type": "Republic" + }, + { + "code": "RU-AL", + "name": "Altaj, Respublika", + "type": "Republic" + }, + { + "code": "RU-ALT", + "name": "Altajskij kraj", + "type": "Administrative territory" + }, + { + "code": "RU-AMU", + "name": "Amurskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-ARK", + "name": "Arhangel'skaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-AST", + "name": "Astrahanskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-BA", + "name": "Bashkortostan, Respublika", + "type": "Republic" + }, + { + "code": "RU-BEL", + "name": "Belgorodskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-BRY", + "name": "Brjanskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-BU", + "name": "Burjatija, Respublika", + "type": "Republic" + }, + { + "code": "RU-CE", + "name": "Chechenskaya Respublika", + "type": "Republic" + }, + { + "code": "RU-CHE", + "name": "Chelyabinskaya oblast'", + "type": "Administrative region" + }, + { + "code": "RU-CHU", + "name": "Chukotskiy avtonomnyy okrug", + "type": "Autonomous district" + }, + { + "code": "RU-CU", + "name": "Chuvashskaya Respublika", + "type": "Republic" + }, + { + "code": "RU-DA", + "name": "Dagestan, Respublika", + "type": "Republic" + }, + { + "code": "RU-IN", + "name": "Ingushetiya, Respublika", + "type": "Republic" + }, + { + "code": "RU-IRK", + "name": "Irkutskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-IVA", + "name": "Ivanovskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-KAM", + "name": "Kamchatskiy kray", + "type": "Administrative territory" + }, + { + "code": "RU-KB", + "name": "Kabardino-Balkarskaja Respublika", + "type": "Republic" + }, + { + "code": "RU-KC", + "name": "Karachayevo-Cherkesskaya Respublika", + "type": "Republic" + }, + { + "code": "RU-KDA", + "name": "Krasnodarskij kraj", + "type": "Administrative territory" + }, + { + "code": "RU-KEM", + "name": "Kemerovskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-KGD", + "name": "Kaliningradskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-KGN", + "name": "Kurganskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-KHA", + "name": "Habarovskij kraj", + "type": "Administrative territory" + }, + { + "code": "RU-KHM", + "name": "Hanty-Mansijskij avtonomnyj okrug", + "type": "Autonomous district" + }, + { + "code": "RU-KIR", + "name": "Kirovskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-KK", + "name": "Hakasija, Respublika", + "type": "Republic" + }, + { + "code": "RU-KL", + "name": "Kalmykija, Respublika", + "type": "Republic" + }, + { + "code": "RU-KLU", + "name": "Kaluzhskaya oblast'", + "type": "Administrative region" + }, + { + "code": "RU-KO", + "name": "Komi, Respublika", + "type": "Republic" + }, + { + "code": "RU-KOS", + "name": "Kostromskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-KR", + "name": "Karelija, Respublika", + "type": "Republic" + }, + { + "code": "RU-KRS", + "name": "Kurskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-KYA", + "name": "Krasnojarskij kraj", + "type": "Administrative territory" + }, + { + "code": "RU-LEN", + "name": "Leningradskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-LIP", + "name": "Lipeckaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-MAG", + "name": "Magadanskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-ME", + "name": "Marij Èl, Respublika", + "type": "Republic" + }, + { + "code": "RU-MO", + "name": "Mordovija, Respublika", + "type": "Republic" + }, + { + "code": "RU-MOS", + "name": "Moskovskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-MOW", + "name": "Moskva", + "type": "Autonomous city" + }, + { + "code": "RU-MUR", + "name": "Murmanskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-NEN", + "name": "Neneckij avtonomnyj okrug", + "type": "Autonomous district" + }, + { + "code": "RU-NGR", + "name": "Novgorodskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-NIZ", + "name": "Nizhegorodskaya oblast'", + "type": "Administrative region" + }, + { + "code": "RU-NVS", + "name": "Novosibirskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-OMS", + "name": "Omskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-ORE", + "name": "Orenburgskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-ORL", + "name": "Orlovskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-PER", + "name": "Permskij kraj", + "type": "Administrative territory" + }, + { + "code": "RU-PNZ", + "name": "Penzenskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-PRI", + "name": "Primorskij kraj", + "type": "Administrative territory" + }, + { + "code": "RU-PSK", + "name": "Pskovskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-ROS", + "name": "Rostovskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-RYA", + "name": "Rjazanskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-SA", + "name": "Saha, Respublika", + "type": "Republic" + }, + { + "code": "RU-SAK", + "name": "Sahalinskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-SAM", + "name": "Samarskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-SAR", + "name": "Saratovskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-SE", + "name": "Severnaja Osetija, Respublika", + "type": "Republic" + }, + { + "code": "RU-SMO", + "name": "Smolenskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-SPE", + "name": "Sankt-Peterburg", + "type": "Autonomous city" + }, + { + "code": "RU-STA", + "name": "Stavropol'skij kraj", + "type": "Administrative territory" + }, + { + "code": "RU-SVE", + "name": "Sverdlovskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-TA", + "name": "Tatarstan, Respublika", + "type": "Republic" + }, + { + "code": "RU-TAM", + "name": "Tambovskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-TOM", + "name": "Tomskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-TUL", + "name": "Tul'skaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-TVE", + "name": "Tverskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-TY", + "name": "Tyva, Respublika", + "type": "Republic" + }, + { + "code": "RU-TYU", + "name": "Tjumenskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-UD", + "name": "Udmurtskaja Respublika", + "type": "Republic" + }, + { + "code": "RU-ULY", + "name": "Ul'janovskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-VGG", + "name": "Volgogradskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-VLA", + "name": "Vladimirskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-VLG", + "name": "Vologodskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-VOR", + "name": "Voronezhskaya oblast'", + "type": "Administrative region" + }, + { + "code": "RU-YAN", + "name": "Jamalo-Neneckij avtonomnyj okrug", + "type": "Autonomous district" + }, + { + "code": "RU-YAR", + "name": "Jaroslavskaja oblast'", + "type": "Administrative region" + }, + { + "code": "RU-YEV", + "name": "Evrejskaja avtonomnaja oblast'", + "type": "Autonomous region" + }, + { + "code": "RU-ZAB", + "name": "Zabajkal'skij kraj", + "type": "Administrative territory" + }, + { + "code": "RW-01", + "name": "City of Kigali", + "type": "City" + }, + { + "code": "RW-02", + "name": "Eastern", + "type": "Province" + }, + { + "code": "RW-03", + "name": "Northern", + "type": "Province" + }, + { + "code": "RW-04", + "name": "Western", + "type": "Province" + }, + { + "code": "RW-05", + "name": "Southern", + "type": "Province" + }, + { + "code": "SA-01", + "name": "Ar Riyāḑ", + "type": "Region" + }, + { + "code": "SA-02", + "name": "Makkah al Mukarramah", + "type": "Region" + }, + { + "code": "SA-03", + "name": "Al Madīnah al Munawwarah", + "type": "Region" + }, + { + "code": "SA-04", + "name": "Ash Sharqīyah", + "type": "Region" + }, + { + "code": "SA-05", + "name": "Al Qaşīm", + "type": "Region" + }, + { + "code": "SA-06", + "name": "Ḩā'il", + "type": "Region" + }, + { + "code": "SA-07", + "name": "Tabūk", + "type": "Region" + }, + { + "code": "SA-08", + "name": "Al Ḩudūd ash Shamālīyah", + "type": "Region" + }, + { + "code": "SA-09", + "name": "Jāzān", + "type": "Region" + }, + { + "code": "SA-10", + "name": "Najrān", + "type": "Region" + }, + { + "code": "SA-11", + "name": "Al Bāḩah", + "type": "Region" + }, + { + "code": "SA-12", + "name": "Al Jawf", + "type": "Region" + }, + { + "code": "SA-14", + "name": "'Asīr", + "type": "Region" + }, + { + "code": "SB-CE", + "name": "Central", + "type": "Province" + }, + { + "code": "SB-CH", + "name": "Choiseul", + "type": "Province" + }, + { + "code": "SB-CT", + "name": "Capital Territory (Honiara)", + "type": "Capital territory" + }, + { + "code": "SB-GU", + "name": "Guadalcanal", + "type": "Province" + }, + { + "code": "SB-IS", + "name": "Isabel", + "type": "Province" + }, + { + "code": "SB-MK", + "name": "Makira-Ulawa", + "type": "Province" + }, + { + "code": "SB-ML", + "name": "Malaita", + "type": "Province" + }, + { + "code": "SB-RB", + "name": "Rennell and Bellona", + "type": "Province" + }, + { + "code": "SB-TE", + "name": "Temotu", + "type": "Province" + }, + { + "code": "SB-WE", + "name": "Western", + "type": "Province" + }, + { + "code": "SC-01", + "name": "Anse aux Pins", + "type": "District" + }, + { + "code": "SC-02", + "name": "Anse Boileau", + "type": "District" + }, + { + "code": "SC-03", + "name": "Anse Etoile", + "type": "District" + }, + { + "code": "SC-04", + "name": "Au Cap", + "type": "District" + }, + { + "code": "SC-05", + "name": "Anse Royale", + "type": "District" + }, + { + "code": "SC-06", + "name": "Baie Lazare", + "type": "District" + }, + { + "code": "SC-07", + "name": "Baie Sainte Anne", + "type": "District" + }, + { + "code": "SC-08", + "name": "Beau Vallon", + "type": "District" + }, + { + "code": "SC-09", + "name": "Bel Air", + "type": "District" + }, + { + "code": "SC-10", + "name": "Bel Ombre", + "type": "District" + }, + { + "code": "SC-11", + "name": "Cascade", + "type": "District" + }, + { + "code": "SC-12", + "name": "Glacis", + "type": "District" + }, + { + "code": "SC-13", + "name": "Grand Anse Mahe", + "type": "District" + }, + { + "code": "SC-14", + "name": "Grand Anse Praslin", + "type": "District" + }, + { + "code": "SC-15", + "name": "La Digue", + "type": "District" + }, + { + "code": "SC-16", + "name": "English River", + "type": "District" + }, + { + "code": "SC-17", + "name": "Mont Buxton", + "type": "District" + }, + { + "code": "SC-18", + "name": "Mont Fleuri", + "type": "District" + }, + { + "code": "SC-19", + "name": "Plaisance", + "type": "District" + }, + { + "code": "SC-20", + "name": "Pointe Larue", + "type": "District" + }, + { + "code": "SC-21", + "name": "Port Glaud", + "type": "District" + }, + { + "code": "SC-22", + "name": "Saint Louis", + "type": "District" + }, + { + "code": "SC-23", + "name": "Takamaka", + "type": "District" + }, + { + "code": "SC-24", + "name": "Les Mamelles", + "type": "District" + }, + { + "code": "SC-25", + "name": "Roche Caiman", + "type": "District" + }, + { + "code": "SC-26", + "name": "Ile Perseverance I", + "type": "District" + }, + { + "code": "SC-27", + "name": "Ile Perseverance II", + "type": "District" + }, + { + "code": "SD-DC", + "name": "Central Darfur", + "type": "State" + }, + { + "code": "SD-DE", + "name": "East Darfur", + "type": "State" + }, + { + "code": "SD-DN", + "name": "North Darfur", + "type": "State" + }, + { + "code": "SD-DS", + "name": "South Darfur", + "type": "State" + }, + { + "code": "SD-DW", + "name": "West Darfur", + "type": "State" + }, + { + "code": "SD-GD", + "name": "Gedaref", + "type": "State" + }, + { + "code": "SD-GK", + "name": "West Kordofan", + "type": "State" + }, + { + "code": "SD-GZ", + "name": "Gezira", + "type": "State" + }, + { + "code": "SD-KA", + "name": "Kassala", + "type": "State" + }, + { + "code": "SD-KH", + "name": "Khartoum", + "type": "State" + }, + { + "code": "SD-KN", + "name": "North Kordofan", + "type": "State" + }, + { + "code": "SD-KS", + "name": "South Kordofan", + "type": "State" + }, + { + "code": "SD-NB", + "name": "Blue Nile", + "type": "State" + }, + { + "code": "SD-NO", + "name": "Northern", + "type": "State" + }, + { + "code": "SD-NR", + "name": "River Nile", + "type": "State" + }, + { + "code": "SD-NW", + "name": "White Nile", + "type": "State" + }, + { + "code": "SD-RS", + "name": "Red Sea", + "type": "State" + }, + { + "code": "SD-SI", + "name": "Sennar", + "type": "State" + }, + { + "code": "SE-AB", + "name": "Stockholms län [SE-01]", + "type": "County" + }, + { + "code": "SE-AC", + "name": "Västerbottens län [SE-24]", + "type": "County" + }, + { + "code": "SE-BD", + "name": "Norrbottens län [SE-25]", + "type": "County" + }, + { + "code": "SE-C", + "name": "Uppsala län [SE-03]", + "type": "County" + }, + { + "code": "SE-D", + "name": "Södermanlands län [SE-04]", + "type": "County" + }, + { + "code": "SE-E", + "name": "Östergötlands län [SE-05]", + "type": "County" + }, + { + "code": "SE-F", + "name": "Jönköpings län [SE-06]", + "type": "County" + }, + { + "code": "SE-G", + "name": "Kronobergs län [SE-07]", + "type": "County" + }, + { + "code": "SE-H", + "name": "Kalmar län [SE-08]", + "type": "County" + }, + { + "code": "SE-I", + "name": "Gotlands län [SE-09]", + "type": "County" + }, + { + "code": "SE-K", + "name": "Blekinge län [SE-10]", + "type": "County" + }, + { + "code": "SE-M", + "name": "Skåne län [SE-12]", + "type": "County" + }, + { + "code": "SE-N", + "name": "Hallands län [SE-13]", + "type": "County" + }, + { + "code": "SE-O", + "name": "Västra Götalands län [SE-14]", + "type": "County" + }, + { + "code": "SE-S", + "name": "Värmlands län [SE-17]", + "type": "County" + }, + { + "code": "SE-T", + "name": "Örebro län [SE-18]", + "type": "County" + }, + { + "code": "SE-U", + "name": "Västmanlands län [SE-19]", + "type": "County" + }, + { + "code": "SE-W", + "name": "Dalarnas län [SE-20]", + "type": "County" + }, + { + "code": "SE-X", + "name": "Gävleborgs län [SE-21]", + "type": "County" + }, + { + "code": "SE-Y", + "name": "Västernorrlands län [SE-22]", + "type": "County" + }, + { + "code": "SE-Z", + "name": "Jämtlands län [SE-23]", + "type": "County" + }, + { + "code": "SG-01", + "name": "Central Singapore", + "type": "District" + }, + { + "code": "SG-02", + "name": "North East", + "type": "District" + }, + { + "code": "SG-03", + "name": "North West", + "type": "District" + }, + { + "code": "SG-04", + "name": "South East", + "type": "District" + }, + { + "code": "SG-05", + "name": "South West", + "type": "District" + }, + { + "code": "SH-AC", + "name": "Ascension", + "type": "Geographical entity" + }, + { + "code": "SH-HL", + "name": "Saint Helena", + "type": "Geographical entity" + }, + { + "code": "SH-TA", + "name": "Tristan da Cunha", + "type": "Geographical entity" + }, + { + "code": "SI-001", + "name": "Ajdovščina", + "type": "Municipality" + }, + { + "code": "SI-002", + "name": "Beltinci", + "type": "Municipality" + }, + { + "code": "SI-003", + "name": "Bled", + "type": "Municipality" + }, + { + "code": "SI-004", + "name": "Bohinj", + "type": "Municipality" + }, + { + "code": "SI-005", + "name": "Borovnica", + "type": "Municipality" + }, + { + "code": "SI-006", + "name": "Bovec", + "type": "Municipality" + }, + { + "code": "SI-007", + "name": "Brda", + "type": "Municipality" + }, + { + "code": "SI-008", + "name": "Brezovica", + "type": "Municipality" + }, + { + "code": "SI-009", + "name": "Brežice", + "type": "Municipality" + }, + { + "code": "SI-010", + "name": "Tišina", + "type": "Municipality" + }, + { + "code": "SI-011", + "name": "Celje", + "type": "Urban municipality" + }, + { + "code": "SI-012", + "name": "Cerklje na Gorenjskem", + "type": "Municipality" + }, + { + "code": "SI-013", + "name": "Cerknica", + "type": "Municipality" + }, + { + "code": "SI-014", + "name": "Cerkno", + "type": "Municipality" + }, + { + "code": "SI-015", + "name": "Črenšovci", + "type": "Municipality" + }, + { + "code": "SI-016", + "name": "Črna na Koroškem", + "type": "Municipality" + }, + { + "code": "SI-017", + "name": "Črnomelj", + "type": "Municipality" + }, + { + "code": "SI-018", + "name": "Destrnik", + "type": "Municipality" + }, + { + "code": "SI-019", + "name": "Divača", + "type": "Municipality" + }, + { + "code": "SI-020", + "name": "Dobrepolje", + "type": "Municipality" + }, + { + "code": "SI-021", + "name": "Dobrova-Polhov Gradec", + "type": "Municipality" + }, + { + "code": "SI-022", + "name": "Dol pri Ljubljani", + "type": "Municipality" + }, + { + "code": "SI-023", + "name": "Domžale", + "type": "Municipality" + }, + { + "code": "SI-024", + "name": "Dornava", + "type": "Municipality" + }, + { + "code": "SI-025", + "name": "Dravograd", + "type": "Municipality" + }, + { + "code": "SI-026", + "name": "Duplek", + "type": "Municipality" + }, + { + "code": "SI-027", + "name": "Gorenja vas-Poljane", + "type": "Municipality" + }, + { + "code": "SI-028", + "name": "Gorišnica", + "type": "Municipality" + }, + { + "code": "SI-029", + "name": "Gornja Radgona", + "type": "Municipality" + }, + { + "code": "SI-030", + "name": "Gornji Grad", + "type": "Municipality" + }, + { + "code": "SI-031", + "name": "Gornji Petrovci", + "type": "Municipality" + }, + { + "code": "SI-032", + "name": "Grosuplje", + "type": "Municipality" + }, + { + "code": "SI-033", + "name": "Šalovci", + "type": "Municipality" + }, + { + "code": "SI-034", + "name": "Hrastnik", + "type": "Municipality" + }, + { + "code": "SI-035", + "name": "Hrpelje-Kozina", + "type": "Municipality" + }, + { + "code": "SI-036", + "name": "Idrija", + "type": "Municipality" + }, + { + "code": "SI-037", + "name": "Ig", + "type": "Municipality" + }, + { + "code": "SI-038", + "name": "Ilirska Bistrica", + "type": "Municipality" + }, + { + "code": "SI-039", + "name": "Ivančna Gorica", + "type": "Municipality" + }, + { + "code": "SI-040", + "name": "Izola", + "type": "Municipality" + }, + { + "code": "SI-041", + "name": "Jesenice", + "type": "Municipality" + }, + { + "code": "SI-042", + "name": "Juršinci", + "type": "Municipality" + }, + { + "code": "SI-043", + "name": "Kamnik", + "type": "Municipality" + }, + { + "code": "SI-044", + "name": "Kanal ob Soči", + "type": "Municipality" + }, + { + "code": "SI-045", + "name": "Kidričevo", + "type": "Municipality" + }, + { + "code": "SI-046", + "name": "Kobarid", + "type": "Municipality" + }, + { + "code": "SI-047", + "name": "Kobilje", + "type": "Municipality" + }, + { + "code": "SI-048", + "name": "Kočevje", + "type": "Municipality" + }, + { + "code": "SI-049", + "name": "Komen", + "type": "Municipality" + }, + { + "code": "SI-050", + "name": "Koper", + "type": "Urban municipality" + }, + { + "code": "SI-051", + "name": "Kozje", + "type": "Municipality" + }, + { + "code": "SI-052", + "name": "Kranj", + "type": "Urban municipality" + }, + { + "code": "SI-053", + "name": "Kranjska Gora", + "type": "Municipality" + }, + { + "code": "SI-054", + "name": "Krško", + "type": "Urban municipality" + }, + { + "code": "SI-055", + "name": "Kungota", + "type": "Municipality" + }, + { + "code": "SI-056", + "name": "Kuzma", + "type": "Municipality" + }, + { + "code": "SI-057", + "name": "Laško", + "type": "Municipality" + }, + { + "code": "SI-058", + "name": "Lenart", + "type": "Municipality" + }, + { + "code": "SI-059", + "name": "Lendava", + "type": "Municipality" + }, + { + "code": "SI-060", + "name": "Litija", + "type": "Municipality" + }, + { + "code": "SI-061", + "name": "Ljubljana", + "type": "Urban municipality" + }, + { + "code": "SI-062", + "name": "Ljubno", + "type": "Municipality" + }, + { + "code": "SI-063", + "name": "Ljutomer", + "type": "Municipality" + }, + { + "code": "SI-064", + "name": "Logatec", + "type": "Municipality" + }, + { + "code": "SI-065", + "name": "Loška dolina", + "type": "Municipality" + }, + { + "code": "SI-066", + "name": "Loški Potok", + "type": "Municipality" + }, + { + "code": "SI-067", + "name": "Luče", + "type": "Municipality" + }, + { + "code": "SI-068", + "name": "Lukovica", + "type": "Municipality" + }, + { + "code": "SI-069", + "name": "Majšperk", + "type": "Municipality" + }, + { + "code": "SI-070", + "name": "Maribor", + "type": "Urban municipality" + }, + { + "code": "SI-071", + "name": "Medvode", + "type": "Municipality" + }, + { + "code": "SI-072", + "name": "Mengeš", + "type": "Municipality" + }, + { + "code": "SI-073", + "name": "Metlika", + "type": "Municipality" + }, + { + "code": "SI-074", + "name": "Mežica", + "type": "Municipality" + }, + { + "code": "SI-075", + "name": "Miren-Kostanjevica", + "type": "Municipality" + }, + { + "code": "SI-076", + "name": "Mislinja", + "type": "Municipality" + }, + { + "code": "SI-077", + "name": "Moravče", + "type": "Municipality" + }, + { + "code": "SI-078", + "name": "Moravske Toplice", + "type": "Municipality" + }, + { + "code": "SI-079", + "name": "Mozirje", + "type": "Municipality" + }, + { + "code": "SI-080", + "name": "Murska Sobota", + "type": "Urban municipality" + }, + { + "code": "SI-081", + "name": "Muta", + "type": "Municipality" + }, + { + "code": "SI-082", + "name": "Naklo", + "type": "Municipality" + }, + { + "code": "SI-083", + "name": "Nazarje", + "type": "Municipality" + }, + { + "code": "SI-084", + "name": "Nova Gorica", + "type": "Urban municipality" + }, + { + "code": "SI-085", + "name": "Novo Mesto", + "type": "Urban municipality" + }, + { + "code": "SI-086", + "name": "Odranci", + "type": "Municipality" + }, + { + "code": "SI-087", + "name": "Ormož", + "type": "Municipality" + }, + { + "code": "SI-088", + "name": "Osilnica", + "type": "Municipality" + }, + { + "code": "SI-089", + "name": "Pesnica", + "type": "Municipality" + }, + { + "code": "SI-090", + "name": "Piran", + "type": "Municipality" + }, + { + "code": "SI-091", + "name": "Pivka", + "type": "Municipality" + }, + { + "code": "SI-092", + "name": "Podčetrtek", + "type": "Municipality" + }, + { + "code": "SI-093", + "name": "Podvelka", + "type": "Municipality" + }, + { + "code": "SI-094", + "name": "Postojna", + "type": "Municipality" + }, + { + "code": "SI-095", + "name": "Preddvor", + "type": "Municipality" + }, + { + "code": "SI-096", + "name": "Ptuj", + "type": "Urban municipality" + }, + { + "code": "SI-097", + "name": "Puconci", + "type": "Municipality" + }, + { + "code": "SI-098", + "name": "Rače-Fram", + "type": "Municipality" + }, + { + "code": "SI-099", + "name": "Radeče", + "type": "Municipality" + }, + { + "code": "SI-100", + "name": "Radenci", + "type": "Municipality" + }, + { + "code": "SI-101", + "name": "Radlje ob Dravi", + "type": "Municipality" + }, + { + "code": "SI-102", + "name": "Radovljica", + "type": "Municipality" + }, + { + "code": "SI-103", + "name": "Ravne na Koroškem", + "type": "Municipality" + }, + { + "code": "SI-104", + "name": "Ribnica", + "type": "Municipality" + }, + { + "code": "SI-105", + "name": "Rogašovci", + "type": "Municipality" + }, + { + "code": "SI-106", + "name": "Rogaška Slatina", + "type": "Municipality" + }, + { + "code": "SI-107", + "name": "Rogatec", + "type": "Municipality" + }, + { + "code": "SI-108", + "name": "Ruše", + "type": "Municipality" + }, + { + "code": "SI-109", + "name": "Semič", + "type": "Municipality" + }, + { + "code": "SI-110", + "name": "Sevnica", + "type": "Municipality" + }, + { + "code": "SI-111", + "name": "Sežana", + "type": "Municipality" + }, + { + "code": "SI-112", + "name": "Slovenj Gradec", + "type": "Urban municipality" + }, + { + "code": "SI-113", + "name": "Slovenska Bistrica", + "type": "Municipality" + }, + { + "code": "SI-114", + "name": "Slovenske Konjice", + "type": "Municipality" + }, + { + "code": "SI-115", + "name": "Starše", + "type": "Municipality" + }, + { + "code": "SI-116", + "name": "Sveti Jurij ob Ščavnici", + "type": "Municipality" + }, + { + "code": "SI-117", + "name": "Šenčur", + "type": "Municipality" + }, + { + "code": "SI-118", + "name": "Šentilj", + "type": "Municipality" + }, + { + "code": "SI-119", + "name": "Šentjernej", + "type": "Municipality" + }, + { + "code": "SI-120", + "name": "Šentjur", + "type": "Municipality" + }, + { + "code": "SI-121", + "name": "Škocjan", + "type": "Municipality" + }, + { + "code": "SI-122", + "name": "Škofja Loka", + "type": "Municipality" + }, + { + "code": "SI-123", + "name": "Škofljica", + "type": "Municipality" + }, + { + "code": "SI-124", + "name": "Šmarje pri Jelšah", + "type": "Municipality" + }, + { + "code": "SI-125", + "name": "Šmartno ob Paki", + "type": "Municipality" + }, + { + "code": "SI-126", + "name": "Šoštanj", + "type": "Municipality" + }, + { + "code": "SI-127", + "name": "Štore", + "type": "Municipality" + }, + { + "code": "SI-128", + "name": "Tolmin", + "type": "Municipality" + }, + { + "code": "SI-129", + "name": "Trbovlje", + "type": "Municipality" + }, + { + "code": "SI-130", + "name": "Trebnje", + "type": "Municipality" + }, + { + "code": "SI-131", + "name": "Tržič", + "type": "Municipality" + }, + { + "code": "SI-132", + "name": "Turnišče", + "type": "Municipality" + }, + { + "code": "SI-133", + "name": "Velenje", + "type": "Urban municipality" + }, + { + "code": "SI-134", + "name": "Velike Lašče", + "type": "Municipality" + }, + { + "code": "SI-135", + "name": "Videm", + "type": "Municipality" + }, + { + "code": "SI-136", + "name": "Vipava", + "type": "Municipality" + }, + { + "code": "SI-137", + "name": "Vitanje", + "type": "Municipality" + }, + { + "code": "SI-138", + "name": "Vodice", + "type": "Municipality" + }, + { + "code": "SI-139", + "name": "Vojnik", + "type": "Municipality" + }, + { + "code": "SI-140", + "name": "Vrhnika", + "type": "Municipality" + }, + { + "code": "SI-141", + "name": "Vuzenica", + "type": "Municipality" + }, + { + "code": "SI-142", + "name": "Zagorje ob Savi", + "type": "Municipality" + }, + { + "code": "SI-143", + "name": "Zavrč", + "type": "Municipality" + }, + { + "code": "SI-144", + "name": "Zreče", + "type": "Municipality" + }, + { + "code": "SI-146", + "name": "Železniki", + "type": "Municipality" + }, + { + "code": "SI-147", + "name": "Žiri", + "type": "Municipality" + }, + { + "code": "SI-148", + "name": "Benedikt", + "type": "Municipality" + }, + { + "code": "SI-149", + "name": "Bistrica ob Sotli", + "type": "Municipality" + }, + { + "code": "SI-150", + "name": "Bloke", + "type": "Municipality" + }, + { + "code": "SI-151", + "name": "Braslovče", + "type": "Municipality" + }, + { + "code": "SI-152", + "name": "Cankova", + "type": "Municipality" + }, + { + "code": "SI-153", + "name": "Cerkvenjak", + "type": "Municipality" + }, + { + "code": "SI-154", + "name": "Dobje", + "type": "Municipality" + }, + { + "code": "SI-155", + "name": "Dobrna", + "type": "Municipality" + }, + { + "code": "SI-156", + "name": "Dobrovnik", + "type": "Municipality" + }, + { + "code": "SI-157", + "name": "Dolenjske Toplice", + "type": "Municipality" + }, + { + "code": "SI-158", + "name": "Grad", + "type": "Municipality" + }, + { + "code": "SI-159", + "name": "Hajdina", + "type": "Municipality" + }, + { + "code": "SI-160", + "name": "Hoče-Slivnica", + "type": "Municipality" + }, + { + "code": "SI-161", + "name": "Hodoš", + "type": "Municipality" + }, + { + "code": "SI-162", + "name": "Horjul", + "type": "Municipality" + }, + { + "code": "SI-163", + "name": "Jezersko", + "type": "Municipality" + }, + { + "code": "SI-164", + "name": "Komenda", + "type": "Municipality" + }, + { + "code": "SI-165", + "name": "Kostel", + "type": "Municipality" + }, + { + "code": "SI-166", + "name": "Križevci", + "type": "Municipality" + }, + { + "code": "SI-167", + "name": "Lovrenc na Pohorju", + "type": "Municipality" + }, + { + "code": "SI-168", + "name": "Markovci", + "type": "Municipality" + }, + { + "code": "SI-169", + "name": "Miklavž na Dravskem polju", + "type": "Municipality" + }, + { + "code": "SI-170", + "name": "Mirna Peč", + "type": "Municipality" + }, + { + "code": "SI-171", + "name": "Oplotnica", + "type": "Municipality" + }, + { + "code": "SI-172", + "name": "Podlehnik", + "type": "Municipality" + }, + { + "code": "SI-173", + "name": "Polzela", + "type": "Municipality" + }, + { + "code": "SI-174", + "name": "Prebold", + "type": "Municipality" + }, + { + "code": "SI-175", + "name": "Prevalje", + "type": "Municipality" + }, + { + "code": "SI-176", + "name": "Razkrižje", + "type": "Municipality" + }, + { + "code": "SI-177", + "name": "Ribnica na Pohorju", + "type": "Municipality" + }, + { + "code": "SI-178", + "name": "Selnica ob Dravi", + "type": "Municipality" + }, + { + "code": "SI-179", + "name": "Sodražica", + "type": "Municipality" + }, + { + "code": "SI-180", + "name": "Solčava", + "type": "Municipality" + }, + { + "code": "SI-181", + "name": "Sveta Ana", + "type": "Municipality" + }, + { + "code": "SI-182", + "name": "Sveti Andraž v Slovenskih goricah", + "type": "Municipality" + }, + { + "code": "SI-183", + "name": "Šempeter-Vrtojba", + "type": "Municipality" + }, + { + "code": "SI-184", + "name": "Tabor", + "type": "Municipality" + }, + { + "code": "SI-185", + "name": "Trnovska Vas", + "type": "Municipality" + }, + { + "code": "SI-186", + "name": "Trzin", + "type": "Municipality" + }, + { + "code": "SI-187", + "name": "Velika Polana", + "type": "Municipality" + }, + { + "code": "SI-188", + "name": "Veržej", + "type": "Municipality" + }, + { + "code": "SI-189", + "name": "Vransko", + "type": "Municipality" + }, + { + "code": "SI-190", + "name": "Žalec", + "type": "Municipality" + }, + { + "code": "SI-191", + "name": "Žetale", + "type": "Municipality" + }, + { + "code": "SI-192", + "name": "Žirovnica", + "type": "Municipality" + }, + { + "code": "SI-193", + "name": "Žužemberk", + "type": "Municipality" + }, + { + "code": "SI-194", + "name": "Šmartno pri Litiji", + "type": "Municipality" + }, + { + "code": "SI-195", + "name": "Apače", + "type": "Municipality" + }, + { + "code": "SI-196", + "name": "Cirkulane", + "type": "Municipality" + }, + { + "code": "SI-197", + "name": "Kostanjevica na Krki", + "type": "Municipality" + }, + { + "code": "SI-198", + "name": "Makole", + "type": "Municipality" + }, + { + "code": "SI-199", + "name": "Mokronog-Trebelno", + "type": "Municipality" + }, + { + "code": "SI-200", + "name": "Poljčane", + "type": "Municipality" + }, + { + "code": "SI-201", + "name": "Renče-Vogrsko", + "type": "Municipality" + }, + { + "code": "SI-202", + "name": "Središče ob Dravi", + "type": "Municipality" + }, + { + "code": "SI-203", + "name": "Straža", + "type": "Municipality" + }, + { + "code": "SI-204", + "name": "Sveta Trojica v Slovenskih goricah", + "type": "Municipality" + }, + { + "code": "SI-205", + "name": "Sveti Tomaž", + "type": "Municipality" + }, + { + "code": "SI-206", + "name": "Šmarješke Toplice", + "type": "Municipality" + }, + { + "code": "SI-207", + "name": "Gorje", + "type": "Municipality" + }, + { + "code": "SI-208", + "name": "Log-Dragomer", + "type": "Municipality" + }, + { + "code": "SI-209", + "name": "Rečica ob Savinji", + "type": "Municipality" + }, + { + "code": "SI-210", + "name": "Sveti Jurij v Slovenskih goricah", + "type": "Municipality" + }, + { + "code": "SI-211", + "name": "Šentrupert", + "type": "Municipality" + }, + { + "code": "SI-212", + "name": "Mirna", + "type": "Municipality" + }, + { + "code": "SI-213", + "name": "Ankaran", + "type": "Municipality" + }, + { + "code": "SK-BC", + "name": "Banskobystrický kraj", + "type": "Region" + }, + { + "code": "SK-BL", + "name": "Bratislavský kraj", + "type": "Region" + }, + { + "code": "SK-KI", + "name": "Košický kraj", + "type": "Region" + }, + { + "code": "SK-NI", + "name": "Nitriansky kraj", + "type": "Region" + }, + { + "code": "SK-PV", + "name": "Prešovský kraj", + "type": "Region" + }, + { + "code": "SK-TA", + "name": "Trnavský kraj", + "type": "Region" + }, + { + "code": "SK-TC", + "name": "Trenčiansky kraj", + "type": "Region" + }, + { + "code": "SK-ZI", + "name": "Žilinský kraj", + "type": "Region" + }, + { + "code": "SL-E", + "name": "Eastern", + "type": "Province" + }, + { + "code": "SL-N", + "name": "Northern", + "type": "Province" + }, + { + "code": "SL-NW", + "name": "North Western", + "type": "Province" + }, + { + "code": "SL-S", + "name": "Southern", + "type": "Province" + }, + { + "code": "SL-W", + "name": "Western Area (Freetown)", + "type": "Area" + }, + { + "code": "SM-01", + "name": "Acquaviva", + "type": "Municipality" + }, + { + "code": "SM-02", + "name": "Chiesanuova", + "type": "Municipality" + }, + { + "code": "SM-03", + "name": "Domagnano", + "type": "Municipality" + }, + { + "code": "SM-04", + "name": "Faetano", + "type": "Municipality" + }, + { + "code": "SM-05", + "name": "Fiorentino", + "type": "Municipality" + }, + { + "code": "SM-06", + "name": "Borgo Maggiore", + "type": "Municipality" + }, + { + "code": "SM-07", + "name": "Città di San Marino", + "type": "Municipality" + }, + { + "code": "SM-08", + "name": "Montegiardino", + "type": "Municipality" + }, + { + "code": "SM-09", + "name": "Serravalle", + "type": "Municipality" + }, + { + "code": "SN-DB", + "name": "Diourbel", + "type": "Region" + }, + { + "code": "SN-DK", + "name": "Dakar", + "type": "Region" + }, + { + "code": "SN-FK", + "name": "Fatick", + "type": "Region" + }, + { + "code": "SN-KA", + "name": "Kaffrine", + "type": "Region" + }, + { + "code": "SN-KD", + "name": "Kolda", + "type": "Region" + }, + { + "code": "SN-KE", + "name": "Kédougou", + "type": "Region" + }, + { + "code": "SN-KL", + "name": "Kaolack", + "type": "Region" + }, + { + "code": "SN-LG", + "name": "Louga", + "type": "Region" + }, + { + "code": "SN-MT", + "name": "Matam", + "type": "Region" + }, + { + "code": "SN-SE", + "name": "Sédhiou", + "type": "Region" + }, + { + "code": "SN-SL", + "name": "Saint-Louis", + "type": "Region" + }, + { + "code": "SN-TC", + "name": "Tambacounda", + "type": "Region" + }, + { + "code": "SN-TH", + "name": "Thiès", + "type": "Region" + }, + { + "code": "SN-ZG", + "name": "Ziguinchor", + "type": "Region" + }, + { + "code": "SO-AW", + "name": "Awdal", + "type": "Region" + }, + { + "code": "SO-BK", + "name": "Bakool", + "type": "Region" + }, + { + "code": "SO-BN", + "name": "Banaadir", + "type": "Region" + }, + { + "code": "SO-BR", + "name": "Bari", + "type": "Region" + }, + { + "code": "SO-BY", + "name": "Bay", + "type": "Region" + }, + { + "code": "SO-GA", + "name": "Galguduud", + "type": "Region" + }, + { + "code": "SO-GE", + "name": "Gedo", + "type": "Region" + }, + { + "code": "SO-HI", + "name": "Hiiraan", + "type": "Region" + }, + { + "code": "SO-JD", + "name": "Jubbada Dhexe", + "type": "Region" + }, + { + "code": "SO-JH", + "name": "Jubbada Hoose", + "type": "Region" + }, + { + "code": "SO-MU", + "name": "Mudug", + "type": "Region" + }, + { + "code": "SO-NU", + "name": "Nugaal", + "type": "Region" + }, + { + "code": "SO-SA", + "name": "Sanaag", + "type": "Region" + }, + { + "code": "SO-SD", + "name": "Shabeellaha Dhexe", + "type": "Region" + }, + { + "code": "SO-SH", + "name": "Shabeellaha Hoose", + "type": "Region" + }, + { + "code": "SO-SO", + "name": "Sool", + "type": "Region" + }, + { + "code": "SO-TO", + "name": "Togdheer", + "type": "Region" + }, + { + "code": "SO-WO", + "name": "Woqooyi Galbeed", + "type": "Region" + }, + { + "code": "SR-BR", + "name": "Brokopondo", + "type": "District" + }, + { + "code": "SR-CM", + "name": "Commewijne", + "type": "District" + }, + { + "code": "SR-CR", + "name": "Coronie", + "type": "District" + }, + { + "code": "SR-MA", + "name": "Marowijne", + "type": "District" + }, + { + "code": "SR-NI", + "name": "Nickerie", + "type": "District" + }, + { + "code": "SR-PM", + "name": "Paramaribo", + "type": "District" + }, + { + "code": "SR-PR", + "name": "Para", + "type": "District" + }, + { + "code": "SR-SA", + "name": "Saramacca", + "type": "District" + }, + { + "code": "SR-SI", + "name": "Sipaliwini", + "type": "District" + }, + { + "code": "SR-WA", + "name": "Wanica", + "type": "District" + }, + { + "code": "SS-BN", + "name": "Northern Bahr el Ghazal", + "type": "State" + }, + { + "code": "SS-BW", + "name": "Western Bahr el Ghazal", + "type": "State" + }, + { + "code": "SS-EC", + "name": "Central Equatoria", + "type": "State" + }, + { + "code": "SS-EE", + "name": "Eastern Equatoria", + "type": "State" + }, + { + "code": "SS-EW", + "name": "Western Equatoria", + "type": "State" + }, + { + "code": "SS-JG", + "name": "Jonglei", + "type": "State" + }, + { + "code": "SS-LK", + "name": "Lakes", + "type": "State" + }, + { + "code": "SS-NU", + "name": "Upper Nile", + "type": "State" + }, + { + "code": "SS-UY", + "name": "Unity", + "type": "State" + }, + { + "code": "SS-WR", + "name": "Warrap", + "type": "State" + }, + { + "code": "ST-01", + "name": "Água Grande", + "type": "District" + }, + { + "code": "ST-02", + "name": "Cantagalo", + "type": "District" + }, + { + "code": "ST-03", + "name": "Caué", + "type": "District" + }, + { + "code": "ST-04", + "name": "Lembá", + "type": "District" + }, + { + "code": "ST-05", + "name": "Lobata", + "type": "District" + }, + { + "code": "ST-06", + "name": "Mé-Zóchi", + "type": "District" + }, + { + "code": "ST-P", + "name": "Príncipe", + "type": "Autonomous region" + }, + { + "code": "SV-AH", + "name": "Ahuachapán", + "type": "Department" + }, + { + "code": "SV-CA", + "name": "Cabañas", + "type": "Department" + }, + { + "code": "SV-CH", + "name": "Chalatenango", + "type": "Department" + }, + { + "code": "SV-CU", + "name": "Cuscatlán", + "type": "Department" + }, + { + "code": "SV-LI", + "name": "La Libertad", + "type": "Department" + }, + { + "code": "SV-MO", + "name": "Morazán", + "type": "Department" + }, + { + "code": "SV-PA", + "name": "La Paz", + "type": "Department" + }, + { + "code": "SV-SA", + "name": "Santa Ana", + "type": "Department" + }, + { + "code": "SV-SM", + "name": "San Miguel", + "type": "Department" + }, + { + "code": "SV-SO", + "name": "Sonsonate", + "type": "Department" + }, + { + "code": "SV-SS", + "name": "San Salvador", + "type": "Department" + }, + { + "code": "SV-SV", + "name": "San Vicente", + "type": "Department" + }, + { + "code": "SV-UN", + "name": "La Unión", + "type": "Department" + }, + { + "code": "SV-US", + "name": "Usulután", + "type": "Department" + }, + { + "code": "SY-DI", + "name": "Dimashq", + "type": "Province" + }, + { + "code": "SY-DR", + "name": "Dar'ā", + "type": "Province" + }, + { + "code": "SY-DY", + "name": "Dayr az Zawr", + "type": "Province" + }, + { + "code": "SY-HA", + "name": "Al Ḩasakah", + "type": "Province" + }, + { + "code": "SY-HI", + "name": "Ḩimş", + "type": "Province" + }, + { + "code": "SY-HL", + "name": "Ḩalab", + "type": "Province" + }, + { + "code": "SY-HM", + "name": "Ḩamāh", + "type": "Province" + }, + { + "code": "SY-ID", + "name": "Idlib", + "type": "Province" + }, + { + "code": "SY-LA", + "name": "Al Lādhiqīyah", + "type": "Province" + }, + { + "code": "SY-QU", + "name": "Al Qunayţirah", + "type": "Province" + }, + { + "code": "SY-RA", + "name": "Ar Raqqah", + "type": "Province" + }, + { + "code": "SY-RD", + "name": "Rīf Dimashq", + "type": "Province" + }, + { + "code": "SY-SU", + "name": "As Suwaydā'", + "type": "Province" + }, + { + "code": "SY-TA", + "name": "Ţarţūs", + "type": "Province" + }, + { + "code": "SZ-HH", + "name": "Hhohho", + "type": "Region" + }, + { + "code": "SZ-LU", + "name": "Lubombo", + "type": "Region" + }, + { + "code": "SZ-MA", + "name": "Manzini", + "type": "Region" + }, + { + "code": "SZ-SH", + "name": "Shiselweni", + "type": "Region" + }, + { + "code": "TD-BA", + "name": "Batha", + "type": "Province" + }, + { + "code": "TD-BG", + "name": "Bahr el Ghazal", + "type": "Province" + }, + { + "code": "TD-BO", + "name": "Borkou", + "type": "Province" + }, + { + "code": "TD-CB", + "name": "Chari-Baguirmi", + "type": "Province" + }, + { + "code": "TD-EE", + "name": "Ennedi-Est", + "type": "Province" + }, + { + "code": "TD-EO", + "name": "Ennedi-Ouest", + "type": "Province" + }, + { + "code": "TD-GR", + "name": "Guéra", + "type": "Province" + }, + { + "code": "TD-HL", + "name": "Hadjer Lamis", + "type": "Province" + }, + { + "code": "TD-KA", + "name": "Kanem", + "type": "Province" + }, + { + "code": "TD-LC", + "name": "Lac", + "type": "Province" + }, + { + "code": "TD-LO", + "name": "Logone-Occidental", + "type": "Province" + }, + { + "code": "TD-LR", + "name": "Logone-Oriental", + "type": "Province" + }, + { + "code": "TD-MA", + "name": "Mandoul", + "type": "Province" + }, + { + "code": "TD-MC", + "name": "Moyen-Chari", + "type": "Province" + }, + { + "code": "TD-ME", + "name": "Mayo-Kebbi-Est", + "type": "Province" + }, + { + "code": "TD-MO", + "name": "Mayo-Kebbi-Ouest", + "type": "Province" + }, + { + "code": "TD-ND", + "name": "Ville de Ndjamena", + "type": "Province" + }, + { + "code": "TD-OD", + "name": "Ouaddaï", + "type": "Province" + }, + { + "code": "TD-SA", + "name": "Salamat", + "type": "Province" + }, + { + "code": "TD-SI", + "name": "Sila", + "type": "Province" + }, + { + "code": "TD-TA", + "name": "Tandjilé", + "type": "Province" + }, + { + "code": "TD-TI", + "name": "Tibesti", + "type": "Province" + }, + { + "code": "TD-WF", + "name": "Wadi Fira", + "type": "Province" + }, + { + "code": "TG-C", + "name": "Centrale", + "type": "Region" + }, + { + "code": "TG-K", + "name": "Kara", + "type": "Region" + }, + { + "code": "TG-M", + "name": "Maritime (Région)", + "type": "Region" + }, + { + "code": "TG-P", + "name": "Plateaux", + "type": "Region" + }, + { + "code": "TG-S", + "name": "Savanes", + "type": "Region" + }, + { + "code": "TH-10", + "name": "Krung Thep Maha Nakhon", + "type": "Metropolitan administration" + }, + { + "code": "TH-11", + "name": "Samut Prakan", + "type": "Province" + }, + { + "code": "TH-12", + "name": "Nonthaburi", + "type": "Province" + }, + { + "code": "TH-13", + "name": "Pathum Thani", + "type": "Province" + }, + { + "code": "TH-14", + "name": "Phra Nakhon Si Ayutthaya", + "type": "Province" + }, + { + "code": "TH-15", + "name": "Ang Thong", + "type": "Province" + }, + { + "code": "TH-16", + "name": "Lop Buri", + "type": "Province" + }, + { + "code": "TH-17", + "name": "Sing Buri", + "type": "Province" + }, + { + "code": "TH-18", + "name": "Chai Nat", + "type": "Province" + }, + { + "code": "TH-19", + "name": "Saraburi", + "type": "Province" + }, + { + "code": "TH-20", + "name": "Chon Buri", + "type": "Province" + }, + { + "code": "TH-21", + "name": "Rayong", + "type": "Province" + }, + { + "code": "TH-22", + "name": "Chanthaburi", + "type": "Province" + }, + { + "code": "TH-23", + "name": "Trat", + "type": "Province" + }, + { + "code": "TH-24", + "name": "Chachoengsao", + "type": "Province" + }, + { + "code": "TH-25", + "name": "Prachin Buri", + "type": "Province" + }, + { + "code": "TH-26", + "name": "Nakhon Nayok", + "type": "Province" + }, + { + "code": "TH-27", + "name": "Sa Kaeo", + "type": "Province" + }, + { + "code": "TH-30", + "name": "Nakhon Ratchasima", + "type": "Province" + }, + { + "code": "TH-31", + "name": "Buri Ram", + "type": "Province" + }, + { + "code": "TH-32", + "name": "Surin", + "type": "Province" + }, + { + "code": "TH-33", + "name": "Si Sa Ket", + "type": "Province" + }, + { + "code": "TH-34", + "name": "Ubon Ratchathani", + "type": "Province" + }, + { + "code": "TH-35", + "name": "Yasothon", + "type": "Province" + }, + { + "code": "TH-36", + "name": "Chaiyaphum", + "type": "Province" + }, + { + "code": "TH-37", + "name": "Amnat Charoen", + "type": "Province" + }, + { + "code": "TH-38", + "name": "Bueng Kan", + "type": "Province" + }, + { + "code": "TH-39", + "name": "Nong Bua Lam Phu", + "type": "Province" + }, + { + "code": "TH-40", + "name": "Khon Kaen", + "type": "Province" + }, + { + "code": "TH-41", + "name": "Udon Thani", + "type": "Province" + }, + { + "code": "TH-42", + "name": "Loei", + "type": "Province" + }, + { + "code": "TH-43", + "name": "Nong Khai", + "type": "Province" + }, + { + "code": "TH-44", + "name": "Maha Sarakham", + "type": "Province" + }, + { + "code": "TH-45", + "name": "Roi Et", + "type": "Province" + }, + { + "code": "TH-46", + "name": "Kalasin", + "type": "Province" + }, + { + "code": "TH-47", + "name": "Sakon Nakhon", + "type": "Province" + }, + { + "code": "TH-48", + "name": "Nakhon Phanom", + "type": "Province" + }, + { + "code": "TH-49", + "name": "Mukdahan", + "type": "Province" + }, + { + "code": "TH-50", + "name": "Chiang Mai", + "type": "Province" + }, + { + "code": "TH-51", + "name": "Lamphun", + "type": "Province" + }, + { + "code": "TH-52", + "name": "Lampang", + "type": "Province" + }, + { + "code": "TH-53", + "name": "Uttaradit", + "type": "Province" + }, + { + "code": "TH-54", + "name": "Phrae", + "type": "Province" + }, + { + "code": "TH-55", + "name": "Nan", + "type": "Province" + }, + { + "code": "TH-56", + "name": "Phayao", + "type": "Province" + }, + { + "code": "TH-57", + "name": "Chiang Rai", + "type": "Province" + }, + { + "code": "TH-58", + "name": "Mae Hong Son", + "type": "Province" + }, + { + "code": "TH-60", + "name": "Nakhon Sawan", + "type": "Province" + }, + { + "code": "TH-61", + "name": "Uthai Thani", + "type": "Province" + }, + { + "code": "TH-62", + "name": "Kamphaeng Phet", + "type": "Province" + }, + { + "code": "TH-63", + "name": "Tak", + "type": "Province" + }, + { + "code": "TH-64", + "name": "Sukhothai", + "type": "Province" + }, + { + "code": "TH-65", + "name": "Phitsanulok", + "type": "Province" + }, + { + "code": "TH-66", + "name": "Phichit", + "type": "Province" + }, + { + "code": "TH-67", + "name": "Phetchabun", + "type": "Province" + }, + { + "code": "TH-70", + "name": "Ratchaburi", + "type": "Province" + }, + { + "code": "TH-71", + "name": "Kanchanaburi", + "type": "Province" + }, + { + "code": "TH-72", + "name": "Suphan Buri", + "type": "Province" + }, + { + "code": "TH-73", + "name": "Nakhon Pathom", + "type": "Province" + }, + { + "code": "TH-74", + "name": "Samut Sakhon", + "type": "Province" + }, + { + "code": "TH-75", + "name": "Samut Songkhram", + "type": "Province" + }, + { + "code": "TH-76", + "name": "Phetchaburi", + "type": "Province" + }, + { + "code": "TH-77", + "name": "Prachuap Khiri Khan", + "type": "Province" + }, + { + "code": "TH-80", + "name": "Nakhon Si Thammarat", + "type": "Province" + }, + { + "code": "TH-81", + "name": "Krabi", + "type": "Province" + }, + { + "code": "TH-82", + "name": "Phangnga", + "type": "Province" + }, + { + "code": "TH-83", + "name": "Phuket", + "type": "Province" + }, + { + "code": "TH-84", + "name": "Surat Thani", + "type": "Province" + }, + { + "code": "TH-85", + "name": "Ranong", + "type": "Province" + }, + { + "code": "TH-86", + "name": "Chumphon", + "type": "Province" + }, + { + "code": "TH-90", + "name": "Songkhla", + "type": "Province" + }, + { + "code": "TH-91", + "name": "Satun", + "type": "Province" + }, + { + "code": "TH-92", + "name": "Trang", + "type": "Province" + }, + { + "code": "TH-93", + "name": "Phatthalung", + "type": "Province" + }, + { + "code": "TH-94", + "name": "Pattani", + "type": "Province" + }, + { + "code": "TH-95", + "name": "Yala", + "type": "Province" + }, + { + "code": "TH-96", + "name": "Narathiwat", + "type": "Province" + }, + { + "code": "TH-S", + "name": "Phatthaya", + "type": "Special administrative city" + }, + { + "code": "TJ-DU", + "name": "Dushanbe", + "type": "Capital territory" + }, + { + "code": "TJ-GB", + "name": "Kŭhistoni Badakhshon", + "type": "Autonomous region" + }, + { + "code": "TJ-KT", + "name": "Khatlon", + "type": "Region" + }, + { + "code": "TJ-RA", + "name": "nohiyahoi tobei jumhurí", + "type": "Districts under republic administration" + }, + { + "code": "TJ-SU", + "name": "Sughd", + "type": "Region" + }, + { + "code": "TL-AL", + "name": "Aileu", + "type": "Municipality" + }, + { + "code": "TL-AN", + "name": "Ainaro", + "type": "Municipality" + }, + { + "code": "TL-BA", + "name": "Baucau", + "type": "Municipality" + }, + { + "code": "TL-BO", + "name": "Bobonaro", + "type": "Municipality" + }, + { + "code": "TL-CO", + "name": "Cova Lima", + "type": "Municipality" + }, + { + "code": "TL-DI", + "name": "Díli", + "type": "Municipality" + }, + { + "code": "TL-ER", + "name": "Ermera", + "type": "Municipality" + }, + { + "code": "TL-LA", + "name": "Lautein", + "type": "Municipality" + }, + { + "code": "TL-LI", + "name": "Likisá", + "type": "Municipality" + }, + { + "code": "TL-MF", + "name": "Manufahi", + "type": "Municipality" + }, + { + "code": "TL-MT", + "name": "Manatuto", + "type": "Municipality" + }, + { + "code": "TL-OE", + "name": "Oekusi-Ambenu", + "type": "Special administrative region" + }, + { + "code": "TL-VI", + "name": "Vikeke", + "type": "Municipality" + }, + { + "code": "TM-A", + "name": "Ahal", + "type": "Region" + }, + { + "code": "TM-B", + "name": "Balkan", + "type": "Region" + }, + { + "code": "TM-D", + "name": "Daşoguz", + "type": "Region" + }, + { + "code": "TM-L", + "name": "Lebap", + "type": "Region" + }, + { + "code": "TM-M", + "name": "Mary", + "type": "Region" + }, + { + "code": "TM-S", + "name": "Aşgabat", + "type": "City" + }, + { + "code": "TN-11", + "name": "Tunis", + "type": "Governorate" + }, + { + "code": "TN-12", + "name": "L'Ariana", + "type": "Governorate" + }, + { + "code": "TN-13", + "name": "Ben Arous", + "type": "Governorate" + }, + { + "code": "TN-14", + "name": "La Manouba", + "type": "Governorate" + }, + { + "code": "TN-21", + "name": "Nabeul", + "type": "Governorate" + }, + { + "code": "TN-22", + "name": "Zaghouan", + "type": "Governorate" + }, + { + "code": "TN-23", + "name": "Bizerte", + "type": "Governorate" + }, + { + "code": "TN-31", + "name": "Béja", + "type": "Governorate" + }, + { + "code": "TN-32", + "name": "Jendouba", + "type": "Governorate" + }, + { + "code": "TN-33", + "name": "Le Kef", + "type": "Governorate" + }, + { + "code": "TN-34", + "name": "Siliana", + "type": "Governorate" + }, + { + "code": "TN-41", + "name": "Kairouan", + "type": "Governorate" + }, + { + "code": "TN-42", + "name": "Kasserine", + "type": "Governorate" + }, + { + "code": "TN-43", + "name": "Sidi Bouzid", + "type": "Governorate" + }, + { + "code": "TN-51", + "name": "Sousse", + "type": "Governorate" + }, + { + "code": "TN-52", + "name": "Monastir", + "type": "Governorate" + }, + { + "code": "TN-53", + "name": "Mahdia", + "type": "Governorate" + }, + { + "code": "TN-61", + "name": "Sfax", + "type": "Governorate" + }, + { + "code": "TN-71", + "name": "Gafsa", + "type": "Governorate" + }, + { + "code": "TN-72", + "name": "Tozeur", + "type": "Governorate" + }, + { + "code": "TN-73", + "name": "Kébili", + "type": "Governorate" + }, + { + "code": "TN-81", + "name": "Gabès", + "type": "Governorate" + }, + { + "code": "TN-82", + "name": "Médenine", + "type": "Governorate" + }, + { + "code": "TN-83", + "name": "Tataouine", + "type": "Governorate" + }, + { + "code": "TO-01", + "name": "'Eua", + "type": "Division" + }, + { + "code": "TO-02", + "name": "Ha'apai", + "type": "Division" + }, + { + "code": "TO-03", + "name": "Niuas", + "type": "Division" + }, + { + "code": "TO-04", + "name": "Tongatapu", + "type": "Division" + }, + { + "code": "TO-05", + "name": "Vava'u", + "type": "Division" + }, + { + "code": "TR-01", + "name": "Adana", + "type": "Province" + }, + { + "code": "TR-02", + "name": "Adıyaman", + "type": "Province" + }, + { + "code": "TR-03", + "name": "Afyonkarahisar", + "type": "Province" + }, + { + "code": "TR-04", + "name": "Ağrı", + "type": "Province" + }, + { + "code": "TR-05", + "name": "Amasya", + "type": "Province" + }, + { + "code": "TR-06", + "name": "Ankara", + "type": "Province" + }, + { + "code": "TR-07", + "name": "Antalya", + "type": "Province" + }, + { + "code": "TR-08", + "name": "Artvin", + "type": "Province" + }, + { + "code": "TR-09", + "name": "Aydın", + "type": "Province" + }, + { + "code": "TR-10", + "name": "Balıkesir", + "type": "Province" + }, + { + "code": "TR-11", + "name": "Bilecik", + "type": "Province" + }, + { + "code": "TR-12", + "name": "Bingöl", + "type": "Province" + }, + { + "code": "TR-13", + "name": "Bitlis", + "type": "Province" + }, + { + "code": "TR-14", + "name": "Bolu", + "type": "Province" + }, + { + "code": "TR-15", + "name": "Burdur", + "type": "Province" + }, + { + "code": "TR-16", + "name": "Bursa", + "type": "Province" + }, + { + "code": "TR-17", + "name": "Çanakkale", + "type": "Province" + }, + { + "code": "TR-18", + "name": "Çankırı", + "type": "Province" + }, + { + "code": "TR-19", + "name": "Çorum", + "type": "Province" + }, + { + "code": "TR-20", + "name": "Denizli", + "type": "Province" + }, + { + "code": "TR-21", + "name": "Diyarbakır", + "type": "Province" + }, + { + "code": "TR-22", + "name": "Edirne", + "type": "Province" + }, + { + "code": "TR-23", + "name": "Elazığ", + "type": "Province" + }, + { + "code": "TR-24", + "name": "Erzincan", + "type": "Province" + }, + { + "code": "TR-25", + "name": "Erzurum", + "type": "Province" + }, + { + "code": "TR-26", + "name": "Eskişehir", + "type": "Province" + }, + { + "code": "TR-27", + "name": "Gaziantep", + "type": "Province" + }, + { + "code": "TR-28", + "name": "Giresun", + "type": "Province" + }, + { + "code": "TR-29", + "name": "Gümüşhane", + "type": "Province" + }, + { + "code": "TR-30", + "name": "Hakkâri", + "type": "Province" + }, + { + "code": "TR-31", + "name": "Hatay", + "type": "Province" + }, + { + "code": "TR-32", + "name": "Isparta", + "type": "Province" + }, + { + "code": "TR-33", + "name": "Mersin", + "type": "Province" + }, + { + "code": "TR-34", + "name": "İstanbul", + "type": "Province" + }, + { + "code": "TR-35", + "name": "İzmir", + "type": "Province" + }, + { + "code": "TR-36", + "name": "Kars", + "type": "Province" + }, + { + "code": "TR-37", + "name": "Kastamonu", + "type": "Province" + }, + { + "code": "TR-38", + "name": "Kayseri", + "type": "Province" + }, + { + "code": "TR-39", + "name": "Kırklareli", + "type": "Province" + }, + { + "code": "TR-40", + "name": "Kırşehir", + "type": "Province" + }, + { + "code": "TR-41", + "name": "Kocaeli", + "type": "Province" + }, + { + "code": "TR-42", + "name": "Konya", + "type": "Province" + }, + { + "code": "TR-43", + "name": "Kütahya", + "type": "Province" + }, + { + "code": "TR-44", + "name": "Malatya", + "type": "Province" + }, + { + "code": "TR-45", + "name": "Manisa", + "type": "Province" + }, + { + "code": "TR-46", + "name": "Kahramanmaraş", + "type": "Province" + }, + { + "code": "TR-47", + "name": "Mardin", + "type": "Province" + }, + { + "code": "TR-48", + "name": "Muğla", + "type": "Province" + }, + { + "code": "TR-49", + "name": "Muş", + "type": "Province" + }, + { + "code": "TR-50", + "name": "Nevşehir", + "type": "Province" + }, + { + "code": "TR-51", + "name": "Niğde", + "type": "Province" + }, + { + "code": "TR-52", + "name": "Ordu", + "type": "Province" + }, + { + "code": "TR-53", + "name": "Rize", + "type": "Province" + }, + { + "code": "TR-54", + "name": "Sakarya", + "type": "Province" + }, + { + "code": "TR-55", + "name": "Samsun", + "type": "Province" + }, + { + "code": "TR-56", + "name": "Siirt", + "type": "Province" + }, + { + "code": "TR-57", + "name": "Sinop", + "type": "Province" + }, + { + "code": "TR-58", + "name": "Sivas", + "type": "Province" + }, + { + "code": "TR-59", + "name": "Tekirdağ", + "type": "Province" + }, + { + "code": "TR-60", + "name": "Tokat", + "type": "Province" + }, + { + "code": "TR-61", + "name": "Trabzon", + "type": "Province" + }, + { + "code": "TR-62", + "name": "Tunceli", + "type": "Province" + }, + { + "code": "TR-63", + "name": "Şanlıurfa", + "type": "Province" + }, + { + "code": "TR-64", + "name": "Uşak", + "type": "Province" + }, + { + "code": "TR-65", + "name": "Van", + "type": "Province" + }, + { + "code": "TR-66", + "name": "Yozgat", + "type": "Province" + }, + { + "code": "TR-67", + "name": "Zonguldak", + "type": "Province" + }, + { + "code": "TR-68", + "name": "Aksaray", + "type": "Province" + }, + { + "code": "TR-69", + "name": "Bayburt", + "type": "Province" + }, + { + "code": "TR-70", + "name": "Karaman", + "type": "Province" + }, + { + "code": "TR-71", + "name": "Kırıkkale", + "type": "Province" + }, + { + "code": "TR-72", + "name": "Batman", + "type": "Province" + }, + { + "code": "TR-73", + "name": "Şırnak", + "type": "Province" + }, + { + "code": "TR-74", + "name": "Bartın", + "type": "Province" + }, + { + "code": "TR-75", + "name": "Ardahan", + "type": "Province" + }, + { + "code": "TR-76", + "name": "Iğdır", + "type": "Province" + }, + { + "code": "TR-77", + "name": "Yalova", + "type": "Province" + }, + { + "code": "TR-78", + "name": "Karabük", + "type": "Province" + }, + { + "code": "TR-79", + "name": "Kilis", + "type": "Province" + }, + { + "code": "TR-80", + "name": "Osmaniye", + "type": "Province" + }, + { + "code": "TR-81", + "name": "Düzce", + "type": "Province" + }, + { + "code": "TT-ARI", + "name": "Arima", + "type": "Borough" + }, + { + "code": "TT-CHA", + "name": "Chaguanas", + "type": "Borough" + }, + { + "code": "TT-CTT", + "name": "Couva-Tabaquite-Talparo", + "type": "Region" + }, + { + "code": "TT-DMN", + "name": "Diego Martin", + "type": "Region" + }, + { + "code": "TT-MRC", + "name": "Mayaro-Rio Claro", + "type": "Region" + }, + { + "code": "TT-PED", + "name": "Penal-Debe", + "type": "Region" + }, + { + "code": "TT-POS", + "name": "Port of Spain", + "type": "City" + }, + { + "code": "TT-PRT", + "name": "Princes Town", + "type": "Region" + }, + { + "code": "TT-PTF", + "name": "Point Fortin", + "type": "Borough" + }, + { + "code": "TT-SFO", + "name": "San Fernando", + "type": "City" + }, + { + "code": "TT-SGE", + "name": "Sangre Grande", + "type": "Region" + }, + { + "code": "TT-SIP", + "name": "Siparia", + "type": "Region" + }, + { + "code": "TT-SJL", + "name": "San Juan-Laventille", + "type": "Region" + }, + { + "code": "TT-TOB", + "name": "Tobago", + "type": "Ward" + }, + { + "code": "TT-TUP", + "name": "Tunapuna-Piarco", + "type": "Region" + }, + { + "code": "TV-FUN", + "name": "Funafuti", + "type": "Town council" + }, + { + "code": "TV-NIT", + "name": "Niutao", + "type": "Island council" + }, + { + "code": "TV-NKF", + "name": "Nukufetau", + "type": "Island council" + }, + { + "code": "TV-NKL", + "name": "Nukulaelae", + "type": "Island council" + }, + { + "code": "TV-NMA", + "name": "Nanumea", + "type": "Island council" + }, + { + "code": "TV-NMG", + "name": "Nanumaga", + "type": "Island council" + }, + { + "code": "TV-NUI", + "name": "Nui", + "type": "Island council" + }, + { + "code": "TV-VAI", + "name": "Vaitupu", + "type": "Island council" + }, + { + "code": "TW-CHA", + "name": "Changhua", + "type": "County" + }, + { + "code": "TW-CYI", + "name": "Chiayi", + "type": "City" + }, + { + "code": "TW-CYQ", + "name": "Chiayi", + "type": "County" + }, + { + "code": "TW-HSQ", + "name": "Hsinchu", + "type": "County" + }, + { + "code": "TW-HSZ", + "name": "Hsinchu", + "type": "City" + }, + { + "code": "TW-HUA", + "name": "Hualien", + "type": "County" + }, + { + "code": "TW-ILA", + "name": "Yilan", + "type": "County" + }, + { + "code": "TW-KEE", + "name": "Keelung", + "type": "City" + }, + { + "code": "TW-KHH", + "name": "Kaohsiung", + "type": "Special municipality" + }, + { + "code": "TW-KIN", + "name": "Kinmen", + "type": "County" + }, + { + "code": "TW-LIE", + "name": "Lienchiang", + "type": "County" + }, + { + "code": "TW-MIA", + "name": "Miaoli", + "type": "County" + }, + { + "code": "TW-NAN", + "name": "Nantou", + "type": "County" + }, + { + "code": "TW-NWT", + "name": "New Taipei", + "type": "Special municipality" + }, + { + "code": "TW-PEN", + "name": "Penghu", + "type": "County" + }, + { + "code": "TW-PIF", + "name": "Pingtung", + "type": "County" + }, + { + "code": "TW-TAO", + "name": "Taoyuan", + "type": "Special municipality" + }, + { + "code": "TW-TNN", + "name": "Tainan", + "type": "Special municipality" + }, + { + "code": "TW-TPE", + "name": "Taipei", + "type": "Special municipality" + }, + { + "code": "TW-TTT", + "name": "Taitung", + "type": "County" + }, + { + "code": "TW-TXG", + "name": "Taichung", + "type": "Special municipality" + }, + { + "code": "TW-YUN", + "name": "Yunlin", + "type": "County" + }, + { + "code": "TZ-01", + "name": "Arusha", + "type": "Region" + }, + { + "code": "TZ-02", + "name": "Dar es Salaam", + "type": "Region" + }, + { + "code": "TZ-03", + "name": "Dodoma", + "type": "Region" + }, + { + "code": "TZ-04", + "name": "Iringa", + "type": "Region" + }, + { + "code": "TZ-05", + "name": "Kagera", + "type": "Region" + }, + { + "code": "TZ-06", + "name": "Pemba North", + "type": "Region" + }, + { + "code": "TZ-07", + "name": "Zanzibar North", + "type": "Region" + }, + { + "code": "TZ-08", + "name": "Kigoma", + "type": "Region" + }, + { + "code": "TZ-09", + "name": "Kilimanjaro", + "type": "Region" + }, + { + "code": "TZ-10", + "name": "Pemba South", + "type": "Region" + }, + { + "code": "TZ-11", + "name": "Zanzibar South", + "type": "Region" + }, + { + "code": "TZ-12", + "name": "Lindi", + "type": "Region" + }, + { + "code": "TZ-13", + "name": "Mara", + "type": "Region" + }, + { + "code": "TZ-14", + "name": "Mbeya", + "type": "Region" + }, + { + "code": "TZ-15", + "name": "Zanzibar West", + "type": "Region" + }, + { + "code": "TZ-16", + "name": "Morogoro", + "type": "Region" + }, + { + "code": "TZ-17", + "name": "Mtwara", + "type": "Region" + }, + { + "code": "TZ-18", + "name": "Mwanza", + "type": "Region" + }, + { + "code": "TZ-19", + "name": "Coast", + "type": "Region" + }, + { + "code": "TZ-20", + "name": "Rukwa", + "type": "Region" + }, + { + "code": "TZ-21", + "name": "Ruvuma", + "type": "Region" + }, + { + "code": "TZ-22", + "name": "Shinyanga", + "type": "Region" + }, + { + "code": "TZ-23", + "name": "Singida", + "type": "Region" + }, + { + "code": "TZ-24", + "name": "Tabora", + "type": "Region" + }, + { + "code": "TZ-25", + "name": "Tanga", + "type": "Region" + }, + { + "code": "TZ-26", + "name": "Manyara", + "type": "Region" + }, + { + "code": "TZ-27", + "name": "Geita", + "type": "Region" + }, + { + "code": "TZ-28", + "name": "Katavi", + "type": "Region" + }, + { + "code": "TZ-29", + "name": "Njombe", + "type": "Region" + }, + { + "code": "TZ-30", + "name": "Simiyu", + "type": "Region" + }, + { + "code": "TZ-31", + "name": "Songwe", + "type": "Region" + }, + { + "code": "UA-05", + "name": "Vinnytska oblast", + "type": "Region" + }, + { + "code": "UA-07", + "name": "Volynska oblast", + "type": "Region" + }, + { + "code": "UA-09", + "name": "Luhanska oblast", + "type": "Region" + }, + { + "code": "UA-12", + "name": "Dnipropetrovska oblast", + "type": "Region" + }, + { + "code": "UA-14", + "name": "Donetska oblast", + "type": "Region" + }, + { + "code": "UA-18", + "name": "Zhytomyrska oblast", + "type": "Region" + }, + { + "code": "UA-21", + "name": "Zakarpatska oblast", + "type": "Region" + }, + { + "code": "UA-23", + "name": "Zaporizka oblast", + "type": "Region" + }, + { + "code": "UA-26", + "name": "Ivano-Frankivska oblast", + "type": "Region" + }, + { + "code": "UA-30", + "name": "Kyiv", + "type": "City" + }, + { + "code": "UA-32", + "name": "Kyivska oblast", + "type": "Region" + }, + { + "code": "UA-35", + "name": "Kirovohradska oblast", + "type": "Region" + }, + { + "code": "UA-40", + "name": "Sevastopol", + "type": "City" + }, + { + "code": "UA-43", + "name": "Avtonomna Respublika Krym", + "type": "Republic" + }, + { + "code": "UA-46", + "name": "Lvivska oblast", + "type": "Region" + }, + { + "code": "UA-48", + "name": "Mykolaivska oblast", + "type": "Region" + }, + { + "code": "UA-51", + "name": "Odeska oblast", + "type": "Region" + }, + { + "code": "UA-53", + "name": "Poltavska oblast", + "type": "Region" + }, + { + "code": "UA-56", + "name": "Rivnenska oblast", + "type": "Region" + }, + { + "code": "UA-59", + "name": "Sumska oblast", + "type": "Region" + }, + { + "code": "UA-61", + "name": "Ternopilska oblast", + "type": "Region" + }, + { + "code": "UA-63", + "name": "Kharkivska oblast", + "type": "Region" + }, + { + "code": "UA-65", + "name": "Khersonska oblast", + "type": "Region" + }, + { + "code": "UA-68", + "name": "Khmelnytska oblast", + "type": "Region" + }, + { + "code": "UA-71", + "name": "Cherkaska oblast", + "type": "Region" + }, + { + "code": "UA-74", + "name": "Chernihivska oblast", + "type": "Region" + }, + { + "code": "UA-77", + "name": "Chernivetska oblast", + "type": "Region" + }, + { + "code": "UG-101", + "name": "Kalangala", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-102", + "name": "Kampala", + "parent": "UG-C", + "type": "City" + }, + { + "code": "UG-103", + "name": "Kiboga", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-104", + "name": "Luwero", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-105", + "name": "Masaka", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-106", + "name": "Mpigi", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-107", + "name": "Mubende", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-108", + "name": "Mukono", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-109", + "name": "Nakasongola", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-110", + "name": "Rakai", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-111", + "name": "Sembabule", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-112", + "name": "Kayunga", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-113", + "name": "Wakiso", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-114", + "name": "Lyantonde", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-115", + "name": "Mityana", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-116", + "name": "Nakaseke", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-117", + "name": "Buikwe", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-118", + "name": "Bukomansibi", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-119", + "name": "Butambala", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-120", + "name": "Buvuma", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-121", + "name": "Gomba", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-122", + "name": "Kalungu", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-123", + "name": "Kyankwanzi", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-124", + "name": "Lwengo", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-125", + "name": "Kyotera", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-126", + "name": "Kasanda", + "parent": "UG-C", + "type": "District" + }, + { + "code": "UG-201", + "name": "Bugiri", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-202", + "name": "Busia", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-203", + "name": "Iganga", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-204", + "name": "Jinja", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-205", + "name": "Kamuli", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-206", + "name": "Kapchorwa", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-207", + "name": "Katakwi", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-208", + "name": "Kumi", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-209", + "name": "Mbale", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-210", + "name": "Pallisa", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-211", + "name": "Soroti", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-212", + "name": "Tororo", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-213", + "name": "Kaberamaido", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-214", + "name": "Mayuge", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-215", + "name": "Sironko", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-216", + "name": "Amuria", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-217", + "name": "Budaka", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-218", + "name": "Bududa", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-219", + "name": "Bukedea", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-220", + "name": "Bukwo", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-221", + "name": "Butaleja", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-222", + "name": "Kaliro", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-223", + "name": "Manafwa", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-224", + "name": "Namutumba", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-225", + "name": "Bulambuli", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-226", + "name": "Buyende", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-227", + "name": "Kibuku", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-228", + "name": "Kween", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-229", + "name": "Luuka", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-230", + "name": "Namayingo", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-231", + "name": "Ngora", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-232", + "name": "Serere", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-233", + "name": "Butebo", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-234", + "name": "Namisindwa", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-235", + "name": "Bugweri", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-236", + "name": "Kapelebyong", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-237", + "name": "Kalaki", + "parent": "UG-E", + "type": "District" + }, + { + "code": "UG-301", + "name": "Adjumani", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-302", + "name": "Apac", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-303", + "name": "Arua", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-304", + "name": "Gulu", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-305", + "name": "Kitgum", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-306", + "name": "Kotido", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-307", + "name": "Lira", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-308", + "name": "Moroto", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-309", + "name": "Moyo", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-310", + "name": "Nebbi", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-311", + "name": "Nakapiripirit", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-312", + "name": "Pader", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-313", + "name": "Yumbe", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-314", + "name": "Abim", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-315", + "name": "Amolatar", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-316", + "name": "Amuru", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-317", + "name": "Dokolo", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-318", + "name": "Kaabong", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-319", + "name": "Koboko", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-320", + "name": "Maracha", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-321", + "name": "Oyam", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-322", + "name": "Agago", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-323", + "name": "Alebtong", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-324", + "name": "Amudat", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-325", + "name": "Kole", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-326", + "name": "Lamwo", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-327", + "name": "Napak", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-328", + "name": "Nwoya", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-329", + "name": "Otuke", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-330", + "name": "Zombo", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-331", + "name": "Omoro", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-332", + "name": "Pakwach", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-333", + "name": "Kwania", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-334", + "name": "Nabilatuk", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-335", + "name": "Karenga", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-336", + "name": "Madi-Okollo", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-337", + "name": "Obongi", + "parent": "UG-N", + "type": "District" + }, + { + "code": "UG-401", + "name": "Bundibugyo", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-402", + "name": "Bushenyi", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-403", + "name": "Hoima", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-404", + "name": "Kabale", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-405", + "name": "Kabarole", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-406", + "name": "Kasese", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-407", + "name": "Kibaale", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-408", + "name": "Kisoro", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-409", + "name": "Masindi", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-410", + "name": "Mbarara", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-411", + "name": "Ntungamo", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-412", + "name": "Rukungiri", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-413", + "name": "Kamwenge", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-414", + "name": "Kanungu", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-415", + "name": "Kyenjojo", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-416", + "name": "Buliisa", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-417", + "name": "Ibanda", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-418", + "name": "Isingiro", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-419", + "name": "Kiruhura", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-420", + "name": "Buhweju", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-421", + "name": "Kiryandongo", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-422", + "name": "Kyegegwa", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-423", + "name": "Mitooma", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-424", + "name": "Ntoroko", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-425", + "name": "Rubirizi", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-426", + "name": "Sheema", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-427", + "name": "Kagadi", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-428", + "name": "Kakumiro", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-429", + "name": "Rubanda", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-430", + "name": "Bunyangabu", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-431", + "name": "Rukiga", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-432", + "name": "Kikuube", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-433", + "name": "Kazo", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-434", + "name": "Kitagwenda", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-435", + "name": "Rwampara", + "parent": "UG-W", + "type": "District" + }, + { + "code": "UG-C", + "name": "Central", + "type": "Geographical region" + }, + { + "code": "UG-E", + "name": "Eastern", + "type": "Geographical region" + }, + { + "code": "UG-N", + "name": "Northern", + "type": "Geographical region" + }, + { + "code": "UG-W", + "name": "Western", + "type": "Geographical region" + }, + { + "code": "UM-67", + "name": "Johnston Atoll", + "type": "Islands, groups of islands" + }, + { + "code": "UM-71", + "name": "Midway Islands", + "type": "Islands, groups of islands" + }, + { + "code": "UM-76", + "name": "Navassa Island", + "type": "Islands, groups of islands" + }, + { + "code": "UM-79", + "name": "Wake Island", + "type": "Islands, groups of islands" + }, + { + "code": "UM-81", + "name": "Baker Island", + "type": "Islands, groups of islands" + }, + { + "code": "UM-84", + "name": "Howland Island", + "type": "Islands, groups of islands" + }, + { + "code": "UM-86", + "name": "Jarvis Island", + "type": "Islands, groups of islands" + }, + { + "code": "UM-89", + "name": "Kingman Reef", + "type": "Islands, groups of islands" + }, + { + "code": "UM-95", + "name": "Palmyra Atoll", + "type": "Islands, groups of islands" + }, + { + "code": "US-AK", + "name": "Alaska", + "type": "State" + }, + { + "code": "US-AL", + "name": "Alabama", + "type": "State" + }, + { + "code": "US-AR", + "name": "Arkansas", + "type": "State" + }, + { + "code": "US-AS", + "name": "American Samoa", + "type": "Outlying area" + }, + { + "code": "US-AZ", + "name": "Arizona", + "type": "State" + }, + { + "code": "US-CA", + "name": "California", + "type": "State" + }, + { + "code": "US-CO", + "name": "Colorado", + "type": "State" + }, + { + "code": "US-CT", + "name": "Connecticut", + "type": "State" + }, + { + "code": "US-DC", + "name": "District of Columbia", + "type": "District" + }, + { + "code": "US-DE", + "name": "Delaware", + "type": "State" + }, + { + "code": "US-FL", + "name": "Florida", + "type": "State" + }, + { + "code": "US-GA", + "name": "Georgia", + "type": "State" + }, + { + "code": "US-GU", + "name": "Guam", + "type": "Outlying area" + }, + { + "code": "US-HI", + "name": "Hawaii", + "type": "State" + }, + { + "code": "US-IA", + "name": "Iowa", + "type": "State" + }, + { + "code": "US-ID", + "name": "Idaho", + "type": "State" + }, + { + "code": "US-IL", + "name": "Illinois", + "type": "State" + }, + { + "code": "US-IN", + "name": "Indiana", + "type": "State" + }, + { + "code": "US-KS", + "name": "Kansas", + "type": "State" + }, + { + "code": "US-KY", + "name": "Kentucky", + "type": "State" + }, + { + "code": "US-LA", + "name": "Louisiana", + "type": "State" + }, + { + "code": "US-MA", + "name": "Massachusetts", + "type": "State" + }, + { + "code": "US-MD", + "name": "Maryland", + "type": "State" + }, + { + "code": "US-ME", + "name": "Maine", + "type": "State" + }, + { + "code": "US-MI", + "name": "Michigan", + "type": "State" + }, + { + "code": "US-MN", + "name": "Minnesota", + "type": "State" + }, + { + "code": "US-MO", + "name": "Missouri", + "type": "State" + }, + { + "code": "US-MP", + "name": "Northern Mariana Islands", + "type": "Outlying area" + }, + { + "code": "US-MS", + "name": "Mississippi", + "type": "State" + }, + { + "code": "US-MT", + "name": "Montana", + "type": "State" + }, + { + "code": "US-NC", + "name": "North Carolina", + "type": "State" + }, + { + "code": "US-ND", + "name": "North Dakota", + "type": "State" + }, + { + "code": "US-NE", + "name": "Nebraska", + "type": "State" + }, + { + "code": "US-NH", + "name": "New Hampshire", + "type": "State" + }, + { + "code": "US-NJ", + "name": "New Jersey", + "type": "State" + }, + { + "code": "US-NM", + "name": "New Mexico", + "type": "State" + }, + { + "code": "US-NV", + "name": "Nevada", + "type": "State" + }, + { + "code": "US-NY", + "name": "New York", + "type": "State" + }, + { + "code": "US-OH", + "name": "Ohio", + "type": "State" + }, + { + "code": "US-OK", + "name": "Oklahoma", + "type": "State" + }, + { + "code": "US-OR", + "name": "Oregon", + "type": "State" + }, + { + "code": "US-PA", + "name": "Pennsylvania", + "type": "State" + }, + { + "code": "US-PR", + "name": "Puerto Rico", + "type": "Outlying area" + }, + { + "code": "US-RI", + "name": "Rhode Island", + "type": "State" + }, + { + "code": "US-SC", + "name": "South Carolina", + "type": "State" + }, + { + "code": "US-SD", + "name": "South Dakota", + "type": "State" + }, + { + "code": "US-TN", + "name": "Tennessee", + "type": "State" + }, + { + "code": "US-TX", + "name": "Texas", + "type": "State" + }, + { + "code": "US-UM", + "name": "United States Minor Outlying Islands", + "type": "Outlying area" + }, + { + "code": "US-UT", + "name": "Utah", + "type": "State" + }, + { + "code": "US-VA", + "name": "Virginia", + "type": "State" + }, + { + "code": "US-VI", + "name": "Virgin Islands, U.S.", + "type": "Outlying area" + }, + { + "code": "US-VT", + "name": "Vermont", + "type": "State" + }, + { + "code": "US-WA", + "name": "Washington", + "type": "State" + }, + { + "code": "US-WI", + "name": "Wisconsin", + "type": "State" + }, + { + "code": "US-WV", + "name": "West Virginia", + "type": "State" + }, + { + "code": "US-WY", + "name": "Wyoming", + "type": "State" + }, + { + "code": "UY-AR", + "name": "Artigas", + "type": "Department" + }, + { + "code": "UY-CA", + "name": "Canelones", + "type": "Department" + }, + { + "code": "UY-CL", + "name": "Cerro Largo", + "type": "Department" + }, + { + "code": "UY-CO", + "name": "Colonia", + "type": "Department" + }, + { + "code": "UY-DU", + "name": "Durazno", + "type": "Department" + }, + { + "code": "UY-FD", + "name": "Florida", + "type": "Department" + }, + { + "code": "UY-FS", + "name": "Flores", + "type": "Department" + }, + { + "code": "UY-LA", + "name": "Lavalleja", + "type": "Department" + }, + { + "code": "UY-MA", + "name": "Maldonado", + "type": "Department" + }, + { + "code": "UY-MO", + "name": "Montevideo", + "type": "Department" + }, + { + "code": "UY-PA", + "name": "Paysandú", + "type": "Department" + }, + { + "code": "UY-RN", + "name": "Río Negro", + "type": "Department" + }, + { + "code": "UY-RO", + "name": "Rocha", + "type": "Department" + }, + { + "code": "UY-RV", + "name": "Rivera", + "type": "Department" + }, + { + "code": "UY-SA", + "name": "Salto", + "type": "Department" + }, + { + "code": "UY-SJ", + "name": "San José", + "type": "Department" + }, + { + "code": "UY-SO", + "name": "Soriano", + "type": "Department" + }, + { + "code": "UY-TA", + "name": "Tacuarembó", + "type": "Department" + }, + { + "code": "UY-TT", + "name": "Treinta y Tres", + "type": "Department" + }, + { + "code": "UZ-AN", + "name": "Andijon", + "type": "Region" + }, + { + "code": "UZ-BU", + "name": "Buxoro", + "type": "Region" + }, + { + "code": "UZ-FA", + "name": "Farg‘ona", + "type": "Region" + }, + { + "code": "UZ-JI", + "name": "Jizzax", + "type": "Region" + }, + { + "code": "UZ-NG", + "name": "Namangan", + "type": "Region" + }, + { + "code": "UZ-NW", + "name": "Navoiy", + "type": "Region" + }, + { + "code": "UZ-QA", + "name": "Qashqadaryo", + "type": "Region" + }, + { + "code": "UZ-QR", + "name": "Qoraqalpog‘iston Respublikasi", + "type": "Republic" + }, + { + "code": "UZ-SA", + "name": "Samarqand", + "type": "Region" + }, + { + "code": "UZ-SI", + "name": "Sirdaryo", + "type": "Region" + }, + { + "code": "UZ-SU", + "name": "Surxondaryo", + "type": "Region" + }, + { + "code": "UZ-TK", + "name": "Toshkent", + "type": "City" + }, + { + "code": "UZ-TO", + "name": "Toshkent", + "type": "Region" + }, + { + "code": "UZ-XO", + "name": "Xorazm", + "type": "Region" + }, + { + "code": "VC-01", + "name": "Charlotte", + "type": "Parish" + }, + { + "code": "VC-02", + "name": "Saint Andrew", + "type": "Parish" + }, + { + "code": "VC-03", + "name": "Saint David", + "type": "Parish" + }, + { + "code": "VC-04", + "name": "Saint George", + "type": "Parish" + }, + { + "code": "VC-05", + "name": "Saint Patrick", + "type": "Parish" + }, + { + "code": "VC-06", + "name": "Grenadines", + "type": "Parish" + }, + { + "code": "VE-A", + "name": "Distrito Capital", + "type": "Capital district" + }, + { + "code": "VE-B", + "name": "Anzoátegui", + "type": "State" + }, + { + "code": "VE-C", + "name": "Apure", + "type": "State" + }, + { + "code": "VE-D", + "name": "Aragua", + "type": "State" + }, + { + "code": "VE-E", + "name": "Barinas", + "type": "State" + }, + { + "code": "VE-F", + "name": "Bolívar", + "type": "State" + }, + { + "code": "VE-G", + "name": "Carabobo", + "type": "State" + }, + { + "code": "VE-H", + "name": "Cojedes", + "type": "State" + }, + { + "code": "VE-I", + "name": "Falcón", + "type": "State" + }, + { + "code": "VE-J", + "name": "Guárico", + "type": "State" + }, + { + "code": "VE-K", + "name": "Lara", + "type": "State" + }, + { + "code": "VE-L", + "name": "Mérida", + "type": "State" + }, + { + "code": "VE-M", + "name": "Miranda", + "type": "State" + }, + { + "code": "VE-N", + "name": "Monagas", + "type": "State" + }, + { + "code": "VE-O", + "name": "Nueva Esparta", + "type": "State" + }, + { + "code": "VE-P", + "name": "Portuguesa", + "type": "State" + }, + { + "code": "VE-R", + "name": "Sucre", + "type": "State" + }, + { + "code": "VE-S", + "name": "Táchira", + "type": "State" + }, + { + "code": "VE-T", + "name": "Trujillo", + "type": "State" + }, + { + "code": "VE-U", + "name": "Yaracuy", + "type": "State" + }, + { + "code": "VE-V", + "name": "Zulia", + "type": "State" + }, + { + "code": "VE-W", + "name": "Dependencias Federales", + "type": "Federal dependency" + }, + { + "code": "VE-X", + "name": "La Guaira", + "type": "State" + }, + { + "code": "VE-Y", + "name": "Delta Amacuro", + "type": "State" + }, + { + "code": "VE-Z", + "name": "Amazonas", + "type": "State" + }, + { + "code": "VN-01", + "name": "Lai Châu", + "type": "Province" + }, + { + "code": "VN-02", + "name": "Lào Cai", + "type": "Province" + }, + { + "code": "VN-03", + "name": "Hà Giang", + "type": "Province" + }, + { + "code": "VN-04", + "name": "Cao Bằng", + "type": "Province" + }, + { + "code": "VN-05", + "name": "Sơn La", + "type": "Province" + }, + { + "code": "VN-06", + "name": "Yên Bái", + "type": "Province" + }, + { + "code": "VN-07", + "name": "Tuyên Quang", + "type": "Province" + }, + { + "code": "VN-09", + "name": "Lạng Sơn", + "type": "Province" + }, + { + "code": "VN-13", + "name": "Quảng Ninh", + "type": "Province" + }, + { + "code": "VN-14", + "name": "Hòa Bình", + "type": "Province" + }, + { + "code": "VN-18", + "name": "Ninh Bình", + "type": "Province" + }, + { + "code": "VN-20", + "name": "Thái Bình", + "type": "Province" + }, + { + "code": "VN-21", + "name": "Thanh Hóa", + "type": "Province" + }, + { + "code": "VN-22", + "name": "Nghệ An", + "type": "Province" + }, + { + "code": "VN-23", + "name": "Hà Tĩnh", + "type": "Province" + }, + { + "code": "VN-24", + "name": "Quảng Bình", + "type": "Province" + }, + { + "code": "VN-25", + "name": "Quảng Trị", + "type": "Province" + }, + { + "code": "VN-26", + "name": "Thừa Thiên-Huế", + "type": "Province" + }, + { + "code": "VN-27", + "name": "Quảng Nam", + "type": "Province" + }, + { + "code": "VN-28", + "name": "Kon Tum", + "type": "Province" + }, + { + "code": "VN-29", + "name": "Quảng Ngãi", + "type": "Province" + }, + { + "code": "VN-30", + "name": "Gia Lai", + "type": "Province" + }, + { + "code": "VN-31", + "name": "Bình Định", + "type": "Province" + }, + { + "code": "VN-32", + "name": "Phú Yên", + "type": "Province" + }, + { + "code": "VN-33", + "name": "Đắk Lắk", + "type": "Province" + }, + { + "code": "VN-34", + "name": "Khánh Hòa", + "type": "Province" + }, + { + "code": "VN-35", + "name": "Lâm Đồng", + "type": "Province" + }, + { + "code": "VN-36", + "name": "Ninh Thuận", + "type": "Province" + }, + { + "code": "VN-37", + "name": "Tây Ninh", + "type": "Province" + }, + { + "code": "VN-39", + "name": "Đồng Nai", + "type": "Province" + }, + { + "code": "VN-40", + "name": "Bình Thuận", + "type": "Province" + }, + { + "code": "VN-41", + "name": "Long An", + "type": "Province" + }, + { + "code": "VN-43", + "name": "Bà Rịa - Vũng Tàu", + "type": "Province" + }, + { + "code": "VN-44", + "name": "An Giang", + "type": "Province" + }, + { + "code": "VN-45", + "name": "Đồng Tháp", + "type": "Province" + }, + { + "code": "VN-46", + "name": "Tiền Giang", + "type": "Province" + }, + { + "code": "VN-47", + "name": "Kiến Giang", + "type": "Province" + }, + { + "code": "VN-49", + "name": "Vĩnh Long", + "type": "Province" + }, + { + "code": "VN-50", + "name": "Bến Tre", + "type": "Province" + }, + { + "code": "VN-51", + "name": "Trà Vinh", + "type": "Province" + }, + { + "code": "VN-52", + "name": "Sóc Trăng", + "type": "Province" + }, + { + "code": "VN-53", + "name": "Bắc Kạn", + "type": "Province" + }, + { + "code": "VN-54", + "name": "Bắc Giang", + "type": "Province" + }, + { + "code": "VN-55", + "name": "Bạc Liêu", + "type": "Province" + }, + { + "code": "VN-56", + "name": "Bắc Ninh", + "type": "Province" + }, + { + "code": "VN-57", + "name": "Bình Dương", + "type": "Province" + }, + { + "code": "VN-58", + "name": "Bình Phước", + "type": "Province" + }, + { + "code": "VN-59", + "name": "Cà Mau", + "type": "Province" + }, + { + "code": "VN-61", + "name": "Hải Dương", + "type": "Province" + }, + { + "code": "VN-63", + "name": "Hà Nam", + "type": "Province" + }, + { + "code": "VN-66", + "name": "Hưng Yên", + "type": "Province" + }, + { + "code": "VN-67", + "name": "Nam Định", + "type": "Province" + }, + { + "code": "VN-68", + "name": "Phú Thọ", + "type": "Province" + }, + { + "code": "VN-69", + "name": "Thái Nguyên", + "type": "Province" + }, + { + "code": "VN-70", + "name": "Vĩnh Phúc", + "type": "Province" + }, + { + "code": "VN-71", + "name": "Điện Biên", + "type": "Province" + }, + { + "code": "VN-72", + "name": "Đắk Nông", + "type": "Province" + }, + { + "code": "VN-73", + "name": "Hậu Giang", + "type": "Province" + }, + { + "code": "VN-CT", + "name": "Cần Thơ", + "type": "Municipality" + }, + { + "code": "VN-DN", + "name": "Đà Nẵng", + "type": "Municipality" + }, + { + "code": "VN-HN", + "name": "Hà Nội", + "type": "Municipality" + }, + { + "code": "VN-HP", + "name": "Hải Phòng", + "type": "Municipality" + }, + { + "code": "VN-SG", + "name": "Hồ Chí Minh", + "type": "Municipality" + }, + { + "code": "VU-MAP", + "name": "Malampa", + "type": "Province" + }, + { + "code": "VU-PAM", + "name": "Pénama", + "type": "Province" + }, + { + "code": "VU-SAM", + "name": "Sanma", + "type": "Province" + }, + { + "code": "VU-SEE", + "name": "Shéfa", + "type": "Province" + }, + { + "code": "VU-TAE", + "name": "Taféa", + "type": "Province" + }, + { + "code": "VU-TOB", + "name": "Torba", + "type": "Province" + }, + { + "code": "WF-AL", + "name": "Alo", + "type": "Administrative precinct" + }, + { + "code": "WF-SG", + "name": "Sigave", + "type": "Administrative precinct" + }, + { + "code": "WF-UV", + "name": "Uvea", + "type": "Administrative precinct" + }, + { + "code": "WS-AA", + "name": "A'ana", + "type": "District" + }, + { + "code": "WS-AL", + "name": "Aiga-i-le-Tai", + "type": "District" + }, + { + "code": "WS-AT", + "name": "Atua", + "type": "District" + }, + { + "code": "WS-FA", + "name": "Fa'asaleleaga", + "type": "District" + }, + { + "code": "WS-GE", + "name": "Gaga'emauga", + "type": "District" + }, + { + "code": "WS-GI", + "name": "Gagaifomauga", + "type": "District" + }, + { + "code": "WS-PA", + "name": "Palauli", + "type": "District" + }, + { + "code": "WS-SA", + "name": "Satupa'itea", + "type": "District" + }, + { + "code": "WS-TU", + "name": "Tuamasaga", + "type": "District" + }, + { + "code": "WS-VF", + "name": "Va'a-o-Fonoti", + "type": "District" + }, + { + "code": "WS-VS", + "name": "Vaisigano", + "type": "District" + }, + { + "code": "YE-AB", + "name": "Abyan", + "type": "Governorate" + }, + { + "code": "YE-AD", + "name": "‘Adan", + "type": "Governorate" + }, + { + "code": "YE-AM", + "name": "‘Amrān", + "type": "Governorate" + }, + { + "code": "YE-BA", + "name": "Al Bayḑā’", + "type": "Governorate" + }, + { + "code": "YE-DA", + "name": "Aḑ Ḑāli‘", + "type": "Governorate" + }, + { + "code": "YE-DH", + "name": "Dhamār", + "type": "Governorate" + }, + { + "code": "YE-HD", + "name": "Ḩaḑramawt", + "type": "Governorate" + }, + { + "code": "YE-HJ", + "name": "Ḩajjah", + "type": "Governorate" + }, + { + "code": "YE-HU", + "name": "Al Ḩudaydah", + "type": "Governorate" + }, + { + "code": "YE-IB", + "name": "Ibb", + "type": "Governorate" + }, + { + "code": "YE-JA", + "name": "Al Jawf", + "type": "Governorate" + }, + { + "code": "YE-LA", + "name": "Laḩij", + "type": "Governorate" + }, + { + "code": "YE-MA", + "name": "Ma’rib", + "type": "Governorate" + }, + { + "code": "YE-MR", + "name": "Al Mahrah", + "type": "Governorate" + }, + { + "code": "YE-MW", + "name": "Al Maḩwīt", + "type": "Governorate" + }, + { + "code": "YE-RA", + "name": "Raymah", + "type": "Governorate" + }, + { + "code": "YE-SA", + "name": "Amānat al ‘Āşimah [city]", + "type": "Municipality" + }, + { + "code": "YE-SD", + "name": "Şāʻdah", + "type": "Governorate" + }, + { + "code": "YE-SH", + "name": "Shabwah", + "type": "Governorate" + }, + { + "code": "YE-SN", + "name": "Şanʻā’", + "type": "Governorate" + }, + { + "code": "YE-SU", + "name": "Arkhabīl Suquţrá", + "type": "Governorate" + }, + { + "code": "YE-TA", + "name": "Tāʻizz", + "type": "Governorate" + }, + { + "code": "ZA-EC", + "name": "Eastern Cape", + "type": "Province" + }, + { + "code": "ZA-FS", + "name": "Free State", + "type": "Province" + }, + { + "code": "ZA-GP", + "name": "Gauteng", + "type": "Province" + }, + { + "code": "ZA-KZN", + "name": "Kwazulu-Natal", + "type": "Province" + }, + { + "code": "ZA-LP", + "name": "Limpopo", + "type": "Province" + }, + { + "code": "ZA-MP", + "name": "Mpumalanga", + "type": "Province" + }, + { + "code": "ZA-NC", + "name": "Northern Cape", + "type": "Province" + }, + { + "code": "ZA-NW", + "name": "North-West", + "type": "Province" + }, + { + "code": "ZA-WC", + "name": "Western Cape", + "type": "Province" + }, + { + "code": "ZM-01", + "name": "Western", + "type": "Province" + }, + { + "code": "ZM-02", + "name": "Central", + "type": "Province" + }, + { + "code": "ZM-03", + "name": "Eastern", + "type": "Province" + }, + { + "code": "ZM-04", + "name": "Luapula", + "type": "Province" + }, + { + "code": "ZM-05", + "name": "Northern", + "type": "Province" + }, + { + "code": "ZM-06", + "name": "North-Western", + "type": "Province" + }, + { + "code": "ZM-07", + "name": "Southern", + "type": "Province" + }, + { + "code": "ZM-08", + "name": "Copperbelt", + "type": "Province" + }, + { + "code": "ZM-09", + "name": "Lusaka", + "type": "Province" + }, + { + "code": "ZM-10", + "name": "Muchinga", + "type": "Province" + }, + { + "code": "ZW-BU", + "name": "Bulawayo", + "type": "Province" + }, + { + "code": "ZW-HA", + "name": "Harare", + "type": "Province" + }, + { + "code": "ZW-MA", + "name": "Manicaland", + "type": "Province" + }, + { + "code": "ZW-MC", + "name": "Mashonaland Central", + "type": "Province" + }, + { + "code": "ZW-ME", + "name": "Mashonaland East", + "type": "Province" + }, + { + "code": "ZW-MI", + "name": "Midlands", + "type": "Province" + }, + { + "code": "ZW-MN", + "name": "Matabeleland North", + "type": "Province" + }, + { + "code": "ZW-MS", + "name": "Matabeleland South", + "type": "Province" + }, + { + "code": "ZW-MV", + "name": "Masvingo", + "type": "Province" + }, + { + "code": "ZW-MW", + "name": "Mashonaland West", + "type": "Province" + } + ] +} diff --git a/.venv/lib/python3.11/site-packages/pycountry/databases/iso3166-3.json b/.venv/lib/python3.11/site-packages/pycountry/databases/iso3166-3.json new file mode 100644 index 0000000000000000000000000000000000000000..88b462881e617b7a3206a6d8a6b3e910682bbc16 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/databases/iso3166-3.json @@ -0,0 +1,254 @@ +{ + "3166-3": [ + { + "alpha_2": "AI", + "alpha_3": "AFI", + "alpha_4": "AIDJ", + "name": "French Afars and Issas", + "numeric": "262", + "withdrawal_date": "1977" + }, + { + "alpha_2": "AN", + "alpha_3": "ANT", + "alpha_4": "ANHH", + "comment": "had numeric code 532 until Aruba split away in 1986", + "name": "Netherlands Antilles", + "numeric": "530", + "withdrawal_date": "2010-12-15" + }, + { + "alpha_2": "BQ", + "alpha_3": "ATB", + "alpha_4": "BQAQ", + "name": "British Antarctic Territory", + "withdrawal_date": "1979" + }, + { + "alpha_2": "BU", + "alpha_3": "BUR", + "alpha_4": "BUMM", + "name": "Burma, Socialist Republic of the Union of", + "numeric": "104", + "withdrawal_date": "1989-12-05" + }, + { + "alpha_2": "BY", + "alpha_3": "BYS", + "alpha_4": "BYAA", + "name": "Byelorussian SSR Soviet Socialist Republic", + "numeric": "112", + "withdrawal_date": "1992-06-15" + }, + { + "alpha_2": "CS", + "alpha_3": "CSK", + "alpha_4": "CSHH", + "name": "Czechoslovakia, Czechoslovak Socialist Republic", + "numeric": "200", + "withdrawal_date": "1993-06-15" + }, + { + "alpha_2": "CS", + "alpha_3": "SCG", + "alpha_4": "CSXX", + "name": "Serbia and Montenegro", + "numeric": "891", + "withdrawal_date": "2006-09-26" + }, + { + "alpha_2": "CT", + "alpha_3": "CTE", + "alpha_4": "CTKI", + "name": "Canton and Enderbury Islands", + "numeric": "128", + "withdrawal_date": "1984" + }, + { + "alpha_2": "DD", + "alpha_3": "DDR", + "alpha_4": "DDDE", + "name": "German Democratic Republic", + "numeric": "278", + "withdrawal_date": "1990-10-30" + }, + { + "alpha_2": "DY", + "alpha_3": "DHY", + "alpha_4": "DYBJ", + "name": "Dahomey", + "numeric": "204", + "withdrawal_date": "1977" + }, + { + "alpha_2": "FQ", + "alpha_3": "ATF", + "alpha_4": "FQHH", + "comment": "now split between AQ and TF", + "name": "French Southern and Antarctic Territories", + "withdrawal_date": "1979" + }, + { + "alpha_2": "FX", + "alpha_3": "FXX", + "alpha_4": "FXFR", + "name": "France, Metropolitan", + "numeric": "249", + "withdrawal_date": "1997-07-14" + }, + { + "alpha_2": "GE", + "alpha_3": "GEL", + "alpha_4": "GEHH", + "comment": "now split into Kiribati and Tuvalu", + "name": "Gilbert and Ellice Islands", + "numeric": "296", + "withdrawal_date": "1979" + }, + { + "alpha_2": "HV", + "alpha_3": "HVO", + "alpha_4": "HVBF", + "name": "Upper Volta, Republic of", + "numeric": "854", + "withdrawal_date": "1984" + }, + { + "alpha_2": "JT", + "alpha_3": "JTN", + "alpha_4": "JTUM", + "name": "Johnston Island", + "numeric": "396", + "withdrawal_date": "1986" + }, + { + "alpha_2": "MI", + "alpha_3": "MID", + "alpha_4": "MIUM", + "name": "Midway Islands", + "numeric": "488", + "withdrawal_date": "1986" + }, + { + "alpha_2": "NH", + "alpha_3": "NHB", + "alpha_4": "NHVU", + "name": "New Hebrides", + "numeric": "548", + "withdrawal_date": "1980" + }, + { + "alpha_2": "NQ", + "alpha_3": "ATN", + "alpha_4": "NQAQ", + "name": "Dronning Maud Land", + "numeric": "216", + "withdrawal_date": "1983" + }, + { + "alpha_2": "NT", + "alpha_3": "NTZ", + "alpha_4": "NTHH", + "comment": "formerly between Saudi Arabia and Iraq", + "name": "Neutral Zone", + "numeric": "536", + "withdrawal_date": "1993-07-12" + }, + { + "alpha_2": "PC", + "alpha_3": "PCI", + "alpha_4": "PCHH", + "comment": "divided into FM, MH, MP, and PW", + "name": "Pacific Islands (trust territory)", + "numeric": "582", + "withdrawal_date": "1986" + }, + { + "alpha_2": "PU", + "alpha_3": "PUS", + "alpha_4": "PUUM", + "name": "US Miscellaneous Pacific Islands", + "numeric": "849", + "withdrawal_date": "1986" + }, + { + "alpha_2": "PZ", + "alpha_3": "PCZ", + "alpha_4": "PZPA", + "name": "Panama Canal Zone", + "withdrawal_date": "1980" + }, + { + "alpha_2": "RH", + "alpha_3": "RHO", + "alpha_4": "RHZW", + "name": "Southern Rhodesia", + "numeric": "716", + "withdrawal_date": "1980" + }, + { + "alpha_2": "SK", + "alpha_3": "SKM", + "alpha_4": "SKIN", + "name": "Sikkim", + "withdrawal_date": "1975" + }, + { + "alpha_2": "SU", + "alpha_3": "SUN", + "alpha_4": "SUHH", + "name": "USSR, Union of Soviet Socialist Republics", + "numeric": "810", + "withdrawal_date": "1992-08-30" + }, + { + "alpha_2": "TP", + "alpha_3": "TMP", + "alpha_4": "TPTL", + "comment": "was Portuguese Timor", + "name": "East Timor", + "numeric": "626", + "withdrawal_date": "2002-05-20" + }, + { + "alpha_2": "VD", + "alpha_3": "VDR", + "alpha_4": "VDVN", + "name": "Viet-Nam, Democratic Republic of", + "withdrawal_date": "1977" + }, + { + "alpha_2": "WK", + "alpha_3": "WAK", + "alpha_4": "WKUM", + "name": "Wake Island", + "numeric": "872", + "withdrawal_date": "1986" + }, + { + "alpha_2": "YD", + "alpha_3": "YMD", + "alpha_4": "YDYE", + "name": "Yemen, Democratic, People's Democratic Republic of", + "numeric": "720", + "withdrawal_date": "1990-08-14" + }, + { + "alpha_2": "YU", + "alpha_3": "YUG", + "alpha_4": "YUCS", + "comment": "had numeric code 890 until the 'Socialist Federal Republic of Yugoslavia' formerly broke apart on 27 April 1992 and the 'Federal Republic of Yugoslavia' was founded", + "name": "Yugoslavia, (Socialist) Federal Republic of", + "numeric": "891", + "withdrawal_date": "2003-07-23" + }, + { + "alpha_2": "ZR", + "alpha_3": "ZAR", + "alpha_4": "ZRCD", + "name": "Zaire, Republic of", + "numeric": "180", + "withdrawal_date": "1997-07-14" + } + ] +} diff --git a/.venv/lib/python3.11/site-packages/pycountry/databases/iso4217.json b/.venv/lib/python3.11/site-packages/pycountry/databases/iso4217.json new file mode 100644 index 0000000000000000000000000000000000000000..4bd42d3bc7cce146d422098eeb88583a59681448 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/databases/iso4217.json @@ -0,0 +1,909 @@ +{ + "4217": [ + { + "alpha_3": "AED", + "name": "UAE Dirham", + "numeric": "784" + }, + { + "alpha_3": "AFN", + "name": "Afghani", + "numeric": "971" + }, + { + "alpha_3": "ALL", + "name": "Lek", + "numeric": "008" + }, + { + "alpha_3": "AMD", + "name": "Armenian Dram", + "numeric": "051" + }, + { + "alpha_3": "ANG", + "name": "Netherlands Antillean Guilder", + "numeric": "532" + }, + { + "alpha_3": "AOA", + "name": "Kwanza", + "numeric": "973" + }, + { + "alpha_3": "ARS", + "name": "Argentine Peso", + "numeric": "032" + }, + { + "alpha_3": "AUD", + "name": "Australian Dollar", + "numeric": "036" + }, + { + "alpha_3": "AWG", + "name": "Aruban Florin", + "numeric": "533" + }, + { + "alpha_3": "AZN", + "name": "Azerbaijan Manat", + "numeric": "944" + }, + { + "alpha_3": "BAM", + "name": "Convertible Mark", + "numeric": "977" + }, + { + "alpha_3": "BBD", + "name": "Barbados Dollar", + "numeric": "052" + }, + { + "alpha_3": "BDT", + "name": "Taka", + "numeric": "050" + }, + { + "alpha_3": "BGN", + "name": "Bulgarian Lev", + "numeric": "975" + }, + { + "alpha_3": "BHD", + "name": "Bahraini Dinar", + "numeric": "048" + }, + { + "alpha_3": "BIF", + "name": "Burundi Franc", + "numeric": "108" + }, + { + "alpha_3": "BMD", + "name": "Bermudian Dollar", + "numeric": "060" + }, + { + "alpha_3": "BND", + "name": "Brunei Dollar", + "numeric": "096" + }, + { + "alpha_3": "BOB", + "name": "Boliviano", + "numeric": "068" + }, + { + "alpha_3": "BOV", + "name": "Mvdol", + "numeric": "984" + }, + { + "alpha_3": "BRL", + "name": "Brazilian Real", + "numeric": "986" + }, + { + "alpha_3": "BSD", + "name": "Bahamian Dollar", + "numeric": "044" + }, + { + "alpha_3": "BTN", + "name": "Ngultrum", + "numeric": "064" + }, + { + "alpha_3": "BWP", + "name": "Pula", + "numeric": "072" + }, + { + "alpha_3": "BYN", + "name": "Belarusian Ruble", + "numeric": "933" + }, + { + "alpha_3": "BZD", + "name": "Belize Dollar", + "numeric": "084" + }, + { + "alpha_3": "CAD", + "name": "Canadian Dollar", + "numeric": "124" + }, + { + "alpha_3": "CDF", + "name": "Congolese Franc", + "numeric": "976" + }, + { + "alpha_3": "CHE", + "name": "WIR Euro", + "numeric": "947" + }, + { + "alpha_3": "CHF", + "name": "Swiss Franc", + "numeric": "756" + }, + { + "alpha_3": "CHW", + "name": "WIR Franc", + "numeric": "948" + }, + { + "alpha_3": "CLF", + "name": "Unidad de Fomento", + "numeric": "990" + }, + { + "alpha_3": "CLP", + "name": "Chilean Peso", + "numeric": "152" + }, + { + "alpha_3": "CNY", + "name": "Yuan Renminbi", + "numeric": "156" + }, + { + "alpha_3": "COP", + "name": "Colombian Peso", + "numeric": "170" + }, + { + "alpha_3": "COU", + "name": "Unidad de Valor Real", + "numeric": "970" + }, + { + "alpha_3": "CRC", + "name": "Costa Rican Colon", + "numeric": "188" + }, + { + "alpha_3": "CUC", + "name": "Peso Convertible", + "numeric": "931" + }, + { + "alpha_3": "CUP", + "name": "Cuban Peso", + "numeric": "192" + }, + { + "alpha_3": "CVE", + "name": "Cabo Verde Escudo", + "numeric": "132" + }, + { + "alpha_3": "CZK", + "name": "Czech Koruna", + "numeric": "203" + }, + { + "alpha_3": "DJF", + "name": "Djibouti Franc", + "numeric": "262" + }, + { + "alpha_3": "DKK", + "name": "Danish Krone", + "numeric": "208" + }, + { + "alpha_3": "DOP", + "name": "Dominican Peso", + "numeric": "214" + }, + { + "alpha_3": "DZD", + "name": "Algerian Dinar", + "numeric": "012" + }, + { + "alpha_3": "EGP", + "name": "Egyptian Pound", + "numeric": "818" + }, + { + "alpha_3": "ERN", + "name": "Nakfa", + "numeric": "232" + }, + { + "alpha_3": "ETB", + "name": "Ethiopian Birr", + "numeric": "230" + }, + { + "alpha_3": "EUR", + "name": "Euro", + "numeric": "978" + }, + { + "alpha_3": "FJD", + "name": "Fiji Dollar", + "numeric": "242" + }, + { + "alpha_3": "FKP", + "name": "Falkland Islands Pound", + "numeric": "238" + }, + { + "alpha_3": "GBP", + "name": "Pound Sterling", + "numeric": "826" + }, + { + "alpha_3": "GEL", + "name": "Lari", + "numeric": "981" + }, + { + "alpha_3": "GHS", + "name": "Ghana Cedi", + "numeric": "936" + }, + { + "alpha_3": "GIP", + "name": "Gibraltar Pound", + "numeric": "292" + }, + { + "alpha_3": "GMD", + "name": "Dalasi", + "numeric": "270" + }, + { + "alpha_3": "GNF", + "name": "Guinean Franc", + "numeric": "324" + }, + { + "alpha_3": "GTQ", + "name": "Quetzal", + "numeric": "320" + }, + { + "alpha_3": "GYD", + "name": "Guyana Dollar", + "numeric": "328" + }, + { + "alpha_3": "HKD", + "name": "Hong Kong Dollar", + "numeric": "344" + }, + { + "alpha_3": "HNL", + "name": "Lempira", + "numeric": "340" + }, + { + "alpha_3": "HRK", + "name": "Kuna", + "numeric": "191" + }, + { + "alpha_3": "HTG", + "name": "Gourde", + "numeric": "332" + }, + { + "alpha_3": "HUF", + "name": "Forint", + "numeric": "348" + }, + { + "alpha_3": "IDR", + "name": "Rupiah", + "numeric": "360" + }, + { + "alpha_3": "ILS", + "name": "New Israeli Sheqel", + "numeric": "376" + }, + { + "alpha_3": "INR", + "name": "Indian Rupee", + "numeric": "356" + }, + { + "alpha_3": "IQD", + "name": "Iraqi Dinar", + "numeric": "368" + }, + { + "alpha_3": "IRR", + "name": "Iranian Rial", + "numeric": "364" + }, + { + "alpha_3": "ISK", + "name": "Iceland Krona", + "numeric": "352" + }, + { + "alpha_3": "JMD", + "name": "Jamaican Dollar", + "numeric": "388" + }, + { + "alpha_3": "JOD", + "name": "Jordanian Dinar", + "numeric": "400" + }, + { + "alpha_3": "JPY", + "name": "Yen", + "numeric": "392" + }, + { + "alpha_3": "KES", + "name": "Kenyan Shilling", + "numeric": "404" + }, + { + "alpha_3": "KGS", + "name": "Som", + "numeric": "417" + }, + { + "alpha_3": "KHR", + "name": "Riel", + "numeric": "116" + }, + { + "alpha_3": "KMF", + "name": "Comorian Franc", + "numeric": "174" + }, + { + "alpha_3": "KPW", + "name": "North Korean Won", + "numeric": "408" + }, + { + "alpha_3": "KRW", + "name": "Won", + "numeric": "410" + }, + { + "alpha_3": "KWD", + "name": "Kuwaiti Dinar", + "numeric": "414" + }, + { + "alpha_3": "KYD", + "name": "Cayman Islands Dollar", + "numeric": "136" + }, + { + "alpha_3": "KZT", + "name": "Tenge", + "numeric": "398" + }, + { + "alpha_3": "LAK", + "name": "Lao Kip", + "numeric": "418" + }, + { + "alpha_3": "LBP", + "name": "Lebanese Pound", + "numeric": "422" + }, + { + "alpha_3": "LKR", + "name": "Sri Lanka Rupee", + "numeric": "144" + }, + { + "alpha_3": "LRD", + "name": "Liberian Dollar", + "numeric": "430" + }, + { + "alpha_3": "LSL", + "name": "Loti", + "numeric": "426" + }, + { + "alpha_3": "LYD", + "name": "Libyan Dinar", + "numeric": "434" + }, + { + "alpha_3": "MAD", + "name": "Moroccan Dirham", + "numeric": "504" + }, + { + "alpha_3": "MDL", + "name": "Moldovan Leu", + "numeric": "498" + }, + { + "alpha_3": "MGA", + "name": "Malagasy Ariary", + "numeric": "969" + }, + { + "alpha_3": "MKD", + "name": "Denar", + "numeric": "807" + }, + { + "alpha_3": "MMK", + "name": "Kyat", + "numeric": "104" + }, + { + "alpha_3": "MNT", + "name": "Tugrik", + "numeric": "496" + }, + { + "alpha_3": "MOP", + "name": "Pataca", + "numeric": "446" + }, + { + "alpha_3": "MRU", + "name": "Ouguiya", + "numeric": "929" + }, + { + "alpha_3": "MUR", + "name": "Mauritius Rupee", + "numeric": "480" + }, + { + "alpha_3": "MVR", + "name": "Rufiyaa", + "numeric": "462" + }, + { + "alpha_3": "MWK", + "name": "Malawi Kwacha", + "numeric": "454" + }, + { + "alpha_3": "MXN", + "name": "Mexican Peso", + "numeric": "484" + }, + { + "alpha_3": "MXV", + "name": "Mexican Unidad de Inversion (UDI)", + "numeric": "979" + }, + { + "alpha_3": "MYR", + "name": "Malaysian Ringgit", + "numeric": "458" + }, + { + "alpha_3": "MZN", + "name": "Mozambique Metical", + "numeric": "943" + }, + { + "alpha_3": "NAD", + "name": "Namibia Dollar", + "numeric": "516" + }, + { + "alpha_3": "NGN", + "name": "Naira", + "numeric": "566" + }, + { + "alpha_3": "NIO", + "name": "Cordoba Oro", + "numeric": "558" + }, + { + "alpha_3": "NOK", + "name": "Norwegian Krone", + "numeric": "578" + }, + { + "alpha_3": "NPR", + "name": "Nepalese Rupee", + "numeric": "524" + }, + { + "alpha_3": "NZD", + "name": "New Zealand Dollar", + "numeric": "554" + }, + { + "alpha_3": "OMR", + "name": "Rial Omani", + "numeric": "512" + }, + { + "alpha_3": "PAB", + "name": "Balboa", + "numeric": "590" + }, + { + "alpha_3": "PEN", + "name": "Sol", + "numeric": "604" + }, + { + "alpha_3": "PGK", + "name": "Kina", + "numeric": "598" + }, + { + "alpha_3": "PHP", + "name": "Philippine Peso", + "numeric": "608" + }, + { + "alpha_3": "PKR", + "name": "Pakistan Rupee", + "numeric": "586" + }, + { + "alpha_3": "PLN", + "name": "Zloty", + "numeric": "985" + }, + { + "alpha_3": "PYG", + "name": "Guarani", + "numeric": "600" + }, + { + "alpha_3": "QAR", + "name": "Qatari Rial", + "numeric": "634" + }, + { + "alpha_3": "RON", + "name": "Romanian Leu", + "numeric": "946" + }, + { + "alpha_3": "RSD", + "name": "Serbian Dinar", + "numeric": "941" + }, + { + "alpha_3": "RUB", + "name": "Russian Ruble", + "numeric": "643" + }, + { + "alpha_3": "RWF", + "name": "Rwanda Franc", + "numeric": "646" + }, + { + "alpha_3": "SAR", + "name": "Saudi Riyal", + "numeric": "682" + }, + { + "alpha_3": "SBD", + "name": "Solomon Islands Dollar", + "numeric": "090" + }, + { + "alpha_3": "SCR", + "name": "Seychelles Rupee", + "numeric": "690" + }, + { + "alpha_3": "SDG", + "name": "Sudanese Pound", + "numeric": "938" + }, + { + "alpha_3": "SEK", + "name": "Swedish Krona", + "numeric": "752" + }, + { + "alpha_3": "SGD", + "name": "Singapore Dollar", + "numeric": "702" + }, + { + "alpha_3": "SHP", + "name": "Saint Helena Pound", + "numeric": "654" + }, + { + "alpha_3": "SLE", + "name": "Leone", + "numeric": "925" + }, + { + "alpha_3": "SLL", + "name": "Leone", + "numeric": "694" + }, + { + "alpha_3": "SOS", + "name": "Somali Shilling", + "numeric": "706" + }, + { + "alpha_3": "SRD", + "name": "Surinam Dollar", + "numeric": "968" + }, + { + "alpha_3": "SSP", + "name": "South Sudanese Pound", + "numeric": "728" + }, + { + "alpha_3": "STN", + "name": "Dobra", + "numeric": "930" + }, + { + "alpha_3": "SVC", + "name": "El Salvador Colon", + "numeric": "222" + }, + { + "alpha_3": "SYP", + "name": "Syrian Pound", + "numeric": "760" + }, + { + "alpha_3": "SZL", + "name": "Lilangeni", + "numeric": "748" + }, + { + "alpha_3": "THB", + "name": "Baht", + "numeric": "764" + }, + { + "alpha_3": "TJS", + "name": "Somoni", + "numeric": "972" + }, + { + "alpha_3": "TMT", + "name": "Turkmenistan New Manat", + "numeric": "934" + }, + { + "alpha_3": "TND", + "name": "Tunisian Dinar", + "numeric": "788" + }, + { + "alpha_3": "TOP", + "name": "Pa’anga", + "numeric": "776" + }, + { + "alpha_3": "TRY", + "name": "Turkish Lira", + "numeric": "949" + }, + { + "alpha_3": "TTD", + "name": "Trinidad and Tobago Dollar", + "numeric": "780" + }, + { + "alpha_3": "TWD", + "name": "New Taiwan Dollar", + "numeric": "901" + }, + { + "alpha_3": "TZS", + "name": "Tanzanian Shilling", + "numeric": "834" + }, + { + "alpha_3": "UAH", + "name": "Hryvnia", + "numeric": "980" + }, + { + "alpha_3": "UGX", + "name": "Uganda Shilling", + "numeric": "800" + }, + { + "alpha_3": "USD", + "name": "US Dollar", + "numeric": "840" + }, + { + "alpha_3": "USN", + "name": "US Dollar (Next day)", + "numeric": "997" + }, + { + "alpha_3": "UYI", + "name": "Uruguay Peso en Unidades Indexadas (UI)", + "numeric": "940" + }, + { + "alpha_3": "UYU", + "name": "Peso Uruguayo", + "numeric": "858" + }, + { + "alpha_3": "UYW", + "name": "Unidad Previsional", + "numeric": "927" + }, + { + "alpha_3": "UZS", + "name": "Uzbekistan Sum", + "numeric": "860" + }, + { + "alpha_3": "VED", + "name": "Bolívar Soberano", + "numeric": "926" + }, + { + "alpha_3": "VES", + "name": "Bolívar Soberano", + "numeric": "928" + }, + { + "alpha_3": "VND", + "name": "Dong", + "numeric": "704" + }, + { + "alpha_3": "VUV", + "name": "Vatu", + "numeric": "548" + }, + { + "alpha_3": "WST", + "name": "Tala", + "numeric": "882" + }, + { + "alpha_3": "XAF", + "name": "CFA Franc BEAC", + "numeric": "950" + }, + { + "alpha_3": "XAG", + "name": "Silver", + "numeric": "961" + }, + { + "alpha_3": "XAU", + "name": "Gold", + "numeric": "959" + }, + { + "alpha_3": "XBA", + "name": "Bond Markets Unit European Composite Unit (EURCO)", + "numeric": "955" + }, + { + "alpha_3": "XBB", + "name": "Bond Markets Unit European Monetary Unit (E.M.U.-6)", + "numeric": "956" + }, + { + "alpha_3": "XBC", + "name": "Bond Markets Unit European Unit of Account 9 (E.U.A.-9)", + "numeric": "957" + }, + { + "alpha_3": "XBD", + "name": "Bond Markets Unit European Unit of Account 17 (E.U.A.-17)", + "numeric": "958" + }, + { + "alpha_3": "XCD", + "name": "East Caribbean Dollar", + "numeric": "951" + }, + { + "alpha_3": "XDR", + "name": "SDR (Special Drawing Right)", + "numeric": "960" + }, + { + "alpha_3": "XOF", + "name": "CFA Franc BCEAO", + "numeric": "952" + }, + { + "alpha_3": "XPD", + "name": "Palladium", + "numeric": "964" + }, + { + "alpha_3": "XPF", + "name": "CFP Franc", + "numeric": "953" + }, + { + "alpha_3": "XPT", + "name": "Platinum", + "numeric": "962" + }, + { + "alpha_3": "XSU", + "name": "Sucre", + "numeric": "994" + }, + { + "alpha_3": "XTS", + "name": "Codes specifically reserved for testing purposes", + "numeric": "963" + }, + { + "alpha_3": "XUA", + "name": "ADB Unit of Account", + "numeric": "965" + }, + { + "alpha_3": "XXX", + "name": "The codes assigned for transactions where no currency is involved", + "numeric": "999" + }, + { + "alpha_3": "YER", + "name": "Yemeni Rial", + "numeric": "886" + }, + { + "alpha_3": "ZAR", + "name": "Rand", + "numeric": "710" + }, + { + "alpha_3": "ZMW", + "name": "Zambian Kwacha", + "numeric": "967" + }, + { + "alpha_3": "ZWL", + "name": "Zimbabwe Dollar", + "numeric": "932" + } + ] +} diff --git a/.venv/lib/python3.11/site-packages/pycountry/databases/iso639-3.json b/.venv/lib/python3.11/site-packages/pycountry/databases/iso639-3.json new file mode 100644 index 0000000000000000000000000000000000000000..7a09889c1910fa6ee70c9bb12bc35c7ff2561019 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/databases/iso639-3.json @@ -0,0 +1,49084 @@ +{ + "639-3": [ + { + "alpha_3": "aaa", + "name": "Ghotuo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aab", + "name": "Alumu-Tesu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aac", + "name": "Ari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aad", + "name": "Amal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aae", + "inverted_name": "Albanian, Arbëreshë", + "name": "Arbëreshë Albanian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aaf", + "name": "Aranadan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aag", + "name": "Ambrak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aah", + "inverted_name": "Arapesh, Abu'", + "name": "Abu' Arapesh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aai", + "name": "Arifama-Miniafia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aak", + "name": "Ankave", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aal", + "name": "Afade", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aan", + "name": "Anambé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aao", + "inverted_name": "Arabic, Algerian Saharan", + "name": "Algerian Saharan Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aap", + "inverted_name": "Arára, Pará", + "name": "Pará Arára", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aaq", + "inverted_name": "Abnaki, Eastern", + "name": "Eastern Abnaki", + "scope": "I", + "type": "E" + }, + { + "alpha_2": "aa", + "alpha_3": "aar", + "name": "Afar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aas", + "name": "Aasáx", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aat", + "inverted_name": "Albanian, Arvanitika", + "name": "Arvanitika Albanian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aau", + "name": "Abau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aaw", + "name": "Solong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aax", + "name": "Mandobo Atas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aaz", + "name": "Amarasi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aba", + "name": "Abé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abb", + "name": "Bankon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abc", + "inverted_name": "Ayta, Ambala", + "name": "Ambala Ayta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abd", + "name": "Manide", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abe", + "inverted_name": "Abnaki, Western", + "name": "Western Abnaki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abf", + "name": "Abai Sungai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abg", + "name": "Abaga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abh", + "inverted_name": "Arabic, Tajiki", + "name": "Tajiki Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abi", + "name": "Abidji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abj", + "name": "Aka-Bea", + "scope": "I", + "type": "E" + }, + { + "alpha_2": "ab", + "alpha_3": "abk", + "name": "Abkhazian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abl", + "name": "Lampung Nyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abm", + "name": "Abanyom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abn", + "name": "Abua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abo", + "name": "Abon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abp", + "inverted_name": "Ayta, Abellen", + "name": "Abellen Ayta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abq", + "name": "Abaza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abr", + "name": "Abron", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abs", + "inverted_name": "Malay, Ambonese", + "name": "Ambonese Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abt", + "name": "Ambulas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abu", + "name": "Abure", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abv", + "inverted_name": "Arabic, Baharna", + "name": "Baharna Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abw", + "name": "Pal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abx", + "name": "Inabaknon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aby", + "name": "Aneme Wake", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "abz", + "name": "Abui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aca", + "name": "Achagua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acb", + "name": "Áncá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acd", + "name": "Gikyode", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ace", + "name": "Achinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acf", + "inverted_name": "Creole French, Saint Lucian", + "name": "Saint Lucian Creole French", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ach", + "name": "Acoli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aci", + "name": "Aka-Cari", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ack", + "name": "Aka-Kora", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "acl", + "name": "Akar-Bale", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "acm", + "inverted_name": "Arabic, Mesopotamian", + "name": "Mesopotamian Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acn", + "name": "Achang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acp", + "inverted_name": "Acipa, Eastern", + "name": "Eastern Acipa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acq", + "inverted_name": "Arabic, Ta'izzi-Adeni", + "name": "Ta'izzi-Adeni Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acr", + "name": "Achi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acs", + "name": "Acroá", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "act", + "name": "Achterhoeks", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acu", + "name": "Achuar-Shiwiar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acv", + "name": "Achumawi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acw", + "inverted_name": "Arabic, Hijazi", + "name": "Hijazi Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acx", + "inverted_name": "Arabic, Omani", + "name": "Omani Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acy", + "inverted_name": "Arabic, Cypriot", + "name": "Cypriot Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "acz", + "name": "Acheron", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ada", + "name": "Adangme", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adb", + "name": "Atauran", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "add", + "name": "Lidzonka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ade", + "name": "Adele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adf", + "inverted_name": "Arabic, Dhofari", + "name": "Dhofari Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adg", + "name": "Andegerebinha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adh", + "name": "Adhola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adi", + "name": "Adi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adj", + "name": "Adioukrou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adl", + "name": "Galo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adn", + "name": "Adang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ado", + "name": "Abu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adq", + "name": "Adangbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adr", + "name": "Adonara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ads", + "name": "Adamorobe Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adt", + "name": "Adnyamathanha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adu", + "name": "Aduge", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adw", + "name": "Amundava", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adx", + "inverted_name": "Tibetan, Amdo", + "name": "Amdo Tibetan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ady", + "name": "Adyghe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "adz", + "name": "Adzera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aea", + "name": "Areba", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "aeb", + "inverted_name": "Arabic, Tunisian", + "name": "Tunisian Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aec", + "inverted_name": "Arabic, Saidi", + "name": "Saidi Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aed", + "name": "Argentine Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aee", + "inverted_name": "Pashai, Northeast", + "name": "Northeast Pashai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aek", + "name": "Haeke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ael", + "name": "Ambele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aem", + "name": "Arem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aen", + "name": "Armenian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aeq", + "name": "Aer", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aer", + "inverted_name": "Arrernte, Eastern", + "name": "Eastern Arrernte", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aes", + "name": "Alsea", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "aeu", + "name": "Akeu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aew", + "name": "Ambakich", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aey", + "name": "Amele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aez", + "name": "Aeka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "afb", + "inverted_name": "Arabic, Gulf", + "name": "Gulf Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "afd", + "name": "Andai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "afe", + "name": "Putukwam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "afg", + "name": "Afghan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "afh", + "name": "Afrihili", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "afi", + "name": "Akrukay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "afk", + "name": "Nanubae", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "afn", + "name": "Defaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "afo", + "name": "Eloyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "afp", + "name": "Tapei", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "af", + "alpha_3": "afr", + "name": "Afrikaans", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "afs", + "inverted_name": "Creole, Afro-Seminole", + "name": "Afro-Seminole Creole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aft", + "name": "Afitti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "afu", + "name": "Awutu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "afz", + "name": "Obokuitai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aga", + "name": "Aguano", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "agb", + "name": "Legbo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agc", + "name": "Agatu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agd", + "name": "Agarabi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "age", + "name": "Angal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agf", + "name": "Arguni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agg", + "name": "Angor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agh", + "name": "Ngelima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agi", + "name": "Agariya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agj", + "name": "Argobba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agk", + "inverted_name": "Agta, Isarog", + "name": "Isarog Agta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agl", + "name": "Fembe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agm", + "name": "Angaataha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agn", + "name": "Agutaynen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ago", + "name": "Tainae", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agq", + "name": "Aghem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agr", + "name": "Aguaruna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ags", + "name": "Esimbi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agt", + "inverted_name": "Agta, Central Cagayan", + "name": "Central Cagayan Agta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agu", + "name": "Aguacateco", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agv", + "inverted_name": "Dumagat, Remontado", + "name": "Remontado Dumagat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agw", + "name": "Kahua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agx", + "name": "Aghul", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agy", + "inverted_name": "Alta, Southern", + "name": "Southern Alta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "agz", + "inverted_name": "Agta, Mt. Iriga", + "name": "Mt. Iriga Agta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aha", + "name": "Ahanta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ahb", + "name": "Axamb", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ahg", + "name": "Qimant", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ahh", + "name": "Aghu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ahi", + "inverted_name": "Aizi, Tiagbamrin", + "name": "Tiagbamrin Aizi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ahk", + "name": "Akha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ahl", + "name": "Igo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ahm", + "inverted_name": "Aizi, Mobumrin", + "name": "Mobumrin Aizi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ahn", + "name": "Àhàn", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aho", + "name": "Ahom", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ahp", + "inverted_name": "Aizi, Aproumu", + "name": "Aproumu Aizi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ahr", + "name": "Ahirani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ahs", + "name": "Ashe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aht", + "name": "Ahtena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aia", + "name": "Arosi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aib", + "name": "Ainu (China)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aic", + "name": "Ainbai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aid", + "name": "Alngith", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "aie", + "name": "Amara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aif", + "name": "Agi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aig", + "inverted_name": "Creole English, Antigua and Barbuda", + "name": "Antigua and Barbuda Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aih", + "name": "Ai-Cham", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aii", + "inverted_name": "Neo-Aramaic, Assyrian", + "name": "Assyrian Neo-Aramaic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aij", + "name": "Lishanid Noshan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aik", + "name": "Ake", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ail", + "name": "Aimele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aim", + "name": "Aimol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ain", + "name": "Ainu (Japan)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aio", + "name": "Aiton", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aip", + "name": "Burumakok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aiq", + "name": "Aimaq", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "air", + "name": "Airoran", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ait", + "name": "Arikem", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "aiw", + "name": "Aari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aix", + "name": "Aighon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aiy", + "name": "Ali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aja", + "name": "Aja (South Sudan)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ajg", + "name": "Aja (Benin)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aji", + "name": "Ajië", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ajn", + "name": "Andajin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ajp", + "inverted_name": "Arabic, South Levantine", + "name": "South Levantine Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ajs", + "name": "Algerian Jewish Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aju", + "inverted_name": "Arabic, Judeo-Moroccan", + "name": "Judeo-Moroccan Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ajw", + "name": "Ajawa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ajz", + "inverted_name": "Karbi, Amri", + "name": "Amri Karbi", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ak", + "alpha_3": "aka", + "name": "Akan", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "akb", + "name": "Batak Angkola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akc", + "name": "Mpur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akd", + "name": "Ukpet-Ehom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ake", + "name": "Akawaio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akf", + "name": "Akpa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akg", + "name": "Anakalangu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akh", + "name": "Angal Heneng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aki", + "name": "Aiome", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akj", + "name": "Aka-Jeru", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "akk", + "name": "Akkadian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "akl", + "name": "Aklanon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akm", + "name": "Aka-Bo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ako", + "name": "Akurio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akp", + "name": "Siwu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akq", + "name": "Ak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akr", + "name": "Araki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aks", + "name": "Akaselem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akt", + "name": "Akolet", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aku", + "name": "Akum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akv", + "name": "Akhvakh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akw", + "name": "Akwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "akx", + "name": "Aka-Kede", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "aky", + "name": "Aka-Kol", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "akz", + "name": "Alabama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ala", + "name": "Alago", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alc", + "name": "Qawasqar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ald", + "name": "Alladian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ale", + "name": "Aleut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alf", + "name": "Alege", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alh", + "name": "Alawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ali", + "name": "Amaimon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alj", + "name": "Alangan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alk", + "name": "Alak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "all", + "name": "Allar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alm", + "name": "Amblong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aln", + "inverted_name": "Albanian, Gheg", + "name": "Gheg Albanian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alo", + "name": "Larike-Wakasihu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alp", + "name": "Alune", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alq", + "name": "Algonquin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alr", + "name": "Alutor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "als", + "inverted_name": "Albanian, Tosk", + "name": "Tosk Albanian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alt", + "inverted_name": "Altai, Southern", + "name": "Southern Altai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alu", + "name": "'Are'are", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alw", + "name": "Alaba-K’abeena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alx", + "name": "Amol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aly", + "name": "Alyawarr", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "alz", + "name": "Alur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ama", + "name": "Amanayé", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "amb", + "name": "Ambo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amc", + "name": "Amahuaca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ame", + "name": "Yanesha'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amf", + "name": "Hamer-Banna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amg", + "name": "Amurdak", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "am", + "alpha_3": "amh", + "name": "Amharic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ami", + "name": "Amis", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amj", + "name": "Amdang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amk", + "name": "Ambai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aml", + "name": "War-Jaintia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amm", + "name": "Ama (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amn", + "name": "Amanab", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amo", + "name": "Amo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amp", + "name": "Alamblak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amq", + "name": "Amahai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amr", + "name": "Amarakaeri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ams", + "inverted_name": "Amami-Oshima, Southern", + "name": "Southern Amami-Oshima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amt", + "name": "Amto", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amu", + "inverted_name": "Amuzgo, Guerrero", + "name": "Guerrero Amuzgo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amv", + "name": "Ambelau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amw", + "inverted_name": "Neo-Aramaic, Western", + "name": "Western Neo-Aramaic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amx", + "name": "Anmatyerre", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amy", + "name": "Ami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "amz", + "name": "Atampaya", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ana", + "name": "Andaqui", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "anb", + "name": "Andoa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "anc", + "name": "Ngas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "and", + "name": "Ansus", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ane", + "name": "Xârâcùù", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "anf", + "name": "Animere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ang", + "inverted_name": "English, Old (ca. 450-1100)", + "name": "Old English (ca. 450-1100)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "anh", + "name": "Nend", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ani", + "name": "Andi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "anj", + "name": "Anor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ank", + "name": "Goemai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "anl", + "inverted_name": "Chin, Anu-Hkongso", + "name": "Anu-Hkongso Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "anm", + "name": "Anal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ann", + "name": "Obolo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ano", + "name": "Andoque", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "anp", + "name": "Angika", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "anq", + "name": "Jarawa (India)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "anr", + "name": "Andh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ans", + "name": "Anserma", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ant", + "name": "Antakarinya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "anu", + "name": "Anuak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "anv", + "name": "Denya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "anw", + "name": "Anaang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "anx", + "name": "Andra-Hus", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "any", + "name": "Anyin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "anz", + "name": "Anem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aoa", + "name": "Angolar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aob", + "name": "Abom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aoc", + "name": "Pemon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aod", + "name": "Andarum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aoe", + "name": "Angal Enen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aof", + "name": "Bragat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aog", + "name": "Angoram", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aoi", + "name": "Anindilyakwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aoj", + "name": "Mufian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aok", + "name": "Arhö", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aol", + "name": "Alor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aom", + "name": "Ömie", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aon", + "inverted_name": "Arapesh, Bumbita", + "name": "Bumbita Arapesh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aor", + "name": "Aore", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "aos", + "name": "Taikat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aot", + "name": "Atong (India)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aou", + "name": "A'ou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aox", + "name": "Atorada", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aoz", + "name": "Uab Meto", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apb", + "name": "Sa'a", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apc", + "inverted_name": "Arabic, North Levantine", + "name": "North Levantine Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apd", + "inverted_name": "Arabic, Sudanese", + "name": "Sudanese Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ape", + "name": "Bukiyip", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apf", + "inverted_name": "Agta, Pahanan", + "name": "Pahanan Agta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apg", + "name": "Ampanang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aph", + "name": "Athpariya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "api", + "name": "Apiaká", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apj", + "inverted_name": "Apache, Jicarilla", + "name": "Jicarilla Apache", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apk", + "inverted_name": "Apache, Kiowa", + "name": "Kiowa Apache", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apl", + "inverted_name": "Apache, Lipan", + "name": "Lipan Apache", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apm", + "inverted_name": "Apache, Mescalero-Chiricahua", + "name": "Mescalero-Chiricahua Apache", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apn", + "name": "Apinayé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apo", + "name": "Ambul", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "app", + "name": "Apma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apq", + "name": "A-Pucikwar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apr", + "name": "Arop-Lokep", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aps", + "name": "Arop-Sissano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apt", + "name": "Apatani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apu", + "name": "Apurinã", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apv", + "name": "Alapmunte", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "apw", + "inverted_name": "Apache, Western", + "name": "Western Apache", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apx", + "name": "Aputai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apy", + "name": "Apalaí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "apz", + "name": "Safeyoka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aqc", + "name": "Archi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aqd", + "inverted_name": "Dogon, Ampari", + "name": "Ampari Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aqg", + "name": "Arigidi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aqk", + "name": "Aninka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aqm", + "name": "Atohwaim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aqn", + "inverted_name": "Alta, Northern", + "name": "Northern Alta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aqp", + "name": "Atakapa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "aqr", + "name": "Arhâ", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aqt", + "name": "Angaité", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aqz", + "name": "Akuntsu", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ar", + "alpha_3": "ara", + "name": "Arabic", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "arb", + "inverted_name": "Arabic, Standard", + "name": "Standard Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "arc", + "inverted_name": "Aramaic, Official (700-300 BCE)", + "name": "Official Aramaic (700-300 BCE)", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "ard", + "name": "Arabana", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "are", + "inverted_name": "Arrarnta, Western", + "name": "Western Arrarnta", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "an", + "alpha_3": "arg", + "name": "Aragonese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "arh", + "name": "Arhuaco", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ari", + "name": "Arikara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "arj", + "name": "Arapaso", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ark", + "name": "Arikapú", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "arl", + "name": "Arabela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "arn", + "name": "Mapudungun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aro", + "name": "Araona", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "arp", + "name": "Arapaho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "arq", + "inverted_name": "Arabic, Algerian", + "name": "Algerian Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "arr", + "name": "Karo (Brazil)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ars", + "inverted_name": "Arabic, Najdi", + "name": "Najdi Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aru", + "name": "Aruá (Amazonas State)", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "arv", + "name": "Arbore", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "arw", + "name": "Arawak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "arx", + "name": "Aruá (Rodonia State)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ary", + "inverted_name": "Arabic, Moroccan", + "name": "Moroccan Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "arz", + "inverted_name": "Arabic, Egyptian", + "name": "Egyptian Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asa", + "name": "Asu (Tanzania)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asb", + "name": "Assiniboine", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asc", + "inverted_name": "Asmat, Casuarina Coast", + "name": "Casuarina Coast Asmat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ase", + "name": "American Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asf", + "name": "Auslan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asg", + "name": "Cishingini", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ash", + "name": "Abishira", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "asi", + "name": "Buruwai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asj", + "name": "Sari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ask", + "name": "Ashkun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asl", + "name": "Asilulu", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "as", + "alpha_3": "asm", + "name": "Assamese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asn", + "inverted_name": "Asuriní, Xingú", + "name": "Xingú Asuriní", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aso", + "name": "Dano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asp", + "name": "Algerian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asq", + "name": "Austrian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asr", + "name": "Asuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ass", + "name": "Ipulo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ast", + "name": "Asturian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asu", + "inverted_name": "Asurini, Tocantins", + "name": "Tocantins Asurini", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asv", + "name": "Asoa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asw", + "name": "Australian Aborigines Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asx", + "name": "Muratayak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asy", + "inverted_name": "Asmat, Yaosakor", + "name": "Yaosakor Asmat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "asz", + "name": "As", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ata", + "name": "Pele-Ata", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atb", + "name": "Zaiwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atc", + "name": "Atsahuaca", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "atd", + "inverted_name": "Manobo, Ata", + "name": "Ata Manobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ate", + "name": "Atemble", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atg", + "name": "Ivbie North-Okpela-Arhe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ati", + "name": "Attié", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atj", + "name": "Atikamekw", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atk", + "name": "Ati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atl", + "inverted_name": "Agta, Mt. Iraya", + "name": "Mt. Iraya Agta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atm", + "name": "Ata", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atn", + "name": "Ashtiani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ato", + "name": "Atong (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atp", + "inverted_name": "Atta, Pudtol", + "name": "Pudtol Atta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atq", + "name": "Aralle-Tabulahan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atr", + "name": "Waimiri-Atroari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ats", + "name": "Gros Ventre", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "att", + "inverted_name": "Atta, Pamplona", + "name": "Pamplona Atta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atu", + "name": "Reel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atv", + "inverted_name": "Altai, Northern", + "name": "Northern Altai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atw", + "name": "Atsugewi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atx", + "name": "Arutani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aty", + "name": "Aneityum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "atz", + "name": "Arta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aua", + "name": "Asumboa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aub", + "name": "Alugu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "auc", + "name": "Waorani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aud", + "name": "Anuta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aug", + "name": "Aguna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "auh", + "name": "Aushi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aui", + "name": "Anuki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "auj", + "name": "Awjilah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "auk", + "name": "Heyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aul", + "name": "Aulua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aum", + "name": "Asu (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aun", + "inverted_name": "One, Molmo", + "name": "Molmo One", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "auo", + "name": "Auyokawa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "aup", + "name": "Makayam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "auq", + "name": "Anus", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aur", + "name": "Aruek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aut", + "name": "Austral", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "auu", + "name": "Auye", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "auw", + "name": "Awyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aux", + "name": "Aurá", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "auy", + "name": "Awiyaana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "auz", + "inverted_name": "Arabic, Uzbeki", + "name": "Uzbeki Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "av", + "alpha_3": "ava", + "name": "Avaric", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "avb", + "name": "Avau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "avd", + "name": "Alviri-Vidari", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ae", + "alpha_3": "ave", + "name": "Avestan", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "avi", + "name": "Avikam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "avk", + "name": "Kotava", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "avl", + "inverted_name": "Arabic, Eastern Egyptian Bedawi", + "name": "Eastern Egyptian Bedawi Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "avm", + "name": "Angkamuthi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "avn", + "name": "Avatime", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "avo", + "name": "Agavotaguerra", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "avs", + "name": "Aushiri", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "avt", + "name": "Au", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "avu", + "name": "Avokaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "avv", + "name": "Avá-Canoeiro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awa", + "name": "Awadhi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awb", + "name": "Awa (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awc", + "name": "Cicipu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awe", + "name": "Awetí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awg", + "name": "Anguthimri", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "awh", + "name": "Awbono", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awi", + "name": "Aekyom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awk", + "name": "Awabakal", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "awm", + "name": "Arawum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awn", + "name": "Awngi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awo", + "name": "Awak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awr", + "name": "Awera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aws", + "inverted_name": "Awyu, South", + "name": "South Awyu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awt", + "name": "Araweté", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awu", + "inverted_name": "Awyu, Central", + "name": "Central Awyu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awv", + "inverted_name": "Awyu, Jair", + "name": "Jair Awyu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aww", + "name": "Awun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awx", + "name": "Awara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "awy", + "inverted_name": "Awyu, Edera", + "name": "Edera Awyu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "axb", + "name": "Abipon", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "axe", + "name": "Ayerrerenge", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "axg", + "inverted_name": "Arára, Mato Grosso", + "name": "Mato Grosso Arára", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "axk", + "name": "Yaka (Central African Republic)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "axl", + "inverted_name": "Aranda, Lower Southern", + "name": "Lower Southern Aranda", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "axm", + "inverted_name": "Armenian, Middle", + "name": "Middle Armenian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "axx", + "name": "Xârâgurè", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aya", + "name": "Awar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayb", + "inverted_name": "Gbe, Ayizo", + "name": "Ayizo Gbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayc", + "inverted_name": "Aymara, Southern", + "name": "Southern Aymara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayd", + "name": "Ayabadhu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "aye", + "name": "Ayere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayg", + "name": "Ginyanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayh", + "inverted_name": "Arabic, Hadrami", + "name": "Hadrami Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayi", + "name": "Leyigha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayk", + "name": "Akuku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayl", + "inverted_name": "Arabic, Libyan", + "name": "Libyan Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ay", + "alpha_3": "aym", + "name": "Aymara", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "ayn", + "inverted_name": "Arabic, Sanaani", + "name": "Sanaani Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayo", + "name": "Ayoreo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayp", + "inverted_name": "Arabic, North Mesopotamian", + "name": "North Mesopotamian Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayq", + "name": "Ayi (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayr", + "inverted_name": "Aymara, Central", + "name": "Central Aymara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ays", + "inverted_name": "Ayta, Sorsogon", + "name": "Sorsogon Ayta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayt", + "inverted_name": "Ayta, Magbukun", + "name": "Magbukun Ayta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayu", + "name": "Ayu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ayz", + "name": "Mai Brat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "aza", + "name": "Azha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "azb", + "inverted_name": "Azerbaijani, South", + "name": "South Azerbaijani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "azd", + "inverted_name": "Nahuatl, Eastern Durango", + "name": "Eastern Durango Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "az", + "alpha_3": "aze", + "name": "Azerbaijani", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "azg", + "inverted_name": "Amuzgo, San Pedro Amuzgos", + "name": "San Pedro Amuzgos Amuzgo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "azj", + "inverted_name": "Azerbaijani, North", + "name": "North Azerbaijani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "azm", + "inverted_name": "Amuzgo, Ipalapa", + "name": "Ipalapa Amuzgo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "azn", + "inverted_name": "Nahuatl, Western Durango", + "name": "Western Durango Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "azo", + "name": "Awing", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "azt", + "inverted_name": "Atta, Faire", + "name": "Faire Atta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "azz", + "inverted_name": "Nahuatl, Highland Puebla", + "name": "Highland Puebla Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "baa", + "name": "Babatana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bab", + "name": "Bainouk-Gunyuño", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bac", + "name": "Badui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bae", + "name": "Baré", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "baf", + "name": "Nubaca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bag", + "name": "Tuki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bah", + "inverted_name": "Creole English, Bahamas", + "name": "Bahamas Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "baj", + "name": "Barakai", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ba", + "alpha_3": "bak", + "name": "Bashkir", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bal", + "name": "Baluchi", + "scope": "M", + "type": "L" + }, + { + "alpha_2": "bm", + "alpha_3": "bam", + "name": "Bambara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ban", + "name": "Balinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bao", + "name": "Waimaha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bap", + "name": "Bantawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bar", + "name": "Bavarian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bas", + "name": "Basa (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bau", + "name": "Bada (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bav", + "name": "Vengo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "baw", + "name": "Bambili-Bambui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bax", + "name": "Bamun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bay", + "name": "Batuley", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bba", + "name": "Baatonum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbb", + "name": "Barai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbc", + "name": "Batak Toba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbd", + "name": "Bau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbe", + "name": "Bangba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbf", + "name": "Baibai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbg", + "name": "Barama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbh", + "name": "Bugan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbi", + "name": "Barombi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbj", + "name": "Ghomálá'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbk", + "name": "Babanki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbl", + "name": "Bats", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbm", + "name": "Babango", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbn", + "name": "Uneapa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbo", + "inverted_name": "Bobo Madaré, Northern", + "name": "Northern Bobo Madaré", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbp", + "inverted_name": "Banda, West Central", + "name": "West Central Banda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbq", + "name": "Bamali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbr", + "name": "Girawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbs", + "name": "Bakpinka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbt", + "name": "Mburku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbu", + "name": "Kulung (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbv", + "name": "Karnai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbw", + "name": "Baba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bbx", + "name": "Bubia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bby", + "name": "Befang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bca", + "inverted_name": "Bai, Central", + "name": "Central Bai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcb", + "name": "Bainouk-Samik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcc", + "inverted_name": "Balochi, Southern", + "name": "Southern Balochi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcd", + "inverted_name": "Babar, North", + "name": "North Babar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bce", + "name": "Bamenyam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcf", + "name": "Bamu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcg", + "name": "Baga Pokur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bch", + "name": "Bariai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bci", + "name": "Baoulé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcj", + "name": "Bardi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bck", + "name": "Bunuba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcl", + "inverted_name": "Bikol, Central", + "name": "Central Bikol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcm", + "name": "Bannoni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcn", + "name": "Bali (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bco", + "name": "Kaluli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcp", + "name": "Bali (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcq", + "name": "Bench", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcr", + "name": "Babine", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcs", + "name": "Kohumono", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bct", + "name": "Bendi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcu", + "name": "Awad Bing", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcv", + "name": "Shoo-Minda-Nye", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcw", + "name": "Bana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcy", + "name": "Bacama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bcz", + "name": "Bainouk-Gunyaamolo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bda", + "name": "Bayot", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdb", + "name": "Basap", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdc", + "name": "Emberá-Baudó", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdd", + "name": "Bunama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bde", + "name": "Bade", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdf", + "name": "Biage", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdg", + "name": "Bonggi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdh", + "name": "Baka (South Sudan)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdi", + "name": "Burun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdj", + "name": "Bai (South Sudan)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdk", + "name": "Budukh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdl", + "inverted_name": "Bajau, Indonesian", + "name": "Indonesian Bajau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdm", + "name": "Buduma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdn", + "name": "Baldemu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdo", + "name": "Morom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdp", + "name": "Bende", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdq", + "name": "Bahnar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdr", + "inverted_name": "Bajau, West Coast", + "name": "West Coast Bajau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bds", + "name": "Burunge", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdt", + "name": "Bokoto", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdu", + "name": "Oroko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdv", + "name": "Bodo Parja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdw", + "name": "Baham", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdx", + "name": "Budong-Budong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdy", + "name": "Bandjalang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bdz", + "name": "Badeshi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bea", + "name": "Beaver", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "beb", + "name": "Bebele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bec", + "name": "Iceve-Maci", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bed", + "name": "Bedoanas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bee", + "name": "Byangsi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bef", + "name": "Benabena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "beg", + "name": "Belait", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "beh", + "name": "Biali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bei", + "name": "Bekati'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bej", + "name": "Beja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bek", + "name": "Bebeli", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "be", + "alpha_3": "bel", + "name": "Belarusian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bem", + "name": "Bemba (Zambia)", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "bn", + "alpha_3": "ben", + "common_name": "Bangla", + "name": "Bengali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "beo", + "name": "Beami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bep", + "name": "Besoa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "beq", + "name": "Beembe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bes", + "name": "Besme", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bet", + "inverted_name": "Béte, Guiberoua", + "name": "Guiberoua Béte", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "beu", + "name": "Blagar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bev", + "inverted_name": "Bété, Daloa", + "name": "Daloa Bété", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bew", + "name": "Betawi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bex", + "name": "Jur Modo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bey", + "name": "Beli (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bez", + "name": "Bena (Tanzania)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfa", + "name": "Bari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfb", + "inverted_name": "Bareli, Pauri", + "name": "Pauri Bareli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfc", + "inverted_name": "Bai, Panyi", + "name": "Panyi Bai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfd", + "name": "Bafut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfe", + "name": "Betaf", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bff", + "name": "Bofi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfg", + "inverted_name": "Kayan, Busang", + "name": "Busang Kayan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfh", + "name": "Blafe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfi", + "name": "British Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfj", + "name": "Bafanji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfk", + "name": "Ban Khor Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfl", + "name": "Banda-Ndélé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfm", + "name": "Mmen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfn", + "name": "Bunak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfo", + "inverted_name": "Birifor, Malba", + "name": "Malba Birifor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfp", + "name": "Beba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfq", + "name": "Badaga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfr", + "name": "Bazigar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfs", + "inverted_name": "Bai, Southern", + "name": "Southern Bai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bft", + "name": "Balti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfu", + "name": "Gahri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfw", + "name": "Bondo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfx", + "name": "Bantayanon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfy", + "name": "Bagheli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bfz", + "inverted_name": "Pahari, Mahasu", + "name": "Mahasu Pahari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bga", + "name": "Gwamhi-Wuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgb", + "name": "Bobongko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgc", + "name": "Haryanvi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgd", + "inverted_name": "Bareli, Rathwi", + "name": "Rathwi Bareli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bge", + "name": "Bauria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgf", + "name": "Bangandu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgg", + "name": "Bugun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgi", + "name": "Giangan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgj", + "name": "Bangolan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgk", + "name": "Bit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgl", + "name": "Bo (Laos)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgn", + "inverted_name": "Balochi, Western", + "name": "Western Balochi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgo", + "name": "Baga Koga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgp", + "inverted_name": "Balochi, Eastern", + "name": "Eastern Balochi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgq", + "name": "Bagri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgr", + "inverted_name": "Chin, Bawm", + "name": "Bawm Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgs", + "name": "Tagabawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgt", + "name": "Bughotu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgu", + "name": "Mbongno", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgv", + "name": "Warkay-Bipim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgw", + "name": "Bhatri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgx", + "inverted_name": "Turkish, Balkan Gagauz", + "name": "Balkan Gagauz Turkish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgy", + "name": "Benggoi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bgz", + "name": "Banggai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bha", + "name": "Bharia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhb", + "name": "Bhili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhc", + "name": "Biga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhd", + "name": "Bhadrawahi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhe", + "name": "Bhaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhf", + "name": "Odiai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhg", + "name": "Binandere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhh", + "name": "Bukharic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhi", + "name": "Bhilali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhj", + "name": "Bahing", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhl", + "name": "Bimin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhm", + "name": "Bathari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhn", + "inverted_name": "Neo-Aramaic, Bohtan", + "name": "Bohtan Neo-Aramaic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bho", + "name": "Bhojpuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhp", + "name": "Bima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhq", + "name": "Tukang Besi South", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhr", + "inverted_name": "Malagasy, Bara", + "name": "Bara Malagasy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhs", + "name": "Buwal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bht", + "name": "Bhattiyali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhu", + "name": "Bhunjia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhv", + "name": "Bahau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhw", + "name": "Biak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhx", + "name": "Bhalay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhy", + "name": "Bhele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bhz", + "name": "Bada (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bia", + "name": "Badimaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bib", + "name": "Bissa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bid", + "name": "Bidiyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bie", + "name": "Bepour", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bif", + "name": "Biafada", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "big", + "name": "Biangai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bik", + "name": "Bikol", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "bil", + "name": "Bile", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bim", + "name": "Bimoba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bin", + "name": "Bini", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bio", + "name": "Nai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bip", + "name": "Bila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "biq", + "name": "Bipi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bir", + "name": "Bisorio", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "bi", + "alpha_3": "bis", + "name": "Bislama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bit", + "name": "Berinomo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "biu", + "name": "Biete", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "biv", + "inverted_name": "Birifor, Southern", + "name": "Southern Birifor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "biw", + "name": "Kol (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bix", + "name": "Bijori", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "biy", + "name": "Birhor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "biz", + "name": "Baloi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bja", + "name": "Budza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjb", + "name": "Banggarla", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "bjc", + "name": "Bariji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bje", + "inverted_name": "Mien, Biao-Jiao", + "name": "Biao-Jiao Mien", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjf", + "inverted_name": "Neo-Aramaic, Barzani Jewish", + "name": "Barzani Jewish Neo-Aramaic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjg", + "name": "Bidyogo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjh", + "name": "Bahinemo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bji", + "name": "Burji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjj", + "name": "Kanauji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjk", + "name": "Barok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjl", + "name": "Bulu (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjm", + "name": "Bajelani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjn", + "name": "Banjar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjo", + "inverted_name": "Banda, Mid-Southern", + "name": "Mid-Southern Banda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjp", + "name": "Fanamaket", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjr", + "name": "Binumarien", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjs", + "name": "Bajan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjt", + "name": "Balanta-Ganja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bju", + "name": "Busuu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjv", + "name": "Bedjond", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjw", + "name": "Bakwé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjx", + "inverted_name": "Itneg, Banao", + "name": "Banao Itneg", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bjy", + "name": "Bayali", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "bjz", + "name": "Baruga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bka", + "name": "Kyak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkc", + "name": "Baka (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkd", + "name": "Binukid", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkf", + "name": "Beeke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkg", + "name": "Buraka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkh", + "name": "Bakoko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bki", + "name": "Baki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkj", + "name": "Pande", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkk", + "name": "Brokskat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkl", + "name": "Berik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkm", + "name": "Kom (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkn", + "name": "Bukitan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bko", + "name": "Kwa'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkp", + "name": "Boko (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkq", + "name": "Bakairí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkr", + "name": "Bakumpai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bks", + "inverted_name": "Sorsoganon, Northern", + "name": "Northern Sorsoganon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkt", + "name": "Boloki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bku", + "name": "Buhid", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkv", + "name": "Bekwarra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkw", + "name": "Bekwel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkx", + "name": "Baikeno", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bky", + "name": "Bokyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bkz", + "name": "Bungku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bla", + "name": "Siksika", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blb", + "name": "Bilua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blc", + "name": "Bella Coola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bld", + "name": "Bolango", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ble", + "name": "Balanta-Kentohe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blf", + "name": "Buol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blh", + "name": "Kuwaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bli", + "name": "Bolia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blj", + "name": "Bolongan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blk", + "inverted_name": "Karen, Pa'o", + "name": "Pa'o Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bll", + "name": "Biloxi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "blm", + "name": "Beli (South Sudan)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bln", + "inverted_name": "Bikol, Southern Catanduanes", + "name": "Southern Catanduanes Bikol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blo", + "name": "Anii", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blp", + "name": "Blablanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blq", + "name": "Baluan-Pam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blr", + "name": "Blang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bls", + "name": "Balaesang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blt", + "name": "Tai Dam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blv", + "name": "Kibala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blw", + "name": "Balangao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blx", + "inverted_name": "Ayta, Mag-Indi", + "name": "Mag-Indi Ayta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bly", + "name": "Notre", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "blz", + "name": "Balantak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bma", + "name": "Lame", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmb", + "name": "Bembe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmc", + "name": "Biem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmd", + "inverted_name": "Manduri, Baga", + "name": "Baga Manduri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bme", + "name": "Limassa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmf", + "name": "Bom-Kim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmg", + "name": "Bamwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmh", + "name": "Kein", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmi", + "name": "Bagirmi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmj", + "name": "Bote-Majhi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmk", + "name": "Ghayavi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bml", + "name": "Bomboli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmm", + "inverted_name": "Malagasy, Northern Betsimisaraka", + "name": "Northern Betsimisaraka Malagasy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmn", + "name": "Bina (Papua New Guinea)", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "bmo", + "name": "Bambalang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmp", + "name": "Bulgebi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmq", + "name": "Bomu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmr", + "name": "Muinane", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bms", + "inverted_name": "Kanuri, Bilma", + "name": "Bilma Kanuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmt", + "name": "Biao Mon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmu", + "name": "Somba-Siawari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmv", + "name": "Bum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmw", + "name": "Bomwali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmx", + "name": "Baimak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bmz", + "name": "Baramu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bna", + "name": "Bonerate", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnb", + "name": "Bookan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnc", + "name": "Bontok", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "bnd", + "name": "Banda (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bne", + "name": "Bintauna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnf", + "name": "Masiwang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bng", + "name": "Benga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bni", + "name": "Bangi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnj", + "inverted_name": "Tawbuid, Eastern", + "name": "Eastern Tawbuid", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnk", + "name": "Bierebo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnl", + "name": "Boon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnm", + "name": "Batanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnn", + "name": "Bunun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bno", + "name": "Bantoanon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnp", + "name": "Bola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnq", + "name": "Bantik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnr", + "name": "Butmas-Tur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bns", + "name": "Bundeli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnu", + "name": "Bentong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnv", + "name": "Bonerif", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnw", + "name": "Bisis", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnx", + "name": "Bangubangu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bny", + "name": "Bintulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bnz", + "name": "Beezen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "boa", + "name": "Bora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bob", + "name": "Aweer", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "bo", + "alpha_3": "bod", + "bibliographic": "tib", + "name": "Tibetan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "boe", + "name": "Mundabli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bof", + "name": "Bolon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bog", + "name": "Bamako Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "boh", + "name": "Boma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "boi", + "name": "Barbareño", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "boj", + "name": "Anjam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bok", + "name": "Bonjo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bol", + "name": "Bole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bom", + "name": "Berom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bon", + "name": "Bine", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "boo", + "inverted_name": "Bozo, Tiemacèwè", + "name": "Tiemacèwè Bozo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bop", + "name": "Bonkiman", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "boq", + "name": "Bogaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bor", + "name": "Borôro", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "bs", + "alpha_3": "bos", + "name": "Bosnian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bot", + "name": "Bongo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bou", + "name": "Bondei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bov", + "name": "Tuwuli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bow", + "name": "Rema", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "box", + "name": "Buamu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "boy", + "name": "Bodo (Central African Republic)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "boz", + "inverted_name": "Bozo, Tiéyaxo", + "name": "Tiéyaxo Bozo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpa", + "name": "Daakaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpc", + "name": "Mbuk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpd", + "name": "Banda-Banda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpe", + "name": "Bauni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpg", + "name": "Bonggo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bph", + "name": "Botlikh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpi", + "name": "Bagupi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpj", + "name": "Binji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpk", + "name": "Orowe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpl", + "name": "Broome Pearling Lugger Pidgin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpm", + "name": "Biyom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpn", + "name": "Dzao Min", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpo", + "name": "Anasi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpp", + "name": "Kaure", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpq", + "inverted_name": "Malay, Banda", + "name": "Banda Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpr", + "inverted_name": "Blaan, Koronadal", + "name": "Koronadal Blaan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bps", + "inverted_name": "Blaan, Sarangani", + "name": "Sarangani Blaan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpt", + "name": "Barrow Point", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "bpu", + "name": "Bongu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpv", + "inverted_name": "Marind, Bian", + "name": "Bian Marind", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpw", + "name": "Bo (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpx", + "inverted_name": "Bareli, Palya", + "name": "Palya Bareli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpy", + "name": "Bishnupriya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bpz", + "name": "Bilba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqa", + "name": "Tchumbuli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqb", + "name": "Bagusa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqc", + "name": "Boko (Benin)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqd", + "name": "Bung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqf", + "name": "Baga Kaloum", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "bqg", + "name": "Bago-Kusuntu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqh", + "name": "Baima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqi", + "name": "Bakhtiari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqj", + "name": "Bandial", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqk", + "name": "Banda-Mbrès", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bql", + "name": "Bilakura", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqm", + "name": "Wumboko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqn", + "name": "Bulgarian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqo", + "name": "Balo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqp", + "name": "Busa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqq", + "name": "Biritai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqr", + "name": "Burusu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqs", + "name": "Bosngun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqt", + "name": "Bamukumbit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqu", + "name": "Boguru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqv", + "name": "Koro Wachi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqw", + "name": "Buru (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqx", + "name": "Baangi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqy", + "name": "Bengkala Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bqz", + "name": "Bakaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bra", + "name": "Braj", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brb", + "name": "Brao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brc", + "inverted_name": "Creole Dutch, Berbice", + "name": "Berbice Creole Dutch", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "brd", + "name": "Baraamu", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "br", + "alpha_3": "bre", + "name": "Breton", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brf", + "name": "Bira", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brg", + "name": "Baure", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brh", + "name": "Brahui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bri", + "name": "Mokpwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brj", + "name": "Bieria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brk", + "name": "Birked", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "brl", + "name": "Birwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brm", + "name": "Barambu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brn", + "name": "Boruca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bro", + "name": "Brokkat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brp", + "name": "Barapasi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brq", + "name": "Breri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brr", + "name": "Birao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brs", + "name": "Baras", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brt", + "name": "Bitare", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bru", + "inverted_name": "Bru, Eastern", + "name": "Eastern Bru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brv", + "inverted_name": "Bru, Western", + "name": "Western Bru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brw", + "name": "Bellari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brx", + "name": "Bodo (India)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bry", + "name": "Burui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "brz", + "name": "Bilbil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsa", + "name": "Abinomn", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsb", + "inverted_name": "Bisaya, Brunei", + "name": "Brunei Bisaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsc", + "name": "Bassari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bse", + "name": "Wushi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsf", + "name": "Bauchi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsg", + "name": "Bashkardi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsh", + "name": "Kati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsi", + "name": "Bassossi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsj", + "name": "Bangwinji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsk", + "name": "Burushaski", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsl", + "name": "Basa-Gumna", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "bsm", + "name": "Busami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsn", + "name": "Barasana-Eduria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bso", + "name": "Buso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsp", + "name": "Baga Sitemu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsq", + "name": "Bassa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsr", + "name": "Bassa-Kontagora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bss", + "name": "Akoose", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bst", + "name": "Basketo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsu", + "name": "Bahonsuai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsv", + "name": "Baga Sobané", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "bsw", + "name": "Baiso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsx", + "name": "Yangkam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bsy", + "inverted_name": "Bisaya, Sabah", + "name": "Sabah Bisaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bta", + "name": "Bata", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btc", + "name": "Bati (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btd", + "name": "Batak Dairi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bte", + "name": "Gamo-Ningi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "btf", + "name": "Birgit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btg", + "inverted_name": "Bété, Gagnoa", + "name": "Gagnoa Bété", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bth", + "inverted_name": "Bidayuh, Biatah", + "name": "Biatah Bidayuh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bti", + "name": "Burate", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btj", + "inverted_name": "Malay, Bacanese", + "name": "Bacanese Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btm", + "name": "Batak Mandailing", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btn", + "name": "Ratagnon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bto", + "inverted_name": "Bikol, Rinconada", + "name": "Rinconada Bikol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btp", + "name": "Budibud", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btq", + "name": "Batek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btr", + "name": "Baetora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bts", + "name": "Batak Simalungun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btt", + "name": "Bete-Bendi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btu", + "name": "Batu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btv", + "name": "Bateri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btw", + "name": "Butuanon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btx", + "name": "Batak Karo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bty", + "name": "Bobot", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "btz", + "name": "Batak Alas-Kluet", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bua", + "name": "Buriat", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "bub", + "name": "Bua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "buc", + "name": "Bushi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bud", + "name": "Ntcham", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bue", + "name": "Beothuk", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "buf", + "name": "Bushoong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bug", + "name": "Buginese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "buh", + "inverted_name": "Bunu, Younuo", + "name": "Younuo Bunu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bui", + "name": "Bongili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "buj", + "name": "Basa-Gurmana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "buk", + "name": "Bugawac", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "bg", + "alpha_3": "bul", + "name": "Bulgarian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bum", + "name": "Bulu (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bun", + "name": "Sherbro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "buo", + "name": "Terei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bup", + "name": "Busoa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "buq", + "name": "Brem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bus", + "name": "Bokobaru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "but", + "name": "Bungain", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "buu", + "name": "Budu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "buv", + "name": "Bun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "buw", + "name": "Bubi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bux", + "name": "Boghom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "buy", + "name": "Bullom So", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "buz", + "name": "Bukwen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bva", + "name": "Barein", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvb", + "name": "Bube", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvc", + "name": "Baelelea", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvd", + "name": "Baeggu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bve", + "inverted_name": "Malay, Berau", + "name": "Berau Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvf", + "name": "Boor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvg", + "name": "Bonkeng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvh", + "name": "Bure", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvi", + "name": "Belanda Viri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvj", + "name": "Baan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvk", + "name": "Bukat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvl", + "name": "Bolivian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvm", + "name": "Bamunka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvn", + "name": "Buna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvo", + "name": "Bolgo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvp", + "name": "Bumang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvq", + "name": "Birri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvr", + "name": "Burarra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvt", + "name": "Bati (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvu", + "inverted_name": "Malay, Bukit", + "name": "Bukit Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvv", + "name": "Baniva", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "bvw", + "name": "Boga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvx", + "name": "Dibole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvy", + "name": "Baybayanon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bvz", + "name": "Bauzi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwa", + "name": "Bwatoo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwb", + "name": "Namosi-Naitasiri-Serua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwc", + "name": "Bwile", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwd", + "name": "Bwaidoka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwe", + "inverted_name": "Karen, Bwe", + "name": "Bwe Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwf", + "name": "Boselewa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwg", + "name": "Barwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwh", + "name": "Bishuo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwi", + "name": "Baniwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwj", + "inverted_name": "Bwamu, Láá Láá", + "name": "Láá Láá Bwamu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwk", + "name": "Bauwaki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwl", + "name": "Bwela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwm", + "name": "Biwat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwn", + "inverted_name": "Bunu, Wunai", + "name": "Wunai Bunu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwo", + "name": "Boro (Ethiopia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwp", + "name": "Mandobo Bawah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwq", + "inverted_name": "Bobo Madaré, Southern", + "name": "Southern Bobo Madaré", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwr", + "name": "Bura-Pabir", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bws", + "name": "Bomboma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwt", + "name": "Bafaw-Balong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwu", + "name": "Buli (Ghana)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bww", + "name": "Bwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwx", + "inverted_name": "Bunu, Bu-Nao", + "name": "Bu-Nao Bunu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwy", + "inverted_name": "Bwamu, Cwi", + "name": "Cwi Bwamu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bwz", + "name": "Bwisi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxa", + "name": "Tairaha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxb", + "inverted_name": "Bor, Belanda", + "name": "Belanda Bor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxc", + "name": "Molengue", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxd", + "name": "Pela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxe", + "name": "Birale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxf", + "name": "Bilur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxg", + "name": "Bangala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxh", + "name": "Buhutu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxi", + "name": "Pirlatapa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "bxj", + "name": "Bayungu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxk", + "name": "Bukusu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxl", + "name": "Jalkunan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxm", + "inverted_name": "Buriat, Mongolia", + "name": "Mongolia Buriat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxn", + "name": "Burduna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxo", + "name": "Barikanchi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxp", + "name": "Bebil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxq", + "name": "Beele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxr", + "inverted_name": "Buriat, Russia", + "name": "Russia Buriat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxs", + "name": "Busam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxu", + "inverted_name": "Buriat, China", + "name": "China Buriat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxv", + "name": "Berakou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxw", + "name": "Bankagooma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bxz", + "name": "Binahari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bya", + "name": "Batak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byb", + "name": "Bikya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byc", + "name": "Ubaghara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byd", + "name": "Benyadu'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bye", + "name": "Pouye", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byf", + "name": "Bete", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byg", + "name": "Baygo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "byh", + "name": "Bhujel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byi", + "name": "Buyu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byj", + "name": "Bina (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byk", + "name": "Biao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byl", + "name": "Bayono", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bym", + "name": "Bidjara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byn", + "name": "Bilin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byo", + "name": "Biyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byp", + "name": "Bumaji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byq", + "name": "Basay", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "byr", + "name": "Baruya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bys", + "name": "Burak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byt", + "name": "Berti", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "byv", + "name": "Medumba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byw", + "name": "Belhariya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byx", + "name": "Qaqet", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "byz", + "name": "Banaro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bza", + "name": "Bandi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzb", + "name": "Andio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzc", + "inverted_name": "Malagasy, Southern Betsimisaraka", + "name": "Southern Betsimisaraka Malagasy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzd", + "name": "Bribri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bze", + "inverted_name": "Bozo, Jenaama", + "name": "Jenaama Bozo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzf", + "name": "Boikin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzg", + "name": "Babuza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzh", + "inverted_name": "Buang, Mapos", + "name": "Mapos Buang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzi", + "name": "Bisu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzj", + "inverted_name": "Kriol English, Belize", + "name": "Belize Kriol English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzk", + "inverted_name": "Creole English, Nicaragua", + "name": "Nicaragua Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzl", + "name": "Boano (Sulawesi)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzm", + "name": "Bolondo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzn", + "name": "Boano (Maluku)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzo", + "name": "Bozaba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzp", + "name": "Kemberano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzq", + "name": "Buli (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzr", + "name": "Biri", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "bzs", + "name": "Brazilian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzt", + "name": "Brithenig", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "bzu", + "name": "Burmeso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzv", + "name": "Naami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzw", + "name": "Basa (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzx", + "inverted_name": "Bozo, Kɛlɛngaxo", + "name": "Kɛlɛngaxo Bozo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzy", + "name": "Obanliku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "bzz", + "name": "Evant", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "caa", + "name": "Chortí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cab", + "name": "Garifuna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cac", + "name": "Chuj", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cad", + "name": "Caddo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cae", + "name": "Lehar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "caf", + "inverted_name": "Carrier, Southern", + "name": "Southern Carrier", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cag", + "name": "Nivaclé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cah", + "name": "Cahuarano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "caj", + "name": "Chané", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "cak", + "name": "Kaqchikel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cal", + "name": "Carolinian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cam", + "name": "Cemuhî", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "can", + "name": "Chambri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cao", + "name": "Chácobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cap", + "name": "Chipaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "caq", + "inverted_name": "Nicobarese, Car", + "name": "Car Nicobarese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "car", + "inverted_name": "Carib, Galibi", + "name": "Galibi Carib", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cas", + "name": "Tsimané", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ca", + "alpha_3": "cat", + "name": "Catalan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cav", + "name": "Cavineña", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "caw", + "name": "Callawalla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cax", + "name": "Chiquitano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cay", + "name": "Cayuga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "caz", + "name": "Canichana", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "cbb", + "name": "Cabiyarí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbc", + "name": "Carapana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbd", + "name": "Carijona", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbg", + "name": "Chimila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbi", + "name": "Chachi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbj", + "name": "Ede Cabe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbk", + "name": "Chavacano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbl", + "inverted_name": "Chin, Bualkhaw", + "name": "Bualkhaw Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbn", + "name": "Nyahkur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbo", + "name": "Izora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbq", + "name": "Tsucuba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbr", + "name": "Cashibo-Cacataibo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbs", + "name": "Cashinahua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbt", + "name": "Chayahuita", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbu", + "name": "Candoshi-Shapra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbv", + "name": "Cacua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cbw", + "name": "Kinabalian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cby", + "name": "Carabayo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ccc", + "name": "Chamicuro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ccd", + "inverted_name": "Creole, Cafundo", + "name": "Cafundo Creole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cce", + "name": "Chopi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ccg", + "inverted_name": "Daka, Samba", + "name": "Samba Daka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cch", + "name": "Atsam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ccj", + "name": "Kasanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ccl", + "name": "Cutchi-Swahili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ccm", + "inverted_name": "Creole Malay, Malaccan", + "name": "Malaccan Creole Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cco", + "inverted_name": "Chinantec, Comaltepec", + "name": "Comaltepec Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ccp", + "name": "Chakma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ccr", + "name": "Cacaopera", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "cda", + "name": "Choni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cde", + "name": "Chenchu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cdf", + "name": "Chiru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cdh", + "name": "Chambeali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cdi", + "name": "Chodri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cdj", + "name": "Churahi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cdm", + "name": "Chepang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cdn", + "name": "Chaudangsi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cdo", + "inverted_name": "Chinese, Min Dong", + "name": "Min Dong Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cdr", + "name": "Cinda-Regi-Tiyal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cds", + "name": "Chadian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cdy", + "name": "Chadong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cdz", + "name": "Koda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cea", + "inverted_name": "Chehalis, Lower", + "name": "Lower Chehalis", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ceb", + "name": "Cebuano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ceg", + "name": "Chamacoco", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cek", + "inverted_name": "Chin, Eastern Khumi", + "name": "Eastern Khumi Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cen", + "name": "Cen", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "cs", + "alpha_3": "ces", + "bibliographic": "cze", + "name": "Czech", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cet", + "name": "Centúúm", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cey", + "inverted_name": "Chin, Ekai", + "name": "Ekai Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cfa", + "name": "Dijim-Bwilim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cfd", + "name": "Cara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cfg", + "name": "Como Karim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cfm", + "inverted_name": "Chin, Falam", + "name": "Falam Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cga", + "name": "Changriwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cgc", + "name": "Kagayanen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cgg", + "name": "Chiga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cgk", + "name": "Chocangacakha", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ch", + "alpha_3": "cha", + "name": "Chamorro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "chb", + "name": "Chibcha", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "chc", + "name": "Catawba", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "chd", + "inverted_name": "Chontal, Highland Oaxaca", + "name": "Highland Oaxaca Chontal", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ce", + "alpha_3": "che", + "name": "Chechen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "chf", + "inverted_name": "Chontal, Tabasco", + "name": "Tabasco Chontal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "chg", + "name": "Chagatai", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "chh", + "name": "Chinook", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "chj", + "inverted_name": "Chinantec, Ojitlán", + "name": "Ojitlán Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "chk", + "name": "Chuukese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "chl", + "name": "Cahuilla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "chm", + "name": "Mari (Russia)", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "chn", + "name": "Chinook jargon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cho", + "name": "Choctaw", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "chp", + "name": "Chipewyan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "chq", + "inverted_name": "Chinantec, Quiotepec", + "name": "Quiotepec Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "chr", + "name": "Cherokee", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cht", + "name": "Cholón", + "scope": "I", + "type": "E" + }, + { + "alpha_2": "cu", + "alpha_3": "chu", + "inverted_name": "Slavic, Church", + "name": "Church Slavic", + "scope": "I", + "type": "A" + }, + { + "alpha_2": "cv", + "alpha_3": "chv", + "name": "Chuvash", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "chw", + "name": "Chuwabu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "chx", + "name": "Chantyal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "chy", + "name": "Cheyenne", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "chz", + "inverted_name": "Chinantec, Ozumacín", + "name": "Ozumacín Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cia", + "name": "Cia-Cia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cib", + "inverted_name": "Gbe, Ci", + "name": "Ci Gbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cic", + "name": "Chickasaw", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cid", + "name": "Chimariko", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "cie", + "name": "Cineni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cih", + "name": "Chinali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cik", + "inverted_name": "Kinnauri, Chitkuli", + "name": "Chitkuli Kinnauri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cim", + "name": "Cimbrian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cin", + "name": "Cinta Larga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cip", + "name": "Chiapanec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cir", + "name": "Tiri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ciw", + "name": "Chippewa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ciy", + "name": "Chaima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cja", + "inverted_name": "Cham, Western", + "name": "Western Cham", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cje", + "name": "Chru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cjh", + "inverted_name": "Chehalis, Upper", + "name": "Upper Chehalis", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "cji", + "name": "Chamalal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cjk", + "name": "Chokwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cjm", + "inverted_name": "Cham, Eastern", + "name": "Eastern Cham", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cjn", + "name": "Chenapian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cjo", + "name": "Ashéninka Pajonal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cjp", + "name": "Cabécar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cjs", + "name": "Shor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cjv", + "name": "Chuave", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cjy", + "inverted_name": "Chinese, Jinyu", + "name": "Jinyu Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ckb", + "inverted_name": "Kurdish, Central", + "name": "Central Kurdish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ckh", + "name": "Chak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ckl", + "name": "Cibak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ckm", + "name": "Chakavian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ckn", + "inverted_name": "Chin, Kaang", + "name": "Kaang Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cko", + "name": "Anufo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ckq", + "name": "Kajakse", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ckr", + "name": "Kairak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cks", + "name": "Tayo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ckt", + "name": "Chukot", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cku", + "name": "Koasati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ckv", + "name": "Kavalan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ckx", + "name": "Caka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cky", + "name": "Cakfem-Mushere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ckz", + "name": "Cakchiquel-Quiché Mixed Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cla", + "name": "Ron", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "clc", + "name": "Chilcotin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cld", + "inverted_name": "Neo-Aramaic, Chaldean", + "name": "Chaldean Neo-Aramaic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cle", + "inverted_name": "Chinantec, Lealao", + "name": "Lealao Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "clh", + "name": "Chilisso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cli", + "name": "Chakali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "clj", + "inverted_name": "Chin, Laitu", + "name": "Laitu Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "clk", + "name": "Idu-Mishmi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cll", + "name": "Chala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "clm", + "name": "Clallam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "clo", + "inverted_name": "Chontal, Lowland Oaxaca", + "name": "Lowland Oaxaca Chontal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "clt", + "inverted_name": "Chin, Lautu", + "name": "Lautu Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "clu", + "name": "Caluyanun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "clw", + "name": "Chulym", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cly", + "inverted_name": "Chatino, Eastern Highland", + "name": "Eastern Highland Chatino", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cma", + "name": "Maa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cme", + "name": "Cerma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cmg", + "inverted_name": "Mongolian, Classical", + "name": "Classical Mongolian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "cmi", + "name": "Emberá-Chamí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cml", + "name": "Campalagian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cmm", + "name": "Michigamea", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "cmn", + "inverted_name": "Chinese, Mandarin", + "name": "Mandarin Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cmo", + "inverted_name": "Mnong, Central", + "name": "Central Mnong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cmr", + "inverted_name": "Chin, Mro-Khimi", + "name": "Mro-Khimi Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cms", + "name": "Messapic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "cmt", + "name": "Camtho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cna", + "name": "Changthang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cnb", + "inverted_name": "Chin, Chinbon", + "name": "Chinbon Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cnc", + "name": "Côông", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cng", + "inverted_name": "Qiang, Northern", + "name": "Northern Qiang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cnh", + "inverted_name": "Chin, Hakha", + "name": "Hakha Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cni", + "name": "Asháninka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cnk", + "inverted_name": "Chin, Khumi", + "name": "Khumi Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cnl", + "inverted_name": "Chinantec, Lalana", + "name": "Lalana Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cno", + "name": "Con", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cnp", + "inverted_name": "Chinese, Northern Ping", + "name": "Northern Ping Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cnq", + "name": "Chung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cnr", + "name": "Montenegrin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cns", + "inverted_name": "Asmat, Central", + "name": "Central Asmat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cnt", + "inverted_name": "Chinantec, Tepetotutla", + "name": "Tepetotutla Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cnu", + "name": "Chenoua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cnw", + "inverted_name": "Chin, Ngawn", + "name": "Ngawn Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cnx", + "inverted_name": "Cornish, Middle", + "name": "Middle Cornish", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "coa", + "inverted_name": "Malay, Cocos Islands", + "name": "Cocos Islands Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cob", + "name": "Chicomuceltec", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "coc", + "name": "Cocopa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cod", + "name": "Cocama-Cocamilla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "coe", + "name": "Koreguaje", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cof", + "name": "Colorado", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cog", + "name": "Chong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "coh", + "name": "Chonyi-Dzihana-Kauma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "coj", + "name": "Cochimi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "cok", + "inverted_name": "Cora, Santa Teresa", + "name": "Santa Teresa Cora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "col", + "name": "Columbia-Wenatchi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "com", + "name": "Comanche", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "con", + "name": "Cofán", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "coo", + "name": "Comox", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cop", + "name": "Coptic", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "coq", + "name": "Coquille", + "scope": "I", + "type": "E" + }, + { + "alpha_2": "kw", + "alpha_3": "cor", + "name": "Cornish", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "co", + "alpha_3": "cos", + "name": "Corsican", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cot", + "name": "Caquinte", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cou", + "name": "Wamey", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cov", + "name": "Cao Miao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cow", + "name": "Cowlitz", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "cox", + "name": "Nanti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "coz", + "name": "Chochotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cpa", + "inverted_name": "Chinantec, Palantla", + "name": "Palantla Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cpb", + "inverted_name": "Ashéninka, Ucayali-Yurúa", + "name": "Ucayali-Yurúa Ashéninka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cpc", + "name": "Ajyíninka Apurucayali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cpg", + "inverted_name": "Greek, Cappadocian", + "name": "Cappadocian Greek", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "cpi", + "inverted_name": "Pidgin English, Chinese", + "name": "Chinese Pidgin English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cpn", + "name": "Cherepon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cpo", + "name": "Kpeego", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cps", + "name": "Capiznon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cpu", + "inverted_name": "Ashéninka, Pichis", + "name": "Pichis Ashéninka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cpx", + "inverted_name": "Chinese, Pu-Xian", + "name": "Pu-Xian Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cpy", + "inverted_name": "Ashéninka, South Ucayali", + "name": "South Ucayali Ashéninka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cqd", + "inverted_name": "Miao, Chuanqiandian Cluster", + "name": "Chuanqiandian Cluster Miao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cra", + "name": "Chara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crb", + "inverted_name": "Carib, Island", + "name": "Island Carib", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "crc", + "name": "Lonwolwol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crd", + "name": "Coeur d'Alene", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "cr", + "alpha_3": "cre", + "name": "Cree", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "crf", + "name": "Caramanta", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "crg", + "name": "Michif", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crh", + "inverted_name": "Tatar, Crimean", + "name": "Crimean Tatar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cri", + "name": "Sãotomense", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crj", + "inverted_name": "Cree, Southern East", + "name": "Southern East Cree", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crk", + "inverted_name": "Cree, Plains", + "name": "Plains Cree", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crl", + "inverted_name": "Cree, Northern East", + "name": "Northern East Cree", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crm", + "inverted_name": "Cree, Moose", + "name": "Moose Cree", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crn", + "inverted_name": "Cora, El Nayar", + "name": "El Nayar Cora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cro", + "name": "Crow", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crq", + "inverted_name": "Chorote, Iyo'wujwa", + "name": "Iyo'wujwa Chorote", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crr", + "inverted_name": "Algonquian, Carolina", + "name": "Carolina Algonquian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "crs", + "inverted_name": "Creole French, Seselwa", + "name": "Seselwa Creole French", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crt", + "inverted_name": "Chorote, Iyojwa'ja", + "name": "Iyojwa'ja Chorote", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crv", + "name": "Chaura", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crw", + "name": "Chrau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crx", + "name": "Carrier", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cry", + "name": "Cori", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "crz", + "name": "Cruzeño", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "csa", + "inverted_name": "Chinantec, Chiltepec", + "name": "Chiltepec Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csb", + "name": "Kashubian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csc", + "name": "Catalan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csd", + "name": "Chiangmai Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cse", + "name": "Czech Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csf", + "name": "Cuba Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csg", + "name": "Chilean Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csh", + "inverted_name": "Chin, Asho", + "name": "Asho Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csi", + "inverted_name": "Miwok, Coast", + "name": "Coast Miwok", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "csj", + "inverted_name": "Chin, Songlai", + "name": "Songlai Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csk", + "name": "Jola-Kasa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csl", + "name": "Chinese Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csm", + "inverted_name": "Miwok, Central Sierra", + "name": "Central Sierra Miwok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csn", + "name": "Colombian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cso", + "inverted_name": "Chinantec, Sochiapam", + "name": "Sochiapam Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csp", + "inverted_name": "Chinese, Southern Ping", + "name": "Southern Ping Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csq", + "name": "Croatia Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csr", + "name": "Costa Rican Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "css", + "inverted_name": "Ohlone, Southern", + "name": "Southern Ohlone", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "cst", + "inverted_name": "Ohlone, Northern", + "name": "Northern Ohlone", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csv", + "inverted_name": "Chin, Sumtu", + "name": "Sumtu Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csw", + "inverted_name": "Cree, Swampy", + "name": "Swampy Cree", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csx", + "name": "Cambodian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csy", + "inverted_name": "Chin, Siyin", + "name": "Siyin Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "csz", + "name": "Coos", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cta", + "inverted_name": "Chatino, Tataltepec", + "name": "Tataltepec Chatino", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ctc", + "name": "Chetco", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ctd", + "inverted_name": "Chin, Tedim", + "name": "Tedim Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cte", + "inverted_name": "Chinantec, Tepinapa", + "name": "Tepinapa Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ctg", + "name": "Chittagonian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cth", + "inverted_name": "Chin, Thaiphum", + "name": "Thaiphum Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ctl", + "inverted_name": "Chinantec, Tlacoatzintepec", + "name": "Tlacoatzintepec Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ctm", + "name": "Chitimacha", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ctn", + "name": "Chhintange", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cto", + "name": "Emberá-Catío", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ctp", + "inverted_name": "Chatino, Western Highland", + "name": "Western Highland Chatino", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cts", + "inverted_name": "Bikol, Northern Catanduanes", + "name": "Northern Catanduanes Bikol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ctt", + "inverted_name": "Chetti, Wayanad", + "name": "Wayanad Chetti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ctu", + "name": "Chol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cty", + "name": "Moundadan Chetty", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ctz", + "inverted_name": "Chatino, Zacatepec", + "name": "Zacatepec Chatino", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cua", + "name": "Cua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cub", + "name": "Cubeo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cuc", + "inverted_name": "Chinantec, Usila", + "name": "Usila Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cuh", + "name": "Chuka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cui", + "name": "Cuiba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cuj", + "name": "Mashco Piro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cuk", + "inverted_name": "Kuna, San Blas", + "name": "San Blas Kuna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cul", + "name": "Culina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cuo", + "name": "Cumanagoto", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "cup", + "name": "Cupeño", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "cuq", + "name": "Cun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cur", + "name": "Chhulung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cut", + "inverted_name": "Cuicatec, Teutila", + "name": "Teutila Cuicatec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cuu", + "name": "Tai Ya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cuv", + "name": "Cuvok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cuw", + "name": "Chukwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cux", + "inverted_name": "Cuicatec, Tepeuxila", + "name": "Tepeuxila Cuicatec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cuy", + "name": "Cuitlatec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cvg", + "name": "Chug", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cvn", + "inverted_name": "Chinantec, Valle Nacional", + "name": "Valle Nacional Chinantec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cwa", + "name": "Kabwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cwb", + "name": "Maindo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cwd", + "inverted_name": "Cree, Woods", + "name": "Woods Cree", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cwe", + "name": "Kwere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cwg", + "name": "Chewong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cwt", + "name": "Kuwaataay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cya", + "inverted_name": "Chatino, Nopala", + "name": "Nopala Chatino", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cyb", + "name": "Cayubaba", + "scope": "I", + "type": "E" + }, + { + "alpha_2": "cy", + "alpha_3": "cym", + "bibliographic": "wel", + "name": "Welsh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "cyo", + "name": "Cuyonon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "czh", + "inverted_name": "Chinese, Huizhou", + "name": "Huizhou Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "czk", + "name": "Knaanic", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "czn", + "inverted_name": "Chatino, Zenzontepec", + "name": "Zenzontepec Chatino", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "czo", + "inverted_name": "Chinese, Min Zhong", + "name": "Min Zhong Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "czt", + "inverted_name": "Chin, Zotung", + "name": "Zotung Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "daa", + "name": "Dangaléat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dac", + "name": "Dambi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dad", + "name": "Marik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dae", + "name": "Duupa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dag", + "name": "Dagbani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dah", + "name": "Gwahatike", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dai", + "name": "Day", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "daj", + "inverted_name": "Daju, Dar Fur", + "name": "Dar Fur Daju", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dak", + "name": "Dakota", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dal", + "name": "Dahalo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dam", + "name": "Damakawa", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "da", + "alpha_3": "dan", + "name": "Danish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dao", + "inverted_name": "Chin, Daai", + "name": "Daai Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "daq", + "inverted_name": "Maria, Dandami", + "name": "Dandami Maria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dar", + "name": "Dargwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "das", + "name": "Daho-Doo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dau", + "inverted_name": "Daju, Dar Sila", + "name": "Dar Sila Daju", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dav", + "name": "Taita", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "daw", + "name": "Davawenyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dax", + "name": "Dayi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "daz", + "name": "Dao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dba", + "name": "Bangime", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbb", + "name": "Deno", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbd", + "name": "Dadiya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbe", + "name": "Dabe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbf", + "name": "Edopi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbg", + "inverted_name": "Dogon, Dogul Dom", + "name": "Dogul Dom Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbi", + "name": "Doka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbj", + "name": "Ida'an", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbl", + "name": "Dyirbal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbm", + "name": "Duguri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbn", + "name": "Duriankere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbo", + "name": "Dulbu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbp", + "name": "Duwai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbq", + "name": "Daba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbr", + "name": "Dabarre", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbt", + "inverted_name": "Dogon, Ben Tey", + "name": "Ben Tey Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbu", + "inverted_name": "Dogon, Bondum Dom", + "name": "Bondum Dom Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbv", + "name": "Dungu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dbw", + "inverted_name": "Dogon, Bankan Tey", + "name": "Bankan Tey Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dby", + "name": "Dibiyaso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dcc", + "name": "Deccan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dcr", + "name": "Negerhollands", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dda", + "name": "Dadi Dadi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ddd", + "name": "Dongotono", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dde", + "name": "Doondo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ddg", + "name": "Fataluku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ddi", + "inverted_name": "Goodenough, West", + "name": "West Goodenough", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ddj", + "name": "Jaru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ddn", + "name": "Dendi (Benin)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ddo", + "name": "Dido", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ddr", + "name": "Dhudhuroa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dds", + "inverted_name": "Dogon, Donno So", + "name": "Donno So Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ddw", + "name": "Dawera-Daweloor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dec", + "name": "Dagik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ded", + "name": "Dedua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dee", + "name": "Dewoin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "def", + "name": "Dezfuli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "deg", + "name": "Degema", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "deh", + "name": "Dehwari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dei", + "name": "Demisa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dek", + "name": "Dek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "del", + "name": "Delaware", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "dem", + "name": "Dem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "den", + "name": "Slave (Athapascan)", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "dep", + "inverted_name": "Delaware, Pidgin", + "name": "Pidgin Delaware", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "deq", + "name": "Dendi (Central African Republic)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "der", + "name": "Deori", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "des", + "name": "Desano", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "de", + "alpha_3": "deu", + "bibliographic": "ger", + "name": "German", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dev", + "name": "Domung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dez", + "name": "Dengese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dga", + "inverted_name": "Dagaare, Southern", + "name": "Southern Dagaare", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dgb", + "inverted_name": "Dogon, Bunoge", + "name": "Bunoge Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dgc", + "inverted_name": "Agta, Casiguran Dumagat", + "name": "Casiguran Dumagat Agta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dgd", + "name": "Dagaari Dioula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dge", + "name": "Degenan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dgg", + "name": "Doga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dgh", + "name": "Dghwede", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dgi", + "inverted_name": "Dagara, Northern", + "name": "Northern Dagara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dgk", + "name": "Dagba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dgl", + "name": "Andaandi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dgn", + "name": "Dagoman", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dgo", + "name": "Dogri (individual language)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dgr", + "name": "Dogrib", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dgs", + "name": "Dogoso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dgt", + "name": "Ndra'ngith", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dgw", + "name": "Daungwurrung", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dgx", + "name": "Doghoro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dgz", + "name": "Daga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dhd", + "name": "Dhundari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dhg", + "name": "Dhangu-Djangu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dhi", + "name": "Dhimal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dhl", + "name": "Dhalandji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dhm", + "name": "Zemba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dhn", + "name": "Dhanki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dho", + "name": "Dhodia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dhr", + "name": "Dhargari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dhs", + "name": "Dhaiso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dhu", + "name": "Dhurga", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dhv", + "name": "Dehu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dhw", + "name": "Dhanwar (Nepal)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dhx", + "name": "Dhungaloo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dia", + "name": "Dia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dib", + "inverted_name": "Dinka, South Central", + "name": "South Central Dinka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dic", + "inverted_name": "Dida, Lakota", + "name": "Lakota Dida", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "did", + "name": "Didinga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dif", + "name": "Dieri", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dig", + "name": "Digo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dih", + "name": "Kumiai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dii", + "name": "Dimbong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dij", + "name": "Dai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dik", + "inverted_name": "Dinka, Southwestern", + "name": "Southwestern Dinka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dil", + "name": "Dilling", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dim", + "name": "Dime", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "din", + "name": "Dinka", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "dio", + "name": "Dibo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dip", + "inverted_name": "Dinka, Northeastern", + "name": "Northeastern Dinka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "diq", + "name": "Dimli (individual language)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dir", + "name": "Dirim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dis", + "name": "Dimasa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "diu", + "name": "Diriku", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "dv", + "alpha_3": "div", + "name": "Dhivehi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "diw", + "inverted_name": "Dinka, Northwestern", + "name": "Northwestern Dinka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dix", + "name": "Dixon Reef", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "diy", + "name": "Diuwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "diz", + "name": "Ding", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dja", + "name": "Djadjawurrung", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "djb", + "name": "Djinba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "djc", + "inverted_name": "Daju, Dar Daju", + "name": "Dar Daju Daju", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "djd", + "name": "Djamindjung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dje", + "name": "Zarma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "djf", + "name": "Djangun", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dji", + "name": "Djinang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "djj", + "name": "Djeebbana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "djk", + "name": "Eastern Maroon Creole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "djm", + "inverted_name": "Dogon, Jamsay", + "name": "Jamsay Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "djn", + "name": "Jawoyn", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "djo", + "name": "Jangkang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "djr", + "name": "Djambarrpuyngu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dju", + "name": "Kapriman", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "djw", + "name": "Djawi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dka", + "name": "Dakpakha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dkg", + "name": "Kadung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dkk", + "name": "Dakka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dkr", + "name": "Kuijau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dks", + "inverted_name": "Dinka, Southeastern", + "name": "Southeastern Dinka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dkx", + "name": "Mazagway", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dlg", + "name": "Dolgan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dlk", + "name": "Dahalik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dlm", + "name": "Dalmatian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dln", + "name": "Darlong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dma", + "name": "Duma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dmb", + "inverted_name": "Dogon, Mombo", + "name": "Mombo Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dmc", + "name": "Gavak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dmd", + "name": "Madhi Madhi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dme", + "name": "Dugwor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dmf", + "name": "Medefaidrin", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dmg", + "inverted_name": "Kinabatangan, Upper", + "name": "Upper Kinabatangan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dmk", + "name": "Domaaki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dml", + "name": "Dameli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dmm", + "name": "Dama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dmo", + "name": "Kemedzung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dmr", + "inverted_name": "Damar, East", + "name": "East Damar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dms", + "name": "Dampelas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dmu", + "name": "Dubu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dmv", + "name": "Dumpas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dmw", + "name": "Mudburra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dmx", + "name": "Dema", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dmy", + "name": "Demta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dna", + "inverted_name": "Dani, Upper Grand Valley", + "name": "Upper Grand Valley Dani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dnd", + "name": "Daonda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dne", + "name": "Ndendeule", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dng", + "name": "Dungan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dni", + "inverted_name": "Dani, Lower Grand Valley", + "name": "Lower Grand Valley Dani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dnj", + "name": "Dan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dnk", + "name": "Dengka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dnn", + "name": "Dzùùngoo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dno", + "name": "Ndrulo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dnr", + "name": "Danaru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dnt", + "inverted_name": "Dani, Mid Grand Valley", + "name": "Mid Grand Valley Dani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dnu", + "name": "Danau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dnv", + "name": "Danu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dnw", + "inverted_name": "Dani, Western", + "name": "Western Dani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dny", + "name": "Dení", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "doa", + "name": "Dom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dob", + "name": "Dobu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "doc", + "inverted_name": "Dong, Northern", + "name": "Northern Dong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "doe", + "name": "Doe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dof", + "name": "Domu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "doh", + "name": "Dong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "doi", + "name": "Dogri (macrolanguage)", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "dok", + "name": "Dondo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dol", + "name": "Doso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "don", + "name": "Toura (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "doo", + "name": "Dongo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dop", + "name": "Lukpa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "doq", + "name": "Dominican Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dor", + "name": "Dori'o", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dos", + "name": "Dogosé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dot", + "name": "Dass", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dov", + "name": "Dombe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dow", + "name": "Doyayo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dox", + "name": "Bussa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "doy", + "name": "Dompo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "doz", + "name": "Dorze", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dpp", + "name": "Papar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "drb", + "name": "Dair", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "drc", + "name": "Minderico", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "drd", + "name": "Darmiya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dre", + "name": "Dolpo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "drg", + "name": "Rungus", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dri", + "name": "C'Lela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "drl", + "name": "Paakantyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "drn", + "inverted_name": "Damar, West", + "name": "West Damar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dro", + "inverted_name": "Melanau, Daro-Matu", + "name": "Daro-Matu Melanau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "drq", + "name": "Dura", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "drs", + "name": "Gedeo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "drt", + "name": "Drents", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dru", + "name": "Rukai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dry", + "name": "Darai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dsb", + "inverted_name": "Sorbian, Lower", + "name": "Lower Sorbian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dse", + "name": "Dutch Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dsh", + "name": "Daasanach", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dsi", + "name": "Disa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dsl", + "name": "Danish Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dsn", + "name": "Dusner", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dso", + "name": "Desiya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dsq", + "name": "Tadaksahak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dsz", + "name": "Mardin Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dta", + "name": "Daur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dtb", + "inverted_name": "Kadazan, Labuk-Kinabatangan", + "name": "Labuk-Kinabatangan Kadazan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dtd", + "name": "Ditidaht", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dth", + "name": "Adithinngithigh", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dti", + "inverted_name": "Dogon, Ana Tinga", + "name": "Ana Tinga Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dtk", + "inverted_name": "Dogon, Tene Kan", + "name": "Tene Kan Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dtm", + "inverted_name": "Dogon, Tomo Kan", + "name": "Tomo Kan Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dtn", + "name": "Daatsʼíin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dto", + "inverted_name": "Dogon, Tommo So", + "name": "Tommo So Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dtp", + "inverted_name": "Dusun, Kadazan", + "name": "Kadazan Dusun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dtr", + "name": "Lotud", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dts", + "inverted_name": "Dogon, Toro So", + "name": "Toro So Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dtt", + "inverted_name": "Dogon, Toro Tegu", + "name": "Toro Tegu Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dtu", + "inverted_name": "Dogon, Tebul Ure", + "name": "Tebul Ure Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dty", + "name": "Dotyali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dua", + "name": "Duala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dub", + "name": "Dubli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "duc", + "name": "Duna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "due", + "inverted_name": "Agta, Umiray Dumaget", + "name": "Umiray Dumaget Agta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "duf", + "name": "Dumbea", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dug", + "name": "Duruma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "duh", + "name": "Dungra Bhil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dui", + "name": "Dumun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "duk", + "name": "Uyajitaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dul", + "inverted_name": "Agta, Alabat Island", + "name": "Alabat Island Agta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dum", + "inverted_name": "Dutch, Middle (ca. 1050-1350)", + "name": "Middle Dutch (ca. 1050-1350)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "dun", + "name": "Dusun Deyah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "duo", + "inverted_name": "Agta, Dupaninan", + "name": "Dupaninan Agta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dup", + "name": "Duano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "duq", + "name": "Dusun Malang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dur", + "name": "Dii", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dus", + "name": "Dumi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "duu", + "name": "Drung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "duv", + "name": "Duvle", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "duw", + "name": "Dusun Witu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dux", + "name": "Duungooma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "duy", + "inverted_name": "Agta, Dicamay", + "name": "Dicamay Agta", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "duz", + "name": "Duli-Gey", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dva", + "name": "Duau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dwa", + "name": "Diri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dwk", + "inverted_name": "Kui, Dawik", + "name": "Dawik Kui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dwr", + "name": "Dawro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dws", + "name": "Dutton World Speedwords", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "dwu", + "name": "Dhuwal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dww", + "name": "Dawawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dwy", + "name": "Dhuwaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dwz", + "inverted_name": "Rai, Dewas", + "name": "Dewas Rai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dya", + "name": "Dyan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dyb", + "name": "Dyaberdyaber", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dyd", + "name": "Dyugun", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dyg", + "inverted_name": "Agta, Villa Viciosa", + "name": "Villa Viciosa Agta", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dyi", + "inverted_name": "Senoufo, Djimini", + "name": "Djimini Senoufo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dym", + "inverted_name": "Dogon, Yanda Dom", + "name": "Yanda Dom Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dyn", + "name": "Dyangadi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dyo", + "name": "Jola-Fonyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dyu", + "name": "Dyula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dyy", + "name": "Djabugay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dza", + "name": "Tunzu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dze", + "name": "Djiwarli", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "dzg", + "name": "Dazaga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dzl", + "name": "Dzalakha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "dzn", + "name": "Dzando", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "dz", + "alpha_3": "dzo", + "name": "Dzongkha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eaa", + "name": "Karenggapa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ebc", + "name": "Beginci", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ebg", + "name": "Ebughu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ebk", + "inverted_name": "Bontok, Eastern", + "name": "Eastern Bontok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ebo", + "name": "Teke-Ebo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ebr", + "name": "Ebrié", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ebu", + "name": "Embu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ecr", + "name": "Eteocretan", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "ecs", + "name": "Ecuadorian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ecy", + "name": "Eteocypriot", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "eee", + "name": "E", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "efa", + "name": "Efai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "efe", + "name": "Efe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "efi", + "name": "Efik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ega", + "name": "Ega", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "egl", + "name": "Emilian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "egm", + "name": "Benamanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ego", + "name": "Eggon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "egy", + "name": "Egyptian (Ancient)", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "ehs", + "name": "Miyakubo Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ehu", + "name": "Ehueun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eip", + "name": "Eipomek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eit", + "name": "Eitiep", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eiv", + "name": "Askopan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eja", + "name": "Ejamat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eka", + "name": "Ekajuk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eke", + "name": "Ekit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ekg", + "name": "Ekari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eki", + "name": "Eki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ekk", + "inverted_name": "Estonian, Standard", + "name": "Standard Estonian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ekl", + "name": "Kol (Bangladesh)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ekm", + "name": "Elip", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eko", + "name": "Koti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ekp", + "name": "Ekpeye", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ekr", + "name": "Yace", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eky", + "inverted_name": "Kayah, Eastern", + "name": "Eastern Kayah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ele", + "name": "Elepi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "elh", + "name": "El Hugeirat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eli", + "name": "Nding", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "elk", + "name": "Elkei", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "el", + "alpha_3": "ell", + "bibliographic": "gre", + "inverted_name": "Greek, Modern (1453-)", + "name": "Modern Greek (1453-)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "elm", + "name": "Eleme", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "elo", + "name": "El Molo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "elu", + "name": "Elu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "elx", + "name": "Elamite", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "ema", + "name": "Emai-Iuleha-Ora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "emb", + "name": "Embaloh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eme", + "name": "Emerillon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "emg", + "inverted_name": "Meohang, Eastern", + "name": "Eastern Meohang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "emi", + "name": "Mussau-Emira", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "emk", + "inverted_name": "Maninkakan, Eastern", + "name": "Eastern Maninkakan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "emm", + "name": "Mamulique", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "emn", + "name": "Eman", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "emp", + "inverted_name": "Emberá, Northern", + "name": "Northern Emberá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "emq", + "inverted_name": "Minyag, Eastern", + "name": "Eastern Minyag", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ems", + "inverted_name": "Yupik, Pacific Gulf", + "name": "Pacific Gulf Yupik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "emu", + "inverted_name": "Muria, Eastern", + "name": "Eastern Muria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "emw", + "name": "Emplawas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "emx", + "name": "Erromintxela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "emy", + "inverted_name": "Mayan, Epigraphic", + "name": "Epigraphic Mayan", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "emz", + "name": "Mbessa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ena", + "name": "Apali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "enb", + "name": "Markweeta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "enc", + "name": "En", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "end", + "name": "Ende", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "enf", + "inverted_name": "Enets, Forest", + "name": "Forest Enets", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "en", + "alpha_3": "eng", + "name": "English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "enh", + "inverted_name": "Enets, Tundra", + "name": "Tundra Enets", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "enl", + "name": "Enlhet", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "enm", + "inverted_name": "English, Middle (1100-1500)", + "name": "Middle English (1100-1500)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "enn", + "name": "Engenni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eno", + "name": "Enggano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "enq", + "name": "Enga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "enr", + "name": "Emumu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "enu", + "name": "Enu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "env", + "name": "Enwan (Edo State)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "enw", + "name": "Enwan (Akwa Ibom State)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "enx", + "name": "Enxet", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eot", + "name": "Beti (Côte d'Ivoire)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "epi", + "name": "Epie", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "eo", + "alpha_3": "epo", + "name": "Esperanto", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "era", + "name": "Eravallan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "erg", + "name": "Sie", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "erh", + "name": "Eruwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eri", + "name": "Ogea", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "erk", + "inverted_name": "Efate, South", + "name": "South Efate", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ero", + "name": "Horpa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "err", + "name": "Erre", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ers", + "name": "Ersu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ert", + "name": "Eritai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "erw", + "name": "Erokwanas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ese", + "name": "Ese Ejja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "esg", + "inverted_name": "Gondi, Aheri", + "name": "Aheri Gondi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "esh", + "name": "Eshtehardi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "esi", + "inverted_name": "Inupiatun, North Alaskan", + "name": "North Alaskan Inupiatun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "esk", + "inverted_name": "Inupiatun, Northwest Alaska", + "name": "Northwest Alaska Inupiatun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "esl", + "name": "Egypt Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "esm", + "name": "Esuma", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "esn", + "name": "Salvadoran Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eso", + "name": "Estonian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "esq", + "name": "Esselen", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ess", + "inverted_name": "Yupik, Central Siberian", + "name": "Central Siberian Yupik", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "et", + "alpha_3": "est", + "name": "Estonian", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "esu", + "inverted_name": "Yupik, Central", + "name": "Central Yupik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "esy", + "name": "Eskayan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "etb", + "name": "Etebi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "etc", + "name": "Etchemin", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "eth", + "name": "Ethiopian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "etn", + "name": "Eton (Vanuatu)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eto", + "name": "Eton (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "etr", + "name": "Edolo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ets", + "name": "Yekhee", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ett", + "name": "Etruscan", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "etu", + "name": "Ejagham", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "etx", + "name": "Eten", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "etz", + "name": "Semimi", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "eu", + "alpha_3": "eus", + "bibliographic": "baq", + "name": "Basque", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eve", + "name": "Even", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "evh", + "name": "Uvbie", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "evn", + "name": "Evenki", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ee", + "alpha_3": "ewe", + "name": "Ewe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ewo", + "name": "Ewondo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ext", + "name": "Extremaduran", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eya", + "name": "Eyak", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "eyo", + "name": "Keiyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eza", + "name": "Ezaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "eze", + "name": "Uzekwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "faa", + "name": "Fasu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fab", + "name": "Fa d'Ambu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fad", + "name": "Wagi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "faf", + "name": "Fagani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fag", + "name": "Finongan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fah", + "inverted_name": "Fali, Baissa", + "name": "Baissa Fali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fai", + "name": "Faiwol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "faj", + "name": "Faita", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fak", + "name": "Fang (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fal", + "inverted_name": "Fali, South", + "name": "South Fali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fam", + "name": "Fam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fan", + "name": "Fang (Equatorial Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "fo", + "alpha_3": "fao", + "name": "Faroese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fap", + "name": "Paloor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "far", + "name": "Fataleka", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "fa", + "alpha_3": "fas", + "bibliographic": "per", + "name": "Persian", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "fat", + "name": "Fanti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fau", + "name": "Fayu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fax", + "name": "Fala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fay", + "inverted_name": "Fars, Southwestern", + "name": "Southwestern Fars", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "faz", + "inverted_name": "Fars, Northwestern", + "name": "Northwestern Fars", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fbl", + "inverted_name": "Bikol, West Albay", + "name": "West Albay Bikol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fcs", + "name": "Quebec Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fer", + "name": "Feroge", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ffi", + "name": "Foia Foia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ffm", + "inverted_name": "Fulfulde, Maasina", + "name": "Maasina Fulfulde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fgr", + "name": "Fongoro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fia", + "name": "Nobiin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fie", + "name": "Fyer", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fif", + "name": "Faifi", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "fj", + "alpha_3": "fij", + "name": "Fijian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fil", + "name": "Filipino", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "fi", + "alpha_3": "fin", + "name": "Finnish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fip", + "name": "Fipa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fir", + "name": "Firan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fit", + "inverted_name": "Finnish, Tornedalen", + "name": "Tornedalen Finnish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fiw", + "name": "Fiwaga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fkk", + "name": "Kirya-Konzəl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fkv", + "inverted_name": "Finnish, Kven", + "name": "Kven Finnish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fla", + "name": "Kalispel-Pend d'Oreille", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "flh", + "name": "Foau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fli", + "name": "Fali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fll", + "inverted_name": "Fali, North", + "name": "North Fali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fln", + "name": "Flinders Island", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "flr", + "name": "Fuliiru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fly", + "name": "Flaaitaal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fmp", + "name": "Fe'fe'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fmu", + "inverted_name": "Muria, Far Western", + "name": "Far Western Muria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fnb", + "name": "Fanbak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fng", + "name": "Fanagalo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fni", + "name": "Fania", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fod", + "name": "Foodo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "foi", + "name": "Foi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fom", + "name": "Foma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fon", + "name": "Fon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "for", + "name": "Fore", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fos", + "name": "Siraya", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "fpe", + "inverted_name": "Creole English, Fernando Po", + "name": "Fernando Po Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fqs", + "name": "Fas", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "fr", + "alpha_3": "fra", + "bibliographic": "fre", + "name": "French", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "frc", + "inverted_name": "French, Cajun", + "name": "Cajun French", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "frd", + "name": "Fordata", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "frk", + "name": "Frankish", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "frm", + "inverted_name": "French, Middle (ca. 1400-1600)", + "name": "Middle French (ca. 1400-1600)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "fro", + "inverted_name": "French, Old (842-ca. 1400)", + "name": "Old French (842-ca. 1400)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "frp", + "name": "Arpitan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "frq", + "name": "Forak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "frr", + "inverted_name": "Frisian, Northern", + "name": "Northern Frisian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "frs", + "inverted_name": "Frisian, Eastern", + "name": "Eastern Frisian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "frt", + "name": "Fortsenal", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "fy", + "alpha_3": "fry", + "inverted_name": "Frisian, Western", + "name": "Western Frisian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fse", + "name": "Finnish Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fsl", + "name": "French Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fss", + "name": "Finland-Swedish Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fub", + "inverted_name": "Fulfulde, Adamawa", + "name": "Adamawa Fulfulde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fuc", + "name": "Pulaar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fud", + "inverted_name": "Futuna, East", + "name": "East Futuna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fue", + "inverted_name": "Fulfulde, Borgu", + "name": "Borgu Fulfulde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fuf", + "name": "Pular", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fuh", + "inverted_name": "Fulfulde, Western Niger", + "name": "Western Niger Fulfulde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fui", + "inverted_name": "Fulfulde, Bagirmi", + "name": "Bagirmi Fulfulde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fuj", + "name": "Ko", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ff", + "alpha_3": "ful", + "name": "Fulah", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "fum", + "name": "Fum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fun", + "name": "Fulniô", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fuq", + "inverted_name": "Fulfulde, Central-Eastern Niger", + "name": "Central-Eastern Niger Fulfulde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fur", + "name": "Friulian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fut", + "name": "Futuna-Aniwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fuu", + "name": "Furu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fuv", + "inverted_name": "Fulfulde, Nigerian", + "name": "Nigerian Fulfulde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fuy", + "name": "Fuyug", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fvr", + "name": "Fur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fwa", + "name": "Fwâi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "fwe", + "name": "Fwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gaa", + "name": "Ga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gab", + "name": "Gabri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gac", + "inverted_name": "Great Andamanese, Mixed", + "name": "Mixed Great Andamanese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gad", + "name": "Gaddang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gae", + "name": "Guarequena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gaf", + "name": "Gende", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gag", + "name": "Gagauz", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gah", + "name": "Alekano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gai", + "name": "Borei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gaj", + "name": "Gadsup", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gak", + "name": "Gamkonora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gal", + "name": "Galolen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gam", + "name": "Kandawo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gan", + "inverted_name": "Chinese, Gan", + "name": "Gan Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gao", + "name": "Gants", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gap", + "name": "Gal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gaq", + "name": "Gata'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gar", + "name": "Galeya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gas", + "inverted_name": "Garasia, Adiwasi", + "name": "Adiwasi Garasia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gat", + "name": "Kenati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gau", + "inverted_name": "Gadaba, Mudhili", + "name": "Mudhili Gadaba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gaw", + "name": "Nobonob", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gax", + "inverted_name": "Oromo, Borana-Arsi-Guji", + "name": "Borana-Arsi-Guji Oromo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gay", + "name": "Gayo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gaz", + "inverted_name": "Oromo, West Central", + "name": "West Central Oromo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gba", + "name": "Gbaya (Central African Republic)", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "gbb", + "name": "Kaytetye", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbd", + "name": "Karajarri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbe", + "name": "Niksek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbf", + "name": "Gaikundi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbg", + "name": "Gbanziri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbh", + "inverted_name": "Gbe, Defi", + "name": "Defi Gbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbi", + "name": "Galela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbj", + "inverted_name": "Gadaba, Bodo", + "name": "Bodo Gadaba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbk", + "name": "Gaddi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbl", + "name": "Gamit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbm", + "name": "Garhwali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbn", + "name": "Mo'da", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbo", + "inverted_name": "Grebo, Northern", + "name": "Northern Grebo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbp", + "name": "Gbaya-Bossangoa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbq", + "name": "Gbaya-Bozoum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbr", + "name": "Gbagyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbs", + "inverted_name": "Gbe, Gbesi", + "name": "Gbesi Gbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbu", + "name": "Gagadu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbv", + "name": "Gbanu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbw", + "name": "Gabi-Gabi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbx", + "inverted_name": "Gbe, Eastern Xwla", + "name": "Eastern Xwla Gbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gby", + "name": "Gbari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gbz", + "inverted_name": "Dari, Zoroastrian", + "name": "Zoroastrian Dari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gcc", + "name": "Mali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gcd", + "name": "Ganggalida", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gce", + "name": "Galice", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gcf", + "inverted_name": "Creole French, Guadeloupean", + "name": "Guadeloupean Creole French", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gcl", + "inverted_name": "Creole English, Grenadian", + "name": "Grenadian Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gcn", + "name": "Gaina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gcr", + "inverted_name": "Creole French, Guianese", + "name": "Guianese Creole French", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gct", + "inverted_name": "German, Colonia Tovar", + "name": "Colonia Tovar German", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gda", + "inverted_name": "Lohar, Gade", + "name": "Gade Lohar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdb", + "inverted_name": "Gadaba, Pottangi Ollar", + "name": "Pottangi Ollar Gadaba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdc", + "name": "Gugu Badhun", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gdd", + "name": "Gedaged", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gde", + "name": "Gude", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdf", + "name": "Guduf-Gava", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdg", + "name": "Ga'dang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdh", + "name": "Gadjerawang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdi", + "name": "Gundi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdj", + "name": "Gurdjar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdk", + "name": "Gadang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdl", + "name": "Dirasha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdm", + "name": "Laal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdn", + "name": "Umanakaina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdo", + "name": "Ghodoberi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdq", + "name": "Mehri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdr", + "name": "Wipi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gds", + "name": "Ghandruk Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdt", + "name": "Kungardutyi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gdu", + "name": "Gudu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gdx", + "name": "Godwari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gea", + "name": "Geruma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "geb", + "name": "Kire", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gec", + "inverted_name": "Grebo, Gboloo", + "name": "Gboloo Grebo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ged", + "name": "Gade", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gef", + "name": "Gerai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "geg", + "name": "Gengle", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "geh", + "inverted_name": "German, Hutterite", + "name": "Hutterite German", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gei", + "name": "Gebe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gej", + "name": "Gen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gek", + "name": "Ywom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gel", + "name": "ut-Ma'in", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "geq", + "name": "Geme", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ges", + "name": "Geser-Gorom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gev", + "name": "Eviya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gew", + "name": "Gera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gex", + "name": "Garre", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gey", + "name": "Enya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gez", + "name": "Geez", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "gfk", + "name": "Patpatar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gft", + "name": "Gafat", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gga", + "name": "Gao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ggb", + "name": "Gbii", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ggd", + "name": "Gugadj", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gge", + "name": "Gurr-goni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ggg", + "name": "Gurgula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ggk", + "name": "Kungarakany", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ggl", + "name": "Ganglau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ggt", + "name": "Gitua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ggu", + "name": "Gagu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ggw", + "name": "Gogodala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gha", + "name": "Ghadamès", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ghc", + "inverted_name": "Gaelic, Hiberno-Scottish", + "name": "Hiberno-Scottish Gaelic", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "ghe", + "inverted_name": "Ghale, Southern", + "name": "Southern Ghale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ghh", + "inverted_name": "Ghale, Northern", + "name": "Northern Ghale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ghk", + "inverted_name": "Karen, Geko", + "name": "Geko Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ghl", + "name": "Ghulfan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ghn", + "name": "Ghanongga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gho", + "name": "Ghomara", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ghr", + "name": "Ghera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ghs", + "name": "Guhu-Samane", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ght", + "name": "Kuke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gia", + "name": "Kija", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gib", + "name": "Gibanawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gic", + "name": "Gail", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gid", + "name": "Gidar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gie", + "name": "Gaɓogbo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gig", + "name": "Goaria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gih", + "name": "Githabul", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gii", + "name": "Girirra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gil", + "name": "Gilbertese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gim", + "name": "Gimi (Eastern Highlands)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gin", + "name": "Hinukh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gip", + "name": "Gimi (West New Britain)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "giq", + "inverted_name": "Gelao, Green", + "name": "Green Gelao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gir", + "inverted_name": "Gelao, Red", + "name": "Red Gelao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gis", + "inverted_name": "Giziga, North", + "name": "North Giziga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "git", + "name": "Gitxsan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "giu", + "name": "Mulao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "giw", + "inverted_name": "Gelao, White", + "name": "White Gelao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gix", + "name": "Gilima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "giy", + "name": "Giyug", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "giz", + "inverted_name": "Giziga, South", + "name": "South Giziga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gjk", + "inverted_name": "Koli, Kachi", + "name": "Kachi Koli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gjm", + "name": "Gunditjmara", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gjn", + "name": "Gonja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gjr", + "name": "Gurindji Kriol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gju", + "name": "Gujari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gka", + "name": "Guya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gkd", + "name": "Magɨ (Madang Province)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gke", + "name": "Ndai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gkn", + "name": "Gokana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gko", + "name": "Kok-Nar", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gkp", + "inverted_name": "Kpelle, Guinea", + "name": "Guinea Kpelle", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gku", + "name": "ǂUngkue", + "scope": "I", + "type": "E" + }, + { + "alpha_2": "gd", + "alpha_3": "gla", + "inverted_name": "Gaelic, Scottish", + "name": "Scottish Gaelic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "glb", + "name": "Belning", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "glc", + "name": "Bon Gula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gld", + "name": "Nanai", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ga", + "alpha_3": "gle", + "name": "Irish", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "gl", + "alpha_3": "glg", + "name": "Galician", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "glh", + "inverted_name": "Pashai, Northwest", + "name": "Northwest Pashai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "glj", + "name": "Gula Iro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "glk", + "name": "Gilaki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gll", + "name": "Garlali", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "glo", + "name": "Galambu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "glr", + "name": "Glaro-Twabo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "glu", + "name": "Gula (Chad)", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "gv", + "alpha_3": "glv", + "name": "Manx", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "glw", + "name": "Glavda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gly", + "name": "Gule", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gma", + "name": "Gambera", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gmb", + "name": "Gula'alaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gmd", + "name": "Mághdì", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gmg", + "name": "Magɨyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gmh", + "inverted_name": "German, Middle High (ca. 1050-1500)", + "name": "Middle High German (ca. 1050-1500)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "gml", + "inverted_name": "German, Middle Low", + "name": "Middle Low German", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "gmm", + "name": "Gbaya-Mbodomo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gmn", + "name": "Gimnime", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gmr", + "name": "Mirning", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gmu", + "name": "Gumalu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gmv", + "name": "Gamo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gmx", + "name": "Magoma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gmy", + "inverted_name": "Greek, Mycenaean", + "name": "Mycenaean Greek", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "gmz", + "name": "Mgbolizhia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gna", + "name": "Kaansa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gnb", + "name": "Gangte", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gnc", + "name": "Guanche", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gnd", + "name": "Zulgo-Gemzek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gne", + "name": "Ganang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gng", + "name": "Ngangam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gnh", + "name": "Lere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gni", + "name": "Gooniyandi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gnj", + "name": "Ngen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gnk", + "name": "ǁGana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gnl", + "name": "Gangulu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gnm", + "name": "Ginuman", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gnn", + "name": "Gumatj", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gno", + "inverted_name": "Gondi, Northern", + "name": "Northern Gondi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gnq", + "name": "Gana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gnr", + "name": "Gureng Gureng", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gnt", + "name": "Guntai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gnu", + "name": "Gnau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gnw", + "inverted_name": "Guaraní, Western Bolivian", + "name": "Western Bolivian Guaraní", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gnz", + "name": "Ganzi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "goa", + "name": "Guro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gob", + "name": "Playero", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "goc", + "name": "Gorakor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "god", + "name": "Godié", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "goe", + "name": "Gongduk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gof", + "name": "Gofa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gog", + "name": "Gogo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "goh", + "inverted_name": "German, Old High (ca. 750-1050)", + "name": "Old High German (ca. 750-1050)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "goi", + "name": "Gobasi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "goj", + "name": "Gowlan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gok", + "name": "Gowli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gol", + "name": "Gola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gom", + "inverted_name": "Konkani, Goan", + "name": "Goan Konkani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gon", + "name": "Gondi", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "goo", + "name": "Gone Dau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gop", + "name": "Yeretuar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "goq", + "name": "Gorap", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gor", + "name": "Gorontalo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gos", + "name": "Gronings", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "got", + "name": "Gothic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "gou", + "name": "Gavar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gov", + "name": "Goo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gow", + "name": "Gorowa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gox", + "name": "Gobu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "goy", + "name": "Goundo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "goz", + "name": "Gozarkhani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gpa", + "name": "Gupa-Abawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gpe", + "inverted_name": "Pidgin English, Ghanaian", + "name": "Ghanaian Pidgin English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gpn", + "name": "Taiap", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gqa", + "name": "Ga'anda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gqi", + "name": "Guiqiong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gqn", + "name": "Guana (Brazil)", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gqr", + "name": "Gor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gqu", + "name": "Qau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gra", + "inverted_name": "Garasia, Rajput", + "name": "Rajput Garasia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "grb", + "name": "Grebo", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "grc", + "inverted_name": "Greek, Ancient (to 1453)", + "name": "Ancient Greek (to 1453)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "grd", + "name": "Guruntum-Mbaaru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "grg", + "name": "Madi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "grh", + "name": "Gbiri-Niragu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gri", + "name": "Ghari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "grj", + "inverted_name": "Grebo, Southern", + "name": "Southern Grebo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "grm", + "name": "Kota Marudu Talantang", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "gn", + "alpha_3": "grn", + "name": "Guarani", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "gro", + "name": "Groma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "grq", + "name": "Gorovu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "grr", + "name": "Taznatit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "grs", + "name": "Gresi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "grt", + "name": "Garo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gru", + "name": "Kistane", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "grv", + "inverted_name": "Grebo, Central", + "name": "Central Grebo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "grw", + "name": "Gweda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "grx", + "name": "Guriaso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gry", + "inverted_name": "Grebo, Barclayville", + "name": "Barclayville Grebo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "grz", + "name": "Guramalum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gse", + "name": "Ghanaian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gsg", + "name": "German Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gsl", + "name": "Gusilay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gsm", + "name": "Guatemalan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gsn", + "name": "Nema", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gso", + "inverted_name": "Gbaya, Southwest", + "name": "Southwest Gbaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gsp", + "name": "Wasembo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gss", + "name": "Greek Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gsw", + "inverted_name": "German, Swiss", + "name": "Swiss German", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gta", + "name": "Guató", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gtu", + "name": "Aghu-Tharnggala", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gua", + "name": "Shiki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gub", + "name": "Guajajára", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "guc", + "name": "Wayuu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gud", + "inverted_name": "Dida, Yocoboué", + "name": "Yocoboué Dida", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gue", + "name": "Gurindji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "guf", + "name": "Gupapuyngu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gug", + "inverted_name": "Guaraní, Paraguayan", + "name": "Paraguayan Guaraní", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "guh", + "name": "Guahibo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gui", + "inverted_name": "Guaraní, Eastern Bolivian", + "name": "Eastern Bolivian Guaraní", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "gu", + "alpha_3": "guj", + "name": "Gujarati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "guk", + "name": "Gumuz", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gul", + "inverted_name": "Creole English, Sea Island", + "name": "Sea Island Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gum", + "name": "Guambiano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gun", + "inverted_name": "Guaraní, Mbyá", + "name": "Mbyá Guaraní", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "guo", + "name": "Guayabero", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gup", + "name": "Gunwinggu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "guq", + "name": "Aché", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gur", + "name": "Farefare", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gus", + "name": "Guinean Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gut", + "name": "Maléku Jaíka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "guu", + "name": "Yanomamö", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "guw", + "name": "Gun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gux", + "name": "Gourmanchéma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "guz", + "name": "Gusii", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gva", + "name": "Guana (Paraguay)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gvc", + "name": "Guanano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gve", + "name": "Duwet", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gvf", + "name": "Golin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gvj", + "name": "Guajá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gvl", + "name": "Gulay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gvm", + "name": "Gurmana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gvn", + "name": "Kuku-Yalanji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gvo", + "name": "Gavião Do Jiparaná", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gvp", + "inverted_name": "Gavião, Pará", + "name": "Pará Gavião", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gvr", + "name": "Gurung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gvs", + "name": "Gumawana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gvy", + "name": "Guyani", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gwa", + "name": "Mbato", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gwb", + "name": "Gwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gwc", + "name": "Gawri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gwd", + "name": "Gawwada", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gwe", + "name": "Gweno", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gwf", + "name": "Gowro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gwg", + "name": "Moo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gwi", + "name": "Gwichʼin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gwj", + "name": "ǀGwi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gwm", + "name": "Awngthim", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gwn", + "name": "Gwandara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gwr", + "name": "Gwere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gwt", + "name": "Gawar-Bati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gwu", + "name": "Guwamu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gww", + "name": "Kwini", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gwx", + "name": "Gua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gxx", + "name": "Wè Southern", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gya", + "inverted_name": "Gbaya, Northwest", + "name": "Northwest Gbaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gyb", + "name": "Garus", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gyd", + "name": "Kayardild", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gye", + "name": "Gyem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gyf", + "name": "Gungabula", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gyg", + "name": "Gbayi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gyi", + "name": "Gyele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gyl", + "name": "Gayil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gym", + "name": "Ngäbere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gyn", + "inverted_name": "Creole English, Guyanese", + "name": "Guyanese Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gyo", + "name": "Gyalsumdo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gyr", + "name": "Guarayu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gyy", + "name": "Gunya", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "gyz", + "name": "Geji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gza", + "name": "Ganza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gzi", + "name": "Gazi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "gzn", + "name": "Gane", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "haa", + "name": "Han", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hab", + "name": "Hanoi Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hac", + "name": "Gurani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "had", + "name": "Hatam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hae", + "inverted_name": "Oromo, Eastern", + "name": "Eastern Oromo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "haf", + "name": "Haiphong Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hag", + "name": "Hanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hah", + "name": "Hahon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hai", + "name": "Haida", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "haj", + "name": "Hajong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hak", + "inverted_name": "Chinese, Hakka", + "name": "Hakka Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hal", + "name": "Halang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ham", + "name": "Hewa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "han", + "name": "Hangaza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hao", + "name": "Hakö", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hap", + "name": "Hupla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "haq", + "name": "Ha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "har", + "name": "Harari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "has", + "name": "Haisla", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ht", + "alpha_3": "hat", + "name": "Haitian", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ha", + "alpha_3": "hau", + "name": "Hausa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hav", + "name": "Havu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "haw", + "name": "Hawaiian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hax", + "inverted_name": "Haida, Southern", + "name": "Southern Haida", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hay", + "name": "Haya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "haz", + "name": "Hazaragi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hba", + "name": "Hamba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hbb", + "name": "Huba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hbn", + "name": "Heiban", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hbo", + "inverted_name": "Hebrew, Ancient", + "name": "Ancient Hebrew", + "scope": "I", + "type": "H" + }, + { + "alpha_2": "sh", + "alpha_3": "hbs", + "name": "Serbo-Croatian", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "hbu", + "name": "Habu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hca", + "inverted_name": "Creole Hindi, Andaman", + "name": "Andaman Creole Hindi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hch", + "name": "Huichol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hdn", + "inverted_name": "Haida, Northern", + "name": "Northern Haida", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hds", + "name": "Honduras Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hdy", + "name": "Hadiyya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hea", + "inverted_name": "Miao, Northern Qiandong", + "name": "Northern Qiandong Miao", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "he", + "alpha_3": "heb", + "name": "Hebrew", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hed", + "name": "Herdé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "heg", + "name": "Helong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "heh", + "name": "Hehe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hei", + "name": "Heiltsuk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hem", + "name": "Hemba", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "hz", + "alpha_3": "her", + "name": "Herero", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hgm", + "name": "Haiǁom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hgw", + "name": "Haigwai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hhi", + "name": "Hoia Hoia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hhr", + "name": "Kerak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hhy", + "name": "Hoyahoya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hia", + "name": "Lamang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hib", + "name": "Hibito", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "hid", + "name": "Hidatsa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hif", + "inverted_name": "Hindi, Fiji", + "name": "Fiji Hindi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hig", + "name": "Kamwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hih", + "name": "Pamosu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hii", + "name": "Hinduri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hij", + "name": "Hijuk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hik", + "name": "Seit-Kaitetu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hil", + "name": "Hiligaynon", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "hi", + "alpha_3": "hin", + "name": "Hindi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hio", + "name": "Tsoa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hir", + "name": "Himarimã", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hit", + "name": "Hittite", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "hiw", + "name": "Hiw", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hix", + "name": "Hixkaryána", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hji", + "name": "Haji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hka", + "name": "Kahe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hke", + "name": "Hunde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hkh", + "name": "Khah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hkk", + "name": "Hunjara-Kaina Ke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hkn", + "name": "Mel-Khaonh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hks", + "name": "Hong Kong Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hla", + "name": "Halia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hlb", + "name": "Halbi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hld", + "name": "Halang Doan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hle", + "name": "Hlersu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hlt", + "inverted_name": "Chin, Matu", + "name": "Matu Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hlu", + "inverted_name": "Luwian, Hieroglyphic", + "name": "Hieroglyphic Luwian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "hma", + "inverted_name": "Hmong, Southern Mashan", + "name": "Southern Mashan Hmong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmb", + "inverted_name": "Songhay, Humburi Senni", + "name": "Humburi Senni Songhay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmc", + "inverted_name": "Hmong, Central Huishui", + "name": "Central Huishui Hmong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmd", + "inverted_name": "Miao, Large Flowery", + "name": "Large Flowery Miao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hme", + "inverted_name": "Hmong, Eastern Huishui", + "name": "Eastern Huishui Hmong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmf", + "name": "Hmong Don", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmg", + "inverted_name": "Hmong, Southwestern Guiyang", + "name": "Southwestern Guiyang Hmong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmh", + "inverted_name": "Hmong, Southwestern Huishui", + "name": "Southwestern Huishui Hmong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmi", + "inverted_name": "Hmong, Northern Huishui", + "name": "Northern Huishui Hmong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmj", + "name": "Ge", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmk", + "name": "Maek", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "hml", + "inverted_name": "Hmong, Luopohe", + "name": "Luopohe Hmong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmm", + "inverted_name": "Hmong, Central Mashan", + "name": "Central Mashan Hmong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmn", + "name": "Hmong", + "scope": "M", + "type": "L" + }, + { + "alpha_2": "ho", + "alpha_3": "hmo", + "name": "Hiri Motu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmp", + "inverted_name": "Hmong, Northern Mashan", + "name": "Northern Mashan Hmong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmq", + "inverted_name": "Miao, Eastern Qiandong", + "name": "Eastern Qiandong Miao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmr", + "name": "Hmar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hms", + "inverted_name": "Miao, Southern Qiandong", + "name": "Southern Qiandong Miao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmt", + "name": "Hamtai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmu", + "name": "Hamap", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmv", + "name": "Hmong Dô", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmw", + "inverted_name": "Hmong, Western Mashan", + "name": "Western Mashan Hmong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmy", + "inverted_name": "Hmong, Southern Guiyang", + "name": "Southern Guiyang Hmong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hmz", + "name": "Hmong Shua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hna", + "name": "Mina (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hnd", + "inverted_name": "Hindko, Southern", + "name": "Southern Hindko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hne", + "name": "Chhattisgarhi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hng", + "name": "Hungu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hnh", + "name": "ǁAni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hni", + "name": "Hani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hnj", + "name": "Hmong Njua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hnn", + "name": "Hanunoo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hno", + "inverted_name": "Hindko, Northern", + "name": "Northern Hindko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hns", + "inverted_name": "Hindustani, Caribbean", + "name": "Caribbean Hindustani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hnu", + "name": "Hung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hoa", + "name": "Hoava", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hob", + "name": "Mari (Madang Province)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hoc", + "name": "Ho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hod", + "name": "Holma", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "hoe", + "name": "Horom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hoh", + "name": "Hobyót", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hoi", + "name": "Holikachuk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hoj", + "name": "Hadothi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hol", + "name": "Holu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hom", + "name": "Homa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "hoo", + "name": "Holoholo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hop", + "name": "Hopi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hor", + "name": "Horo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "hos", + "name": "Ho Chi Minh City Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hot", + "name": "Hote", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hov", + "name": "Hovongan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "how", + "name": "Honi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hoy", + "name": "Holiya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hoz", + "name": "Hozo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hpo", + "name": "Hpon", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "hps", + "name": "Hawai'i Sign Language (HSL)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hra", + "name": "Hrangkhol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hrc", + "name": "Niwer Mil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hre", + "name": "Hre", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hrk", + "name": "Haruku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hrm", + "inverted_name": "Miao, Horned", + "name": "Horned Miao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hro", + "name": "Haroi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hrp", + "name": "Nhirrpi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "hrt", + "name": "Hértevin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hru", + "name": "Hruso", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "hr", + "alpha_3": "hrv", + "name": "Croatian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hrw", + "name": "Warwar Feni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hrx", + "name": "Hunsrik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hrz", + "name": "Harzani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hsb", + "inverted_name": "Sorbian, Upper", + "name": "Upper Sorbian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hsh", + "name": "Hungarian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hsl", + "name": "Hausa Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hsn", + "inverted_name": "Chinese, Xiang", + "name": "Xiang Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hss", + "name": "Harsusi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hti", + "name": "Hoti", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "hto", + "inverted_name": "Huitoto, Minica", + "name": "Minica Huitoto", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hts", + "name": "Hadza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "htu", + "name": "Hitu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "htx", + "inverted_name": "Hittite, Middle", + "name": "Middle Hittite", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "hub", + "name": "Huambisa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "huc", + "name": "ǂHua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hud", + "name": "Huaulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hue", + "inverted_name": "Huave, San Francisco Del Mar", + "name": "San Francisco Del Mar Huave", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "huf", + "name": "Humene", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hug", + "name": "Huachipaeri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "huh", + "name": "Huilliche", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hui", + "name": "Huli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "huj", + "inverted_name": "Hmong, Northern Guiyang", + "name": "Northern Guiyang Hmong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "huk", + "name": "Hulung", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "hul", + "name": "Hula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hum", + "name": "Hungana", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "hu", + "alpha_3": "hun", + "name": "Hungarian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "huo", + "name": "Hu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hup", + "name": "Hupa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "huq", + "name": "Tsat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hur", + "name": "Halkomelem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hus", + "name": "Huastec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hut", + "name": "Humla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "huu", + "inverted_name": "Huitoto, Murui", + "name": "Murui Huitoto", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "huv", + "inverted_name": "Huave, San Mateo Del Mar", + "name": "San Mateo Del Mar Huave", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "huw", + "name": "Hukumina", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "hux", + "inverted_name": "Huitoto, Nüpode", + "name": "Nüpode Huitoto", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "huy", + "name": "Hulaulá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "huz", + "name": "Hunzib", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hvc", + "name": "Haitian Vodoun Culture Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hve", + "inverted_name": "Huave, San Dionisio Del Mar", + "name": "San Dionisio Del Mar Huave", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hvk", + "name": "Haveke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hvn", + "name": "Sabu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hvv", + "inverted_name": "Huave, Santa María Del Mar", + "name": "Santa María Del Mar Huave", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hwa", + "name": "Wané", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hwc", + "inverted_name": "Creole English, Hawai'i", + "name": "Hawai'i Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hwo", + "name": "Hwana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hya", + "name": "Hya", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "hy", + "alpha_3": "hye", + "bibliographic": "arm", + "name": "Armenian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "hyw", + "inverted_name": "Armenian, Western", + "name": "Western Armenian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iai", + "name": "Iaai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ian", + "name": "Iatmul", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iar", + "name": "Purari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iba", + "name": "Iban", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ibb", + "name": "Ibibio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ibd", + "name": "Iwaidja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ibe", + "name": "Akpes", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ibg", + "name": "Ibanag", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ibh", + "name": "Bih", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ibl", + "name": "Ibaloi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ibm", + "name": "Agoi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ibn", + "name": "Ibino", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ig", + "alpha_3": "ibo", + "name": "Igbo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ibr", + "name": "Ibuoro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ibu", + "name": "Ibu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iby", + "name": "Ibani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ica", + "name": "Ede Ica", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ich", + "name": "Etkywan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "icl", + "name": "Icelandic Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "icr", + "inverted_name": "Creole English, Islander", + "name": "Islander Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ida", + "name": "Idakho-Isukha-Tiriki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "idb", + "name": "Indo-Portuguese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "idc", + "name": "Idon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "idd", + "name": "Ede Idaca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ide", + "name": "Idere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "idi", + "name": "Idi", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "io", + "alpha_3": "ido", + "name": "Ido", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "idr", + "name": "Indri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ids", + "name": "Idesa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "idt", + "name": "Idaté", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "idu", + "name": "Idoma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ifa", + "inverted_name": "Ifugao, Amganad", + "name": "Amganad Ifugao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ifb", + "inverted_name": "Ifugao, Batad", + "name": "Batad Ifugao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ife", + "name": "Ifè", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iff", + "name": "Ifo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ifk", + "inverted_name": "Ifugao, Tuwali", + "name": "Tuwali Ifugao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ifm", + "name": "Teke-Fuumu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ifu", + "inverted_name": "Ifugao, Mayoyao", + "name": "Mayoyao Ifugao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ify", + "inverted_name": "Kallahan, Keley-I", + "name": "Keley-I Kallahan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "igb", + "name": "Ebira", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ige", + "name": "Igede", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "igg", + "name": "Igana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "igl", + "name": "Igala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "igm", + "name": "Kanggape", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ign", + "name": "Ignaciano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "igo", + "name": "Isebe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "igs", + "name": "Interglossa", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "igw", + "name": "Igwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ihb", + "name": "Iha Based Pidgin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ihi", + "name": "Ihievbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ihp", + "name": "Iha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ihw", + "name": "Bidhawal", + "scope": "I", + "type": "E" + }, + { + "alpha_2": "ii", + "alpha_3": "iii", + "inverted_name": "Yi, Sichuan", + "name": "Sichuan Yi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iin", + "name": "Thiin", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ijc", + "name": "Izon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ije", + "name": "Biseni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ijj", + "name": "Ede Ije", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ijn", + "name": "Kalabari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ijs", + "inverted_name": "Ijo, Southeast", + "name": "Southeast Ijo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ike", + "inverted_name": "Inuktitut, Eastern Canadian", + "name": "Eastern Canadian Inuktitut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iki", + "name": "Iko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ikk", + "name": "Ika", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ikl", + "name": "Ikulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iko", + "name": "Olulumo-Ikom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ikp", + "name": "Ikpeshi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ikr", + "name": "Ikaranggal", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "iks", + "name": "Inuit Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ikt", + "name": "Inuinnaqtun", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "iu", + "alpha_3": "iku", + "name": "Inuktitut", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "ikv", + "name": "Iku-Gora-Ankwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ikw", + "name": "Ikwere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ikx", + "name": "Ik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ikz", + "name": "Ikizu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ila", + "name": "Ile Ape", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ilb", + "name": "Ila", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ie", + "alpha_3": "ile", + "name": "Interlingue", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "ilg", + "name": "Garig-Ilgar", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ili", + "name": "Ili Turki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ilk", + "name": "Ilongot", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ilm", + "name": "Iranun (Malaysia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ilo", + "name": "Iloko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ilp", + "name": "Iranun (Philippines)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ils", + "name": "International Sign", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ilu", + "name": "Ili'uun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ilv", + "name": "Ilue", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ima", + "inverted_name": "Malasar, Mala", + "name": "Mala Malasar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "imi", + "name": "Anamgura", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iml", + "name": "Miluk", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "imn", + "name": "Imonda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "imo", + "name": "Imbongu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "imr", + "name": "Imroing", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ims", + "name": "Marsian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "imt", + "name": "Imotong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "imy", + "name": "Milyan", + "scope": "I", + "type": "A" + }, + { + "alpha_2": "ia", + "alpha_3": "ina", + "name": "Interlingua (International Auxiliary Language Association)", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "inb", + "name": "Inga", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "id", + "alpha_3": "ind", + "name": "Indonesian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ing", + "name": "Degexit'an", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "inh", + "name": "Ingush", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "inj", + "inverted_name": "Inga, Jungle", + "name": "Jungle Inga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "inl", + "name": "Indonesian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "inm", + "name": "Minaean", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "inn", + "name": "Isinai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ino", + "name": "Inoke-Yate", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "inp", + "name": "Iñapari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ins", + "name": "Indian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "int", + "name": "Intha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "inz", + "name": "Ineseño", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ior", + "name": "Inor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iou", + "name": "Tuma-Irumu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iow", + "name": "Iowa-Oto", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ipi", + "name": "Ipili", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ik", + "alpha_3": "ipk", + "name": "Inupiaq", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "ipo", + "name": "Ipiko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iqu", + "name": "Iquito", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iqw", + "name": "Ikwo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ire", + "name": "Iresim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "irh", + "name": "Irarutu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iri", + "name": "Rigwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "irk", + "name": "Iraqw", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "irn", + "name": "Irántxe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "irr", + "name": "Ir", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iru", + "name": "Irula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "irx", + "name": "Kamberau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iry", + "name": "Iraya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "isa", + "name": "Isabi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "isc", + "name": "Isconahua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "isd", + "name": "Isnag", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ise", + "name": "Italian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "isg", + "name": "Irish Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ish", + "name": "Esan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "isi", + "name": "Nkem-Nkum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "isk", + "name": "Ishkashimi", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "is", + "alpha_3": "isl", + "bibliographic": "ice", + "name": "Icelandic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ism", + "name": "Masimasi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "isn", + "name": "Isanzu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iso", + "name": "Isoko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "isr", + "name": "Israeli Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ist", + "name": "Istriot", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "isu", + "name": "Isu (Menchum Division)", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "it", + "alpha_3": "ita", + "name": "Italian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "itb", + "inverted_name": "Itneg, Binongan", + "name": "Binongan Itneg", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "itd", + "inverted_name": "Tidung, Southern", + "name": "Southern Tidung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ite", + "name": "Itene", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "iti", + "inverted_name": "Itneg, Inlaod", + "name": "Inlaod Itneg", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "itk", + "name": "Judeo-Italian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "itl", + "name": "Itelmen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "itm", + "name": "Itu Mbon Uzo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ito", + "name": "Itonama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "itr", + "name": "Iteri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "its", + "name": "Isekiri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "itt", + "inverted_name": "Itneg, Maeng", + "name": "Maeng Itneg", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "itv", + "name": "Itawit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "itw", + "name": "Ito", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "itx", + "name": "Itik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ity", + "inverted_name": "Itneg, Moyadan", + "name": "Moyadan Itneg", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "itz", + "name": "Itzá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ium", + "inverted_name": "Mien, Iu", + "name": "Iu Mien", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ivb", + "name": "Ibatan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ivv", + "name": "Ivatan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iwk", + "name": "I-Wak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iwm", + "name": "Iwam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iwo", + "name": "Iwur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iws", + "inverted_name": "Iwam, Sepik", + "name": "Sepik Iwam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ixc", + "name": "Ixcatec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ixl", + "name": "Ixil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iya", + "name": "Iyayu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iyo", + "name": "Mesaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "iyx", + "name": "Yaka (Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "izh", + "name": "Ingrian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "izr", + "name": "Izere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "izz", + "name": "Izii", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jaa", + "name": "Jamamadí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jab", + "name": "Hyam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jac", + "name": "Popti'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jad", + "name": "Jahanka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jae", + "name": "Yabem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jaf", + "name": "Jara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jah", + "name": "Jah Hut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jaj", + "name": "Zazao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jak", + "name": "Jakun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jal", + "name": "Yalahatan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jam", + "inverted_name": "Creole English, Jamaican", + "name": "Jamaican Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jan", + "name": "Jandai", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "jao", + "name": "Yanyuwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jaq", + "name": "Yaqay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jas", + "inverted_name": "Javanese, New Caledonian", + "name": "New Caledonian Javanese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jat", + "name": "Jakati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jau", + "name": "Yaur", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "jv", + "alpha_3": "jav", + "name": "Javanese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jax", + "inverted_name": "Malay, Jambi", + "name": "Jambi Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jay", + "name": "Yan-nhangu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jaz", + "name": "Jawe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jbe", + "name": "Judeo-Berber", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jbi", + "name": "Badjiri", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "jbj", + "name": "Arandai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jbk", + "name": "Barikewa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jbm", + "name": "Bijim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jbn", + "name": "Nafusi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jbo", + "name": "Lojban", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "jbr", + "name": "Jofotek-Bromnya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jbt", + "name": "Jabutí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jbu", + "name": "Jukun Takum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jbw", + "name": "Yawijibaya", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "jcs", + "name": "Jamaican Country Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jct", + "name": "Krymchak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jda", + "name": "Jad", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jdg", + "name": "Jadgali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jdt", + "name": "Judeo-Tat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jeb", + "name": "Jebero", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jee", + "name": "Jerung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jeh", + "name": "Jeh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jei", + "name": "Yei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jek", + "name": "Jeri Kuo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jel", + "name": "Yelmek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jen", + "name": "Dza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jer", + "name": "Jere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jet", + "name": "Manem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jeu", + "name": "Jonkor Bourmataguil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jgb", + "name": "Ngbee", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "jge", + "name": "Judeo-Georgian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jgk", + "name": "Gwak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jgo", + "name": "Ngomba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jhi", + "name": "Jehai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jhs", + "name": "Jhankot Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jia", + "name": "Jina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jib", + "name": "Jibu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jic", + "name": "Tol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jid", + "name": "Bu (Kaduna State)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jie", + "name": "Jilbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jig", + "name": "Jingulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jih", + "name": "sTodsde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jii", + "name": "Jiiddu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jil", + "name": "Jilim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jim", + "name": "Jimi (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jio", + "name": "Jiamao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jiq", + "name": "Guanyinqiao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jit", + "name": "Jita", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jiu", + "inverted_name": "Jinuo, Youle", + "name": "Youle Jinuo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jiv", + "name": "Shuar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jiy", + "inverted_name": "Jinuo, Buyuan", + "name": "Buyuan Jinuo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jje", + "name": "Jejueo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jjr", + "name": "Bankal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jka", + "name": "Kaera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jkm", + "inverted_name": "Karen, Mobwa", + "name": "Mobwa Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jko", + "name": "Kubo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jkp", + "inverted_name": "Karen, Paku", + "name": "Paku Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jkr", + "name": "Koro (India)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jks", + "name": "Amami Koniya Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jku", + "name": "Labir", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jle", + "name": "Ngile", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jls", + "name": "Jamaican Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jma", + "name": "Dima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jmb", + "name": "Zumbun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jmc", + "name": "Machame", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jmd", + "name": "Yamdena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jmi", + "name": "Jimi (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jml", + "name": "Jumli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jmn", + "inverted_name": "Naga, Makuri", + "name": "Makuri Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jmr", + "name": "Kamara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jms", + "name": "Mashi (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jmw", + "name": "Mouwase", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jmx", + "inverted_name": "Mixtec, Western Juxtlahuaca", + "name": "Western Juxtlahuaca Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jna", + "name": "Jangshung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jnd", + "name": "Jandavra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jng", + "name": "Yangman", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "jni", + "name": "Janji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jnj", + "name": "Yemsa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jnl", + "name": "Rawat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jns", + "name": "Jaunsari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "job", + "name": "Joba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jod", + "name": "Wojenaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jog", + "name": "Jogi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jor", + "name": "Jorá", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "jos", + "name": "Jordanian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jow", + "name": "Jowulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jpa", + "inverted_name": "Aramaic, Jewish Palestinian", + "name": "Jewish Palestinian Aramaic", + "scope": "I", + "type": "H" + }, + { + "alpha_2": "ja", + "alpha_3": "jpn", + "name": "Japanese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jpr", + "name": "Judeo-Persian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jqr", + "name": "Jaqaru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jra", + "name": "Jarai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jrb", + "name": "Judeo-Arabic", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "jrr", + "name": "Jiru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jrt", + "name": "Jakattoe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jru", + "name": "Japrería", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jsl", + "name": "Japanese Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jua", + "name": "Júma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jub", + "name": "Wannu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "juc", + "name": "Jurchen", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "jud", + "name": "Worodougou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "juh", + "name": "Hõne", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jui", + "name": "Ngadjuri", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "juk", + "name": "Wapan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jul", + "name": "Jirel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jum", + "name": "Jumjum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jun", + "name": "Juang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "juo", + "name": "Jiba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jup", + "name": "Hupdë", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jur", + "name": "Jurúna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jus", + "name": "Jumla Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jut", + "name": "Jutish", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "juu", + "name": "Ju", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "juw", + "name": "Wãpha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "juy", + "name": "Juray", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jvd", + "name": "Javindo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jvn", + "inverted_name": "Javanese, Caribbean", + "name": "Caribbean Javanese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jwi", + "name": "Jwira-Pepesa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jya", + "name": "Jiarong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jye", + "inverted_name": "Arabic, Judeo-Yemeni", + "name": "Judeo-Yemeni Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "jyy", + "name": "Jaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kaa", + "name": "Kara-Kalpak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kab", + "name": "Kabyle", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kac", + "name": "Kachin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kad", + "name": "Adara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kae", + "name": "Ketangalan", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kaf", + "name": "Katso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kag", + "name": "Kajaman", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kah", + "name": "Kara (Central African Republic)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kai", + "name": "Karekare", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kaj", + "name": "Jju", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kak", + "name": "Kalanguya", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "kl", + "alpha_3": "kal", + "name": "Kalaallisut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kam", + "name": "Kamba (Kenya)", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "kn", + "alpha_3": "kan", + "name": "Kannada", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kao", + "name": "Xaasongaxango", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kap", + "name": "Bezhta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kaq", + "name": "Capanahua", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ks", + "alpha_3": "kas", + "name": "Kashmiri", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ka", + "alpha_3": "kat", + "bibliographic": "geo", + "name": "Georgian", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "kr", + "alpha_3": "kau", + "name": "Kanuri", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "kav", + "name": "Katukína", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kaw", + "name": "Kawi", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "kax", + "name": "Kao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kay", + "name": "Kamayurá", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "kk", + "alpha_3": "kaz", + "name": "Kazakh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kba", + "name": "Kalarko", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kbb", + "name": "Kaxuiâna", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kbc", + "name": "Kadiwéu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbd", + "name": "Kabardian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbe", + "name": "Kanju", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbg", + "name": "Khamba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbh", + "name": "Camsá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbi", + "name": "Kaptiau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbj", + "name": "Kari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbk", + "inverted_name": "Koiari, Grass", + "name": "Grass Koiari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbl", + "name": "Kanembu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbm", + "name": "Iwal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbn", + "name": "Kare (Central African Republic)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbo", + "name": "Keliko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbp", + "name": "Kabiyè", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbq", + "name": "Kamano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbr", + "name": "Kafa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbs", + "name": "Kande", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbt", + "name": "Abadi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbu", + "name": "Kabutra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbv", + "name": "Dera (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbw", + "name": "Kaiep", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbx", + "name": "Ap Ma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kby", + "inverted_name": "Kanuri, Manga", + "name": "Manga Kanuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kbz", + "name": "Duhwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kca", + "name": "Khanty", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcb", + "name": "Kawacha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcc", + "name": "Lubila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcd", + "inverted_name": "Kanum, Ngkâlmpw", + "name": "Ngkâlmpw Kanum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kce", + "name": "Kaivi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcf", + "name": "Ukaan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcg", + "name": "Tyap", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kch", + "name": "Vono", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kci", + "name": "Kamantan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcj", + "name": "Kobiana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kck", + "name": "Kalanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcl", + "name": "Kela (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcm", + "name": "Gula (Central African Republic)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcn", + "name": "Nubi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kco", + "name": "Kinalakna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcp", + "name": "Kanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcq", + "name": "Kamo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcr", + "name": "Katla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcs", + "name": "Koenoem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kct", + "name": "Kaian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcu", + "name": "Kami (Tanzania)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcv", + "name": "Kete", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcw", + "name": "Kabwari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcx", + "name": "Kachama-Ganjule", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcy", + "name": "Korandje", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kcz", + "name": "Konongo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kda", + "name": "Worimi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kdc", + "name": "Kutu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdd", + "name": "Yankunytjatjara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kde", + "name": "Makonde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdf", + "name": "Mamusi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdg", + "name": "Seba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdh", + "name": "Tem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdi", + "name": "Kumam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdj", + "name": "Karamojong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdk", + "name": "Numèè", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdl", + "name": "Tsikimba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdm", + "name": "Kagoma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdn", + "name": "Kunda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdp", + "name": "Kaningdon-Nindem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdq", + "name": "Koch", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdr", + "name": "Karaim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdt", + "name": "Kuy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdu", + "name": "Kadaru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdw", + "name": "Koneraw", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdx", + "name": "Kam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdy", + "name": "Keder", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kdz", + "name": "Kwaja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kea", + "name": "Kabuverdianu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "keb", + "name": "Kélé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kec", + "name": "Keiga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ked", + "name": "Kerewe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kee", + "inverted_name": "Keres, Eastern", + "name": "Eastern Keres", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kef", + "name": "Kpessi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "keg", + "name": "Tese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "keh", + "name": "Keak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kei", + "name": "Kei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kej", + "name": "Kadar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kek", + "name": "Kekchí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kel", + "name": "Kela (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kem", + "name": "Kemak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ken", + "name": "Kenyang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "keo", + "name": "Kakwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kep", + "name": "Kaikadi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "keq", + "name": "Kamar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ker", + "name": "Kera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kes", + "name": "Kugbo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ket", + "name": "Ket", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "keu", + "name": "Akebu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kev", + "name": "Kanikkaran", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kew", + "inverted_name": "Kewa, West", + "name": "West Kewa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kex", + "name": "Kukna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "key", + "name": "Kupia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kez", + "name": "Kukele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfa", + "name": "Kodava", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfb", + "inverted_name": "Kolami, Northwestern", + "name": "Northwestern Kolami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfc", + "name": "Konda-Dora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfd", + "inverted_name": "Koraga, Korra", + "name": "Korra Koraga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfe", + "name": "Kota (India)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kff", + "name": "Koya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfg", + "name": "Kudiya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfh", + "name": "Kurichiya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfi", + "inverted_name": "Kurumba, Kannada", + "name": "Kannada Kurumba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfj", + "name": "Kemiehua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfk", + "name": "Kinnauri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfl", + "name": "Kung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfm", + "name": "Khunsari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfn", + "name": "Kuk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfo", + "name": "Koro (Côte d'Ivoire)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfp", + "name": "Korwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfq", + "name": "Korku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfr", + "name": "Kachhi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfs", + "name": "Bilaspuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kft", + "name": "Kanjari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfu", + "name": "Katkari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfv", + "name": "Kurmukar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfw", + "inverted_name": "Naga, Kharam", + "name": "Kharam Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfx", + "inverted_name": "Pahari, Kullu", + "name": "Kullu Pahari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfy", + "name": "Kumaoni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kfz", + "name": "Koromfé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kga", + "name": "Koyaga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgb", + "name": "Kawe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kge", + "name": "Komering", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgf", + "name": "Kube", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgg", + "name": "Kusunda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgi", + "name": "Selangor Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgj", + "inverted_name": "Kham, Gamale", + "name": "Gamale Kham", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgk", + "name": "Kaiwá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgl", + "name": "Kunggari", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kgm", + "name": "Karipúna", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kgn", + "name": "Karingani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgo", + "name": "Krongo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgp", + "name": "Kaingang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgq", + "name": "Kamoro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgr", + "name": "Abun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgs", + "name": "Kumbainggar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgt", + "name": "Somyev", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgu", + "name": "Kobol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgv", + "name": "Karas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgw", + "name": "Karon Dori", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgx", + "name": "Kamaru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kgy", + "name": "Kyerung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kha", + "name": "Khasi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khb", + "name": "Lü", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khc", + "name": "Tukang Besi North", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khd", + "inverted_name": "Kanum, Bädi", + "name": "Bädi Kanum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khe", + "name": "Korowai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khf", + "name": "Khuen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khg", + "inverted_name": "Tibetan, Khams", + "name": "Khams Tibetan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khh", + "name": "Kehu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khj", + "name": "Kuturmi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khk", + "inverted_name": "Mongolian, Halh", + "name": "Halh Mongolian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khl", + "name": "Lusi", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "km", + "alpha_3": "khm", + "name": "Khmer", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khn", + "name": "Khandesi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kho", + "name": "Khotanese", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "khp", + "name": "Kapori", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khq", + "inverted_name": "Songhay, Koyra Chiini", + "name": "Koyra Chiini Songhay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khr", + "name": "Kharia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khs", + "name": "Kasua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kht", + "name": "Khamti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khu", + "name": "Nkhumbi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khv", + "name": "Khvarshi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khw", + "name": "Khowar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khx", + "name": "Kanu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khy", + "name": "Kele (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "khz", + "name": "Keapara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kia", + "name": "Kim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kib", + "name": "Koalib", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kic", + "name": "Kickapoo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kid", + "name": "Koshin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kie", + "name": "Kibet", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kif", + "inverted_name": "Kham, Eastern Parbate", + "name": "Eastern Parbate Kham", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kig", + "name": "Kimaama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kih", + "name": "Kilmeri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kii", + "name": "Kitsai", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kij", + "name": "Kilivila", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ki", + "alpha_3": "kik", + "name": "Kikuyu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kil", + "name": "Kariya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kim", + "name": "Karagas", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "rw", + "alpha_3": "kin", + "name": "Kinyarwanda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kio", + "name": "Kiowa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kip", + "inverted_name": "Kham, Sheshi", + "name": "Sheshi Kham", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kiq", + "name": "Kosadle", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ky", + "alpha_3": "kir", + "name": "Kirghiz", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kis", + "name": "Kis", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kit", + "name": "Agob", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kiu", + "name": "Kirmanjki (individual language)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kiv", + "name": "Kimbu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kiw", + "inverted_name": "Kiwai, Northeast", + "name": "Northeast Kiwai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kix", + "inverted_name": "Naga, Khiamniungan", + "name": "Khiamniungan Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kiy", + "name": "Kirikiri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kiz", + "name": "Kisi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kja", + "name": "Mlap", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjb", + "name": "Q'anjob'al", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjc", + "inverted_name": "Konjo, Coastal", + "name": "Coastal Konjo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjd", + "inverted_name": "Kiwai, Southern", + "name": "Southern Kiwai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kje", + "name": "Kisar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjg", + "name": "Khmu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjh", + "name": "Khakas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kji", + "name": "Zabana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjj", + "name": "Khinalugh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjk", + "inverted_name": "Konjo, Highland", + "name": "Highland Konjo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjl", + "inverted_name": "Kham, Western Parbate", + "name": "Western Parbate Kham", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjm", + "name": "Kháng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjn", + "name": "Kunjen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjo", + "inverted_name": "Kinnauri, Harijan", + "name": "Harijan Kinnauri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjp", + "inverted_name": "Karen, Pwo Eastern", + "name": "Pwo Eastern Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjq", + "inverted_name": "Keres, Western", + "name": "Western Keres", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjr", + "name": "Kurudu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjs", + "inverted_name": "Kewa, East", + "name": "East Kewa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjt", + "inverted_name": "Karen, Phrae Pwo", + "name": "Phrae Pwo Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kju", + "name": "Kashaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjv", + "name": "Kaikavian Literary Language", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "kjx", + "name": "Ramopa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjy", + "name": "Erave", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kjz", + "name": "Bumthangkha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kka", + "name": "Kakanda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkb", + "name": "Kwerisa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkc", + "name": "Odoodee", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkd", + "name": "Kinuku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kke", + "name": "Kakabe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkf", + "inverted_name": "Monpa, Kalaktang", + "name": "Kalaktang Monpa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkg", + "inverted_name": "Kalinga, Mabaka Valley", + "name": "Mabaka Valley Kalinga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkh", + "name": "Khün", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kki", + "name": "Kagulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkj", + "name": "Kako", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkk", + "name": "Kokota", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkl", + "inverted_name": "Yale, Kosarek", + "name": "Kosarek Yale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkm", + "name": "Kiong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkn", + "name": "Kon Keu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kko", + "name": "Karko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkp", + "name": "Gugubera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkq", + "name": "Kaeku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkr", + "name": "Kir-Balar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kks", + "name": "Giiwo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkt", + "name": "Koi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kku", + "name": "Tumi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkv", + "name": "Kangean", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkw", + "name": "Teke-Kukuya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkx", + "name": "Kohin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kky", + "name": "Guugu Yimidhirr", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kkz", + "name": "Kaska", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kla", + "name": "Klamath-Modoc", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "klb", + "name": "Kiliwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klc", + "name": "Kolbila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kld", + "name": "Gamilaraay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kle", + "name": "Kulung (Nepal)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klf", + "name": "Kendeje", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klg", + "name": "Tagakaulo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klh", + "name": "Weliki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kli", + "name": "Kalumpang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klj", + "name": "Khalaj", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klk", + "name": "Kono (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kll", + "inverted_name": "Kalagan, Kagan", + "name": "Kagan Kalagan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klm", + "name": "Migum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kln", + "name": "Kalenjin", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "klo", + "name": "Kapya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klp", + "name": "Kamasa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klq", + "name": "Rumu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klr", + "name": "Khaling", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kls", + "name": "Kalasha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klt", + "name": "Nukna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klu", + "name": "Klao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klv", + "name": "Maskelynes", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klw", + "name": "Tado", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klx", + "name": "Koluwawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kly", + "name": "Kalao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "klz", + "name": "Kabola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kma", + "name": "Konni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmb", + "name": "Kimbundu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmc", + "inverted_name": "Dong, Southern", + "name": "Southern Dong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmd", + "inverted_name": "Kalinga, Majukayang", + "name": "Majukayang Kalinga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kme", + "name": "Bakole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmf", + "name": "Kare (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmg", + "name": "Kâte", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmh", + "name": "Kalam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmi", + "name": "Kami (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmj", + "name": "Kumarbhag Paharia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmk", + "inverted_name": "Kalinga, Limos", + "name": "Limos Kalinga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kml", + "inverted_name": "Kalinga, Tanudan", + "name": "Tanudan Kalinga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmm", + "name": "Kom (India)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmn", + "name": "Awtuw", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmo", + "name": "Kwoma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmp", + "name": "Gimme", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmq", + "name": "Kwama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmr", + "inverted_name": "Kurdish, Northern", + "name": "Northern Kurdish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kms", + "name": "Kamasau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmt", + "name": "Kemtuik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmu", + "name": "Kanite", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmv", + "inverted_name": "Creole French, Karipúna", + "name": "Karipúna Creole French", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmw", + "name": "Komo (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmx", + "name": "Waboda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmy", + "name": "Koma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kmz", + "name": "Khorasani Turkish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kna", + "name": "Dera (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knb", + "inverted_name": "Kalinga, Lubuagan", + "name": "Lubuagan Kalinga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knc", + "inverted_name": "Kanuri, Central", + "name": "Central Kanuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knd", + "name": "Konda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kne", + "name": "Kankanaey", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knf", + "name": "Mankanya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kng", + "name": "Koongo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kni", + "name": "Kanufi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knj", + "inverted_name": "Kanjobal, Western", + "name": "Western Kanjobal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knk", + "name": "Kuranko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knl", + "name": "Keninjal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knm", + "name": "Kanamarí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knn", + "name": "Konkani (individual language)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kno", + "name": "Kono (Sierra Leone)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knp", + "name": "Kwanja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knq", + "name": "Kintaq", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knr", + "name": "Kaningra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kns", + "name": "Kensiu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knt", + "inverted_name": "Katukína, Panoan", + "name": "Panoan Katukína", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knu", + "name": "Kono (Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knv", + "name": "Tabo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knw", + "name": "Kung-Ekoka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knx", + "name": "Kendayan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kny", + "name": "Kanyok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "knz", + "name": "Kalamsé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "koa", + "name": "Konomala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "koc", + "name": "Kpati", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kod", + "name": "Kodi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "koe", + "inverted_name": "Suri, Kacipo-Bale", + "name": "Kacipo-Bale Suri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kof", + "name": "Kubi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kog", + "name": "Cogui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "koh", + "name": "Koyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "koi", + "name": "Komi-Permyak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kok", + "name": "Konkani (macrolanguage)", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "kol", + "name": "Kol (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "kv", + "alpha_3": "kom", + "name": "Komi", + "scope": "M", + "type": "L" + }, + { + "alpha_2": "kg", + "alpha_3": "kon", + "name": "Kongo", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "koo", + "name": "Konzo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kop", + "name": "Waube", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "koq", + "name": "Kota (Gabon)", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ko", + "alpha_3": "kor", + "name": "Korean", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kos", + "name": "Kosraean", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kot", + "name": "Lagwan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kou", + "name": "Koke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kov", + "name": "Kudu-Camo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kow", + "name": "Kugama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "koy", + "name": "Koyukon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "koz", + "name": "Korak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpa", + "name": "Kutto", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpb", + "inverted_name": "Kurumba, Mullu", + "name": "Mullu Kurumba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpc", + "name": "Curripaco", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpd", + "name": "Koba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpe", + "name": "Kpelle", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "kpf", + "name": "Komba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpg", + "name": "Kapingamarangi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kph", + "name": "Kplang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpi", + "name": "Kofei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpj", + "name": "Karajá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpk", + "name": "Kpan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpl", + "name": "Kpala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpm", + "name": "Koho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpn", + "name": "Kepkiriwát", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kpo", + "name": "Ikposo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpq", + "name": "Korupun-Sela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpr", + "name": "Korafe-Yegha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kps", + "name": "Tehit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpt", + "name": "Karata", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpu", + "name": "Kafoa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpv", + "name": "Komi-Zyrian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpw", + "name": "Kobon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpx", + "inverted_name": "Koiali, Mountain", + "name": "Mountain Koiali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpy", + "name": "Koryak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kpz", + "name": "Kupsabiny", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqa", + "name": "Mum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqb", + "name": "Kovai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqc", + "name": "Doromu-Koki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqd", + "name": "Koy Sanjaq Surat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqe", + "name": "Kalagan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqf", + "name": "Kakabai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqg", + "name": "Khe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqh", + "name": "Kisankasa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqi", + "name": "Koitabu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqj", + "name": "Koromira", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqk", + "inverted_name": "Gbe, Kotafon", + "name": "Kotafon Gbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kql", + "name": "Kyenele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqm", + "name": "Khisa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqn", + "name": "Kaonde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqo", + "inverted_name": "Krahn, Eastern", + "name": "Eastern Krahn", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqp", + "name": "Kimré", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqq", + "name": "Krenak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqr", + "name": "Kimaragang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqs", + "inverted_name": "Kissi, Northern", + "name": "Northern Kissi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqt", + "inverted_name": "Kadazan, Klias River", + "name": "Klias River Kadazan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqu", + "name": "Seroa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kqv", + "name": "Okolod", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqw", + "name": "Kandas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqx", + "name": "Mser", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqy", + "name": "Koorete", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kqz", + "name": "Korana", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kra", + "name": "Kumhali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krb", + "name": "Karkin", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "krc", + "name": "Karachay-Balkar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krd", + "name": "Kairui-Midiki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kre", + "name": "Panará", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krf", + "name": "Koro (Vanuatu)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krh", + "name": "Kurama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kri", + "name": "Krio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krj", + "name": "Kinaray-A", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krk", + "name": "Kerek", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "krl", + "name": "Karelian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krn", + "name": "Sapo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krp", + "name": "Korop", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krr", + "name": "Krung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krs", + "name": "Gbaya (Sudan)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krt", + "inverted_name": "Kanuri, Tumari", + "name": "Tumari Kanuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kru", + "name": "Kurukh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krv", + "name": "Kavet", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krw", + "inverted_name": "Krahn, Western", + "name": "Western Krahn", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krx", + "name": "Karon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kry", + "name": "Kryts", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "krz", + "inverted_name": "Kanum, Sota", + "name": "Sota Kanum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksa", + "name": "Shuwa-Zamani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksb", + "name": "Shambala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksc", + "inverted_name": "Kalinga, Southern", + "name": "Southern Kalinga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksd", + "name": "Kuanua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kse", + "name": "Kuni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksf", + "name": "Bafia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksg", + "name": "Kusaghe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksh", + "name": "Kölsch", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksi", + "name": "Krisa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksj", + "name": "Uare", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksk", + "name": "Kansa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksl", + "name": "Kumalu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksm", + "name": "Kumba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksn", + "name": "Kasiguranin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kso", + "name": "Kofa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksp", + "name": "Kaba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksq", + "name": "Kwaami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksr", + "name": "Borong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kss", + "inverted_name": "Kisi, Southern", + "name": "Southern Kisi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kst", + "name": "Winyé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksu", + "name": "Khamyang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksv", + "name": "Kusu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksw", + "inverted_name": "Karen, S'gaw", + "name": "S'gaw Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksx", + "name": "Kedang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksy", + "name": "Kharia Thar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ksz", + "name": "Kodaku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kta", + "name": "Katua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktb", + "name": "Kambaata", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktc", + "name": "Kholok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktd", + "name": "Kokata", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kte", + "name": "Nubri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktf", + "name": "Kwami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktg", + "name": "Kalkutung", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kth", + "name": "Karanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kti", + "inverted_name": "Muyu, North", + "name": "North Muyu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktj", + "inverted_name": "Krumen, Plapo", + "name": "Plapo Krumen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktk", + "name": "Kaniet", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ktl", + "name": "Koroshi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktm", + "name": "Kurti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktn", + "name": "Karitiâna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kto", + "name": "Kuot", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktp", + "name": "Kaduo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktq", + "name": "Katabaga", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kts", + "inverted_name": "Muyu, South", + "name": "South Muyu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktt", + "name": "Ketum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktu", + "name": "Kituba (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktv", + "inverted_name": "Katu, Eastern", + "name": "Eastern Katu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktw", + "name": "Kato", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ktx", + "name": "Kaxararí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kty", + "name": "Kango (Bas-Uélé District)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ktz", + "name": "Juǀʼhoan", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "kj", + "alpha_3": "kua", + "name": "Kuanyama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kub", + "name": "Kutep", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kuc", + "name": "Kwinsu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kud", + "name": "'Auhelawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kue", + "name": "Kuman (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kuf", + "inverted_name": "Katu, Western", + "name": "Western Katu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kug", + "name": "Kupa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kuh", + "name": "Kushi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kui", + "name": "Kuikúro-Kalapálo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kuj", + "name": "Kuria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kuk", + "name": "Kepo'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kul", + "name": "Kulere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kum", + "name": "Kumyk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kun", + "name": "Kunama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kuo", + "name": "Kumukio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kup", + "name": "Kunimaipa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kuq", + "name": "Karipuna", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ku", + "alpha_3": "kur", + "name": "Kurdish", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "kus", + "name": "Kusaal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kut", + "name": "Kutenai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kuu", + "inverted_name": "Kuskokwim, Upper", + "name": "Upper Kuskokwim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kuv", + "name": "Kur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kuw", + "name": "Kpagua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kux", + "name": "Kukatja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kuy", + "name": "Kuuku-Ya'u", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kuz", + "name": "Kunza", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kva", + "name": "Bagvalal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvb", + "name": "Kubu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvc", + "name": "Kove", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvd", + "name": "Kui (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kve", + "name": "Kalabakan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvf", + "name": "Kabalai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvg", + "name": "Kuni-Boazi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvh", + "name": "Komodo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvi", + "name": "Kwang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvj", + "name": "Psikye", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvk", + "name": "Korean Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvl", + "name": "Kayaw", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvm", + "name": "Kendem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvn", + "inverted_name": "Kuna, Border", + "name": "Border Kuna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvo", + "name": "Dobel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvp", + "name": "Kompane", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvq", + "inverted_name": "Karen, Geba", + "name": "Geba Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvr", + "name": "Kerinci", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvt", + "inverted_name": "Karen, Lahta", + "name": "Lahta Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvu", + "inverted_name": "Karen, Yinbaw", + "name": "Yinbaw Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvv", + "name": "Kola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvw", + "name": "Wersing", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvx", + "inverted_name": "Koli, Parkari", + "name": "Parkari Koli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvy", + "inverted_name": "Karen, Yintale", + "name": "Yintale Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kvz", + "name": "Tsakwambo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwa", + "name": "Dâw", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwb", + "name": "Kwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwc", + "name": "Likwala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwd", + "name": "Kwaio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwe", + "name": "Kwerba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwf", + "name": "Kwara'ae", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwg", + "name": "Sara Kaba Deme", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwh", + "name": "Kowiai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwi", + "name": "Awa-Cuaiquer", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwj", + "name": "Kwanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwk", + "name": "Kwakiutl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwl", + "name": "Kofyar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwm", + "name": "Kwambi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwn", + "name": "Kwangali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwo", + "name": "Kwomtari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwp", + "name": "Kodia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwr", + "name": "Kwer", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kws", + "name": "Kwese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwt", + "name": "Kwesten", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwu", + "name": "Kwakum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwv", + "name": "Sara Kaba Náà", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kww", + "name": "Kwinti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwx", + "name": "Khirwar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwy", + "inverted_name": "Kongo, San Salvador", + "name": "San Salvador Kongo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kwz", + "name": "Kwadi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kxa", + "name": "Kairiru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxb", + "name": "Krobu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxc", + "name": "Konso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxd", + "name": "Brunei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxf", + "inverted_name": "Karen, Manumanaw", + "name": "Manumanaw Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxh", + "name": "Karo (Ethiopia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxi", + "inverted_name": "Murut, Keningau", + "name": "Keningau Murut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxj", + "name": "Kulfa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxk", + "inverted_name": "Karen, Zayein", + "name": "Zayein Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxm", + "inverted_name": "Khmer, Northern", + "name": "Northern Khmer", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxn", + "inverted_name": "Melanau, Kanowit-Tanjong", + "name": "Kanowit-Tanjong Melanau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxo", + "name": "Kanoé", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kxp", + "inverted_name": "Koli, Wadiyara", + "name": "Wadiyara Koli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxq", + "inverted_name": "Kanum, Smärky", + "name": "Smärky Kanum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxr", + "name": "Koro (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxs", + "name": "Kangjia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxt", + "name": "Koiwat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxv", + "name": "Kuvi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxw", + "name": "Konai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxx", + "name": "Likuba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxy", + "name": "Kayong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kxz", + "name": "Kerewo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kya", + "name": "Kwaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyb", + "inverted_name": "Kalinga, Butbut", + "name": "Butbut Kalinga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyc", + "name": "Kyaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyd", + "name": "Karey", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kye", + "name": "Krache", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyf", + "name": "Kouya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyg", + "name": "Keyagana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyh", + "name": "Karok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyi", + "name": "Kiput", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyj", + "name": "Karao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyk", + "name": "Kamayo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyl", + "name": "Kalapuya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kym", + "name": "Kpatili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyn", + "inverted_name": "Binukidnon, Northern", + "name": "Northern Binukidnon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyo", + "name": "Kelon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyp", + "name": "Kang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyq", + "name": "Kenga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyr", + "name": "Kuruáya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kys", + "inverted_name": "Kayan, Baram", + "name": "Baram Kayan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyt", + "name": "Kayagar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyu", + "inverted_name": "Kayah, Western", + "name": "Western Kayah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyv", + "name": "Kayort", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyw", + "name": "Kudmali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyx", + "name": "Rapoisi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyy", + "name": "Kambaira", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kyz", + "name": "Kayabí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kza", + "inverted_name": "Karaboro, Western", + "name": "Western Karaboro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzb", + "name": "Kaibobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzc", + "inverted_name": "Kulango, Bondoukou", + "name": "Bondoukou Kulango", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzd", + "name": "Kadai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kze", + "name": "Kosena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzf", + "inverted_name": "Kaili, Da'a", + "name": "Da'a Kaili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzg", + "name": "Kikai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzi", + "name": "Kelabit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzk", + "name": "Kazukuru", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kzl", + "name": "Kayeli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzm", + "name": "Kais", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzn", + "name": "Kokola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzo", + "name": "Kaningi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzp", + "name": "Kaidipang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzq", + "name": "Kaike", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzr", + "name": "Karang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzs", + "inverted_name": "Dusun, Sugut", + "name": "Sugut Dusun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzu", + "name": "Kayupulau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzv", + "name": "Komyandaret", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzw", + "name": "Karirí-Xocó", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kzx", + "name": "Kamarian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "kzy", + "name": "Kango (Tshopo District)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "kzz", + "name": "Kalabra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "laa", + "inverted_name": "Subanen, Southern", + "name": "Southern Subanen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lab", + "name": "Linear A", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "lac", + "name": "Lacandon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lad", + "name": "Ladino", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lae", + "name": "Pattani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "laf", + "name": "Lafofa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lag", + "name": "Langi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lah", + "name": "Lahnda", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "lai", + "name": "Lambya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "laj", + "name": "Lango (Uganda)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lal", + "name": "Lalia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lam", + "name": "Lamba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lan", + "name": "Laru", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "lo", + "alpha_3": "lao", + "name": "Lao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lap", + "name": "Laka (Chad)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "laq", + "name": "Qabiao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lar", + "name": "Larteh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "las", + "name": "Lama (Togo)", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "la", + "alpha_3": "lat", + "name": "Latin", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "lau", + "name": "Laba", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "lv", + "alpha_3": "lav", + "name": "Latvian", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "law", + "name": "Lauje", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lax", + "name": "Tiwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lay", + "inverted_name": "Bai, Lama", + "name": "Lama Bai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "laz", + "name": "Aribwatsa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "lbb", + "name": "Label", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbc", + "name": "Lakkia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbe", + "name": "Lak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbf", + "name": "Tinani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbg", + "name": "Laopang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbi", + "name": "La'bi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbj", + "name": "Ladakhi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbk", + "inverted_name": "Bontok, Central", + "name": "Central Bontok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbl", + "inverted_name": "Bikol, Libon", + "name": "Libon Bikol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbm", + "name": "Lodhi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbn", + "name": "Rmeet", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbo", + "name": "Laven", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbq", + "name": "Wampar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbr", + "name": "Lohorung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbs", + "name": "Libyan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbt", + "name": "Lachi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbu", + "name": "Labu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbv", + "name": "Lavatbura-Lamusong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbw", + "name": "Tolaki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lbx", + "name": "Lawangan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lby", + "name": "Lamalama", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "lbz", + "name": "Lardil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lcc", + "name": "Legenyem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lcd", + "name": "Lola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lce", + "name": "Loncong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lcf", + "name": "Lubu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lch", + "name": "Luchazi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lcl", + "name": "Lisela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lcm", + "name": "Tungag", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lcp", + "inverted_name": "Lawa, Western", + "name": "Western Lawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lcq", + "name": "Luhu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lcs", + "name": "Lisabata-Nuniali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lda", + "name": "Kla-Dan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ldb", + "name": "Dũya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ldd", + "name": "Luri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ldg", + "name": "Lenyima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ldh", + "name": "Lamja-Dengsa-Tola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ldi", + "name": "Laari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ldj", + "name": "Lemoro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ldk", + "name": "Leelau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ldl", + "name": "Kaan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ldm", + "name": "Landoma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ldn", + "name": "Láadan", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "ldo", + "name": "Loo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ldp", + "name": "Tso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ldq", + "name": "Lufu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lea", + "name": "Lega-Shabunda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "leb", + "name": "Lala-Bisa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lec", + "name": "Leco", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "led", + "name": "Lendu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lee", + "name": "Lyélé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lef", + "name": "Lelemi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "leh", + "name": "Lenje", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lei", + "name": "Lemio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lej", + "name": "Lengola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lek", + "name": "Leipon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lel", + "name": "Lele (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lem", + "name": "Nomaande", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "len", + "name": "Lenca", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "leo", + "name": "Leti (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lep", + "name": "Lepcha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "leq", + "name": "Lembena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ler", + "name": "Lenkau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "les", + "name": "Lese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "let", + "name": "Lesing-Gelimi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "leu", + "name": "Kara (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lev", + "name": "Lamma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lew", + "inverted_name": "Kaili, Ledo", + "name": "Ledo Kaili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lex", + "name": "Luang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ley", + "name": "Lemolang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lez", + "name": "Lezghian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lfa", + "name": "Lefa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lfn", + "name": "Lingua Franca Nova", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "lga", + "name": "Lungga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgb", + "name": "Laghu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgg", + "name": "Lugbara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgh", + "name": "Laghuu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgi", + "name": "Lengilu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgk", + "name": "Lingarak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgl", + "name": "Wala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgm", + "name": "Lega-Mwenga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgn", + "name": "T'apo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgo", + "name": "Lango (South Sudan)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgq", + "name": "Logba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgr", + "name": "Lengo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgt", + "name": "Pahi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgu", + "name": "Longgu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lgz", + "name": "Ligenza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lha", + "name": "Laha (Viet Nam)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lhh", + "name": "Laha (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lhi", + "name": "Lahu Shi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lhl", + "inverted_name": "Lohar, Lahul", + "name": "Lahul Lohar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lhm", + "name": "Lhomi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lhn", + "name": "Lahanan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lhp", + "name": "Lhokpu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lhs", + "name": "Mlahsö", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "lht", + "name": "Lo-Toga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lhu", + "name": "Lahu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lia", + "inverted_name": "Limba, West-Central", + "name": "West-Central Limba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lib", + "name": "Likum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lic", + "name": "Hlai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lid", + "name": "Nyindrou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lie", + "name": "Likila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lif", + "name": "Limbu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lig", + "name": "Ligbi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lih", + "name": "Lihir", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lij", + "name": "Ligurian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lik", + "name": "Lika", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lil", + "name": "Lillooet", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "li", + "alpha_3": "lim", + "name": "Limburgan", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ln", + "alpha_3": "lin", + "name": "Lingala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lio", + "name": "Liki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lip", + "name": "Sekpele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "liq", + "name": "Libido", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lir", + "inverted_name": "English, Liberian", + "name": "Liberian English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lis", + "name": "Lisu", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "lt", + "alpha_3": "lit", + "name": "Lithuanian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "liu", + "name": "Logorik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "liv", + "name": "Liv", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "liw", + "name": "Col", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lix", + "name": "Liabuku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "liy", + "name": "Banda-Bambari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "liz", + "name": "Libinza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lja", + "name": "Golpa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "lje", + "name": "Rampi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lji", + "name": "Laiyolo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ljl", + "name": "Li'o", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ljp", + "name": "Lampung Api", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ljw", + "name": "Yirandali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ljx", + "name": "Yuru", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "lka", + "name": "Lakalei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lkb", + "name": "Kabras", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lkc", + "name": "Kucong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lkd", + "name": "Lakondê", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lke", + "name": "Kenyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lkh", + "name": "Lakha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lki", + "name": "Laki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lkj", + "name": "Remun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lkl", + "name": "Laeko-Libuat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lkm", + "name": "Kalaamaya", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "lkn", + "name": "Lakon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lko", + "name": "Khayo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lkr", + "name": "Päri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lks", + "name": "Kisa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lkt", + "name": "Lakota", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lku", + "name": "Kungkari", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "lky", + "name": "Lokoya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lla", + "name": "Lala-Roba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "llb", + "name": "Lolo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "llc", + "name": "Lele (Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lld", + "name": "Ladin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lle", + "name": "Lele (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "llf", + "name": "Hermit", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "llg", + "name": "Lole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "llh", + "name": "Lamu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lli", + "name": "Teke-Laali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "llj", + "name": "Ladji Ladji", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "llk", + "name": "Lelak", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "lll", + "name": "Lilau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "llm", + "name": "Lasalimu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lln", + "name": "Lele (Chad)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "llp", + "inverted_name": "Efate, North", + "name": "North Efate", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "llq", + "name": "Lolak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lls", + "name": "Lithuanian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "llu", + "name": "Lau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "llx", + "name": "Lauan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lma", + "inverted_name": "Limba, East", + "name": "East Limba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmb", + "name": "Merei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmc", + "name": "Limilngan", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "lmd", + "name": "Lumun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lme", + "name": "Pévé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmf", + "inverted_name": "Lembata, South", + "name": "South Lembata", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmg", + "name": "Lamogai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmh", + "name": "Lambichhong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmi", + "name": "Lombi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmj", + "inverted_name": "Lembata, West", + "name": "West Lembata", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmk", + "name": "Lamkang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lml", + "name": "Hano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmn", + "name": "Lambadi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmo", + "name": "Lombard", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmp", + "name": "Limbum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmq", + "name": "Lamatuka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmr", + "name": "Lamalera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmu", + "name": "Lamenu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmv", + "name": "Lomaiviti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmw", + "inverted_name": "Miwok, Lake", + "name": "Lake Miwok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmx", + "name": "Laimbue", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lmy", + "name": "Lamboya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lna", + "name": "Langbashe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lnb", + "name": "Mbalanhu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lnd", + "name": "Lundayeh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lng", + "name": "Langobardic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "lnh", + "name": "Lanoh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lni", + "name": "Daantanai'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lnj", + "name": "Leningitij", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "lnl", + "inverted_name": "Banda, South Central", + "name": "South Central Banda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lnm", + "name": "Langam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lnn", + "name": "Lorediakarkar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lns", + "name": "Lamnso'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lnu", + "name": "Longuda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lnw", + "name": "Lanima", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "lnz", + "name": "Lonzo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "loa", + "name": "Loloda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lob", + "name": "Lobi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "loc", + "name": "Inonhan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "loe", + "name": "Saluan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lof", + "name": "Logol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "log", + "name": "Logo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "loh", + "name": "Narim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "loi", + "name": "Loma (Côte d'Ivoire)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "loj", + "name": "Lou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lok", + "name": "Loko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lol", + "name": "Mongo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lom", + "name": "Loma (Liberia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lon", + "inverted_name": "Lomwe, Malawi", + "name": "Malawi Lomwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "loo", + "name": "Lombo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lop", + "name": "Lopa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "loq", + "name": "Lobala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lor", + "name": "Téén", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "los", + "name": "Loniu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lot", + "name": "Otuho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lou", + "inverted_name": "Creole, Louisiana", + "name": "Louisiana Creole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lov", + "name": "Lopi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "low", + "inverted_name": "Lobu, Tampias", + "name": "Tampias Lobu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lox", + "name": "Loun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "loy", + "name": "Loke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "loz", + "name": "Lozi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lpa", + "name": "Lelepa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lpe", + "name": "Lepki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lpn", + "inverted_name": "Naga, Long Phuri", + "name": "Long Phuri Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lpo", + "name": "Lipo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lpx", + "name": "Lopit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lqr", + "name": "Logir", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lra", + "name": "Rara Bakati'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lrc", + "inverted_name": "Luri, Northern", + "name": "Northern Luri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lre", + "name": "Laurentian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "lrg", + "name": "Laragia", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "lri", + "name": "Marachi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lrk", + "name": "Loarki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lrl", + "name": "Lari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lrm", + "name": "Marama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lrn", + "name": "Lorang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lro", + "name": "Laro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lrr", + "inverted_name": "Yamphu, Southern", + "name": "Southern Yamphu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lrt", + "inverted_name": "Malay, Larantuka", + "name": "Larantuka Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lrv", + "name": "Larevat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lrz", + "name": "Lemerig", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsa", + "name": "Lasgerdi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsb", + "name": "Burundian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsc", + "name": "Albarradas Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsd", + "name": "Lishana Deni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lse", + "name": "Lusengo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsh", + "name": "Lish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsi", + "name": "Lashi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsl", + "name": "Latvian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsm", + "name": "Saamia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsn", + "name": "Tibetan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lso", + "name": "Laos Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsp", + "name": "Panamanian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsr", + "name": "Aruop", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lss", + "name": "Lasi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lst", + "name": "Trinidad and Tobago Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsv", + "name": "Sivia Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsw", + "name": "Seychelles Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lsy", + "name": "Mauritian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ltc", + "inverted_name": "Chinese, Late Middle", + "name": "Late Middle Chinese", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "ltg", + "name": "Latgalian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lth", + "name": "Thur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lti", + "name": "Leti (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ltn", + "name": "Latundê", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lto", + "name": "Tsotso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lts", + "name": "Tachoni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ltu", + "name": "Latu", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "lb", + "alpha_3": "ltz", + "name": "Luxembourgish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lua", + "name": "Luba-Lulua", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "lu", + "alpha_3": "lub", + "name": "Luba-Katanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "luc", + "name": "Aringa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lud", + "name": "Ludian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lue", + "name": "Luvale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "luf", + "name": "Laua", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "lg", + "alpha_3": "lug", + "name": "Ganda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lui", + "name": "Luiseno", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "luj", + "name": "Luna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "luk", + "name": "Lunanakha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lul", + "name": "Olu'bo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lum", + "name": "Luimbi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lun", + "name": "Lunda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "luo", + "name": "Luo (Kenya and Tanzania)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lup", + "name": "Lumbu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "luq", + "name": "Lucumi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lur", + "name": "Laura", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lus", + "name": "Lushai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lut", + "name": "Lushootseed", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "luu", + "name": "Lumba-Yakkha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "luv", + "name": "Luwati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "luw", + "name": "Luo (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "luy", + "name": "Luyia", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "luz", + "inverted_name": "Luri, Southern", + "name": "Southern Luri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lva", + "name": "Maku'a", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lvi", + "name": "Lavi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lvk", + "name": "Lavukaleve", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lvs", + "inverted_name": "Latvian, Standard", + "name": "Standard Latvian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lvu", + "name": "Levuka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lwa", + "name": "Lwalu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lwe", + "name": "Lewo Eleng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lwg", + "name": "Wanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lwh", + "inverted_name": "Lachi, White", + "name": "White Lachi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lwl", + "inverted_name": "Lawa, Eastern", + "name": "Eastern Lawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lwm", + "name": "Laomian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lwo", + "name": "Luwo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lws", + "name": "Malawian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lwt", + "name": "Lewotobi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lwu", + "name": "Lawu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lww", + "name": "Lewo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lxm", + "name": "Lakurumau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lya", + "name": "Layakha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lyg", + "name": "Lyngngam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lyn", + "name": "Luyana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lzh", + "inverted_name": "Chinese, Literary", + "name": "Literary Chinese", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "lzl", + "name": "Litzlitz", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lzn", + "inverted_name": "Naga, Leinong", + "name": "Leinong Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "lzz", + "name": "Laz", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "maa", + "inverted_name": "Mazatec, San Jerónimo Tecóatl", + "name": "San Jerónimo Tecóatl Mazatec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mab", + "inverted_name": "Mixtec, Yutanduchi", + "name": "Yutanduchi Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mad", + "name": "Madurese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mae", + "name": "Bo-Rukul", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "maf", + "name": "Mafa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mag", + "name": "Magahi", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "mh", + "alpha_3": "mah", + "name": "Marshallese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mai", + "name": "Maithili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "maj", + "inverted_name": "Mazatec, Jalapa De Díaz", + "name": "Jalapa De Díaz Mazatec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mak", + "name": "Makasar", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ml", + "alpha_3": "mal", + "name": "Malayalam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mam", + "name": "Mam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "man", + "name": "Mandingo", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "maq", + "inverted_name": "Mazatec, Chiquihuitlán", + "name": "Chiquihuitlán Mazatec", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "mr", + "alpha_3": "mar", + "name": "Marathi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mas", + "name": "Masai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mat", + "inverted_name": "Matlatzinca, San Francisco", + "name": "San Francisco Matlatzinca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mau", + "inverted_name": "Mazatec, Huautla", + "name": "Huautla Mazatec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mav", + "name": "Sateré-Mawé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "maw", + "name": "Mampruli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "max", + "inverted_name": "Malay, North Moluccan", + "name": "North Moluccan Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "maz", + "inverted_name": "Mazahua, Central", + "name": "Central Mazahua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mba", + "name": "Higaonon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbb", + "inverted_name": "Manobo, Western Bukidnon", + "name": "Western Bukidnon Manobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbc", + "name": "Macushi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbd", + "inverted_name": "Manobo, Dibabawon", + "name": "Dibabawon Manobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbe", + "name": "Molale", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mbf", + "inverted_name": "Malay, Baba", + "name": "Baba Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbh", + "name": "Mangseng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbi", + "inverted_name": "Manobo, Ilianen", + "name": "Ilianen Manobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbj", + "name": "Nadëb", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbk", + "name": "Malol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbl", + "name": "Maxakalí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbm", + "name": "Ombamba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbn", + "name": "Macaguán", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbo", + "name": "Mbo (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbp", + "name": "Malayo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbq", + "name": "Maisin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbr", + "name": "Nukak Makú", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbs", + "inverted_name": "Manobo, Sarangani", + "name": "Sarangani Manobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbt", + "inverted_name": "Manobo, Matigsalug", + "name": "Matigsalug Manobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbu", + "name": "Mbula-Bwazza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbv", + "name": "Mbulungish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbw", + "name": "Maring", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbx", + "name": "Mari (East Sepik Province)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mby", + "name": "Memoni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mbz", + "inverted_name": "Mixtec, Amoltepec", + "name": "Amoltepec Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mca", + "name": "Maca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcb", + "name": "Machiguenga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcc", + "name": "Bitur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcd", + "name": "Sharanahua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mce", + "inverted_name": "Mixtec, Itundujia", + "name": "Itundujia Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcf", + "name": "Matsés", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcg", + "name": "Mapoyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mch", + "name": "Maquiritari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mci", + "name": "Mese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcj", + "name": "Mvanip", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mck", + "name": "Mbunda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcl", + "name": "Macaguaje", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mcm", + "inverted_name": "Creole Portuguese, Malaccan", + "name": "Malaccan Creole Portuguese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcn", + "name": "Masana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mco", + "inverted_name": "Mixe, Coatlán", + "name": "Coatlán Mixe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcp", + "name": "Makaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcq", + "name": "Ese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcr", + "name": "Menya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcs", + "name": "Mambai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mct", + "name": "Mengisa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcu", + "inverted_name": "Mambila, Cameroon", + "name": "Cameroon Mambila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcv", + "name": "Minanibai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcw", + "name": "Mawa (Chad)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcx", + "name": "Mpiemo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcy", + "inverted_name": "Watut, South", + "name": "South Watut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mcz", + "name": "Mawan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mda", + "name": "Mada (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdb", + "name": "Morigi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdc", + "name": "Male (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdd", + "name": "Mbum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mde", + "name": "Maba (Chad)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdf", + "name": "Moksha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdg", + "name": "Massalat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdh", + "name": "Maguindanaon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdi", + "name": "Mamvu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdj", + "name": "Mangbetu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdk", + "name": "Mangbutu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdl", + "name": "Maltese Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdm", + "name": "Mayogo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdn", + "name": "Mbati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdp", + "name": "Mbala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdq", + "name": "Mbole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdr", + "name": "Mandar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mds", + "name": "Maria (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdt", + "name": "Mbere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdu", + "name": "Mboko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdv", + "inverted_name": "Mixtec, Santa Lucía Monteverde", + "name": "Santa Lucía Monteverde Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdw", + "name": "Mbosi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdx", + "name": "Dizin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdy", + "name": "Male (Ethiopia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mdz", + "name": "Suruí Do Pará", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mea", + "name": "Menka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "meb", + "name": "Ikobi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mec", + "name": "Marra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "med", + "name": "Melpa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mee", + "name": "Mengen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mef", + "name": "Megam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "meh", + "inverted_name": "Mixtec, Southwestern Tlaxiaco", + "name": "Southwestern Tlaxiaco Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mei", + "name": "Midob", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mej", + "name": "Meyah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mek", + "name": "Mekeo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mel", + "inverted_name": "Melanau, Central", + "name": "Central Melanau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mem", + "name": "Mangala", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "men", + "name": "Mende (Sierra Leone)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "meo", + "inverted_name": "Malay, Kedah", + "name": "Kedah Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mep", + "name": "Miriwoong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "meq", + "name": "Merey", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mer", + "name": "Meru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mes", + "name": "Masmaje", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "met", + "name": "Mato", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "meu", + "name": "Motu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mev", + "name": "Mano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mew", + "name": "Maaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mey", + "name": "Hassaniyya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mez", + "name": "Menominee", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfa", + "inverted_name": "Malay, Pattani", + "name": "Pattani Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfb", + "name": "Bangka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfc", + "name": "Mba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfd", + "name": "Mendankwe-Nkwen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfe", + "name": "Morisyen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mff", + "name": "Naki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfg", + "name": "Mogofin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfh", + "name": "Matal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfi", + "name": "Wandala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfj", + "name": "Mefele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfk", + "inverted_name": "Mofu, North", + "name": "North Mofu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfl", + "name": "Putai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfm", + "name": "Marghi South", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfn", + "inverted_name": "Mbembe, Cross River", + "name": "Cross River Mbembe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfo", + "name": "Mbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfp", + "inverted_name": "Malay, Makassar", + "name": "Makassar Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfq", + "name": "Moba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfr", + "name": "Marrithiyel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfs", + "name": "Mexican Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mft", + "name": "Mokerang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfu", + "name": "Mbwela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfv", + "name": "Mandjak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfw", + "name": "Mulaha", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mfx", + "name": "Melo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfy", + "name": "Mayo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mfz", + "name": "Mabaan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mga", + "inverted_name": "Irish, Middle (900-1200)", + "name": "Middle Irish (900-1200)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "mgb", + "name": "Mararit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgc", + "name": "Morokodo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgd", + "name": "Moru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mge", + "name": "Mango", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgf", + "name": "Maklew", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgg", + "name": "Mpumpong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgh", + "name": "Makhuwa-Meetto", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgi", + "name": "Lijili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgj", + "name": "Abureni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgk", + "name": "Mawes", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgl", + "name": "Maleu-Kilenge", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgm", + "name": "Mambae", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgn", + "name": "Mbangi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgo", + "name": "Meta'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgp", + "inverted_name": "Magar, Eastern", + "name": "Eastern Magar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgq", + "name": "Malila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgr", + "name": "Mambwe-Lungu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgs", + "name": "Manda (Tanzania)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgt", + "name": "Mongol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgu", + "name": "Mailu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgv", + "name": "Matengo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgw", + "name": "Matumbi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgy", + "name": "Mbunga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mgz", + "name": "Mbugwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mha", + "name": "Manda (India)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhb", + "name": "Mahongwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhc", + "name": "Mocho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhd", + "name": "Mbugu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhe", + "name": "Besisi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhf", + "name": "Mamaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhg", + "name": "Margu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhi", + "name": "Ma'di", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhj", + "name": "Mogholi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhk", + "name": "Mungaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhl", + "name": "Mauwake", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhm", + "name": "Makhuwa-Moniga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhn", + "name": "Mócheno", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mho", + "name": "Mashi (Zambia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhp", + "inverted_name": "Malay, Balinese", + "name": "Balinese Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhq", + "name": "Mandan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhr", + "inverted_name": "Mari, Eastern", + "name": "Eastern Mari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhs", + "name": "Buru (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mht", + "name": "Mandahuaca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhu", + "name": "Digaro-Mishmi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhw", + "name": "Mbukushu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhx", + "name": "Maru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhy", + "name": "Ma'anyan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mhz", + "name": "Mor (Mor Islands)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mia", + "name": "Miami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mib", + "inverted_name": "Mixtec, Atatláhuca", + "name": "Atatláhuca Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mic", + "name": "Mi'kmaq", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mid", + "name": "Mandaic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mie", + "inverted_name": "Mixtec, Ocotepec", + "name": "Ocotepec Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mif", + "name": "Mofu-Gudur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mig", + "inverted_name": "Mixtec, San Miguel El Grande", + "name": "San Miguel El Grande Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mih", + "inverted_name": "Mixtec, Chayuco", + "name": "Chayuco Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mii", + "inverted_name": "Mixtec, Chigmecatitlán", + "name": "Chigmecatitlán Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mij", + "name": "Abar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mik", + "name": "Mikasuki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mil", + "inverted_name": "Mixtec, Peñoles", + "name": "Peñoles Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mim", + "inverted_name": "Mixtec, Alacatlatzala", + "name": "Alacatlatzala Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "min", + "name": "Minangkabau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mio", + "inverted_name": "Mixtec, Pinotepa Nacional", + "name": "Pinotepa Nacional Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mip", + "inverted_name": "Mixtec, Apasco-Apoala", + "name": "Apasco-Apoala Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "miq", + "name": "Mískito", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mir", + "inverted_name": "Mixe, Isthmus", + "name": "Isthmus Mixe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mis", + "name": "Uncoded languages", + "scope": "S", + "type": "S" + }, + { + "alpha_3": "mit", + "inverted_name": "Mixtec, Southern Puebla", + "name": "Southern Puebla Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "miu", + "inverted_name": "Mixtec, Cacaloxtepec", + "name": "Cacaloxtepec Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "miw", + "name": "Akoye", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mix", + "inverted_name": "Mixtec, Mixtepec", + "name": "Mixtepec Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "miy", + "inverted_name": "Mixtec, Ayutla", + "name": "Ayutla Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "miz", + "inverted_name": "Mixtec, Coatzospan", + "name": "Coatzospan Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjb", + "name": "Makalero", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjc", + "inverted_name": "Mixtec, San Juan Colorado", + "name": "San Juan Colorado Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjd", + "inverted_name": "Maidu, Northwest", + "name": "Northwest Maidu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mje", + "name": "Muskum", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mjg", + "name": "Tu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjh", + "name": "Mwera (Nyasa)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mji", + "name": "Kim Mun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjj", + "name": "Mawak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjk", + "name": "Matukar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjl", + "name": "Mandeali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjm", + "name": "Medebur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjn", + "name": "Ma (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjo", + "name": "Malankuravan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjp", + "name": "Malapandaram", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjq", + "name": "Malaryan", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mjr", + "name": "Malavedan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjs", + "name": "Miship", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjt", + "name": "Sauria Paharia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mju", + "name": "Manna-Dora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjv", + "name": "Mannan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjw", + "name": "Karbi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjx", + "name": "Mahali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mjy", + "name": "Mahican", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mjz", + "name": "Majhi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mka", + "name": "Mbre", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkb", + "name": "Mal Paharia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkc", + "name": "Siliput", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "mk", + "alpha_3": "mkd", + "bibliographic": "mac", + "name": "Macedonian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mke", + "name": "Mawchi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkf", + "name": "Miya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkg", + "name": "Mak (China)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mki", + "name": "Dhatki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkj", + "name": "Mokilese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkk", + "name": "Byep", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkl", + "name": "Mokole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkm", + "name": "Moklen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkn", + "inverted_name": "Malay, Kupang", + "name": "Kupang Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mko", + "name": "Mingang Doso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkp", + "name": "Moikodi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkq", + "inverted_name": "Miwok, Bay", + "name": "Bay Miwok", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mkr", + "name": "Malas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mks", + "inverted_name": "Mixtec, Silacayoapan", + "name": "Silacayoapan Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkt", + "name": "Vamale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mku", + "inverted_name": "Maninka, Konyanka", + "name": "Konyanka Maninka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkv", + "name": "Mafea", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkw", + "name": "Kituba (Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkx", + "inverted_name": "Manobo, Kinamiging", + "name": "Kinamiging Manobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mky", + "inverted_name": "Makian, East", + "name": "East Makian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mkz", + "name": "Makasae", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mla", + "name": "Malo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlb", + "name": "Mbule", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlc", + "name": "Cao Lan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mle", + "name": "Manambu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlf", + "name": "Mal", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "mg", + "alpha_3": "mlg", + "name": "Malagasy", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "mlh", + "name": "Mape", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mli", + "name": "Malimpung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlj", + "name": "Miltu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlk", + "name": "Ilwana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mll", + "name": "Malua Bay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlm", + "name": "Mulam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mln", + "name": "Malango", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlo", + "name": "Mlomp", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlp", + "name": "Bargam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlq", + "inverted_name": "Maninkakan, Western", + "name": "Western Maninkakan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlr", + "name": "Vame", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mls", + "name": "Masalit", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "mt", + "alpha_3": "mlt", + "name": "Maltese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlu", + "name": "To'abaita", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlv", + "name": "Motlav", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlw", + "name": "Moloko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlx", + "name": "Malfaxal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mlz", + "name": "Malaynon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mma", + "name": "Mama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmb", + "name": "Momina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmc", + "inverted_name": "Mazahua, Michoacán", + "name": "Michoacán Mazahua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmd", + "name": "Maonan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mme", + "name": "Mae", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmf", + "name": "Mundat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmg", + "inverted_name": "Ambrym, North", + "name": "North Ambrym", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmh", + "name": "Mehináku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmi", + "name": "Musar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmj", + "name": "Majhwar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmk", + "name": "Mukha-Dora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mml", + "name": "Man Met", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmm", + "name": "Maii", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmn", + "name": "Mamanwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmo", + "inverted_name": "Buang, Mangga", + "name": "Mangga Buang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmp", + "name": "Siawi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmq", + "name": "Musak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmr", + "inverted_name": "Miao, Western Xiangxi", + "name": "Western Xiangxi Miao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmt", + "name": "Malalamai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmu", + "name": "Mmaala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmv", + "name": "Miriti", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mmw", + "name": "Emae", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmx", + "name": "Madak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmy", + "name": "Migaama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mmz", + "name": "Mabaale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mna", + "name": "Mbula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnb", + "name": "Muna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnc", + "name": "Manchu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnd", + "name": "Mondé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mne", + "name": "Naba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnf", + "name": "Mundani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mng", + "inverted_name": "Mnong, Eastern", + "name": "Eastern Mnong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnh", + "name": "Mono (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mni", + "name": "Manipuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnj", + "name": "Munji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnk", + "name": "Mandinka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnl", + "name": "Tiale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnm", + "name": "Mapena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnn", + "inverted_name": "Mnong, Southern", + "name": "Southern Mnong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnp", + "inverted_name": "Chinese, Min Bei", + "name": "Min Bei Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnq", + "name": "Minriq", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnr", + "name": "Mono (USA)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mns", + "name": "Mansi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnu", + "name": "Mer", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnv", + "name": "Rennell-Bellona", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnw", + "name": "Mon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnx", + "name": "Manikion", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mny", + "name": "Manyawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mnz", + "name": "Moni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "moa", + "name": "Mwan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "moc", + "name": "Mocoví", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mod", + "name": "Mobilian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "moe", + "name": "Innu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mog", + "name": "Mongondow", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "moh", + "name": "Mohawk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "moi", + "name": "Mboi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "moj", + "name": "Monzombo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mok", + "name": "Morori", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mom", + "name": "Mangue", + "scope": "I", + "type": "E" + }, + { + "alpha_2": "mn", + "alpha_3": "mon", + "name": "Mongolian", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "moo", + "name": "Monom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mop", + "name": "Mopán Maya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "moq", + "name": "Mor (Bomberai Peninsula)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mor", + "name": "Moro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mos", + "name": "Mossi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mot", + "name": "Barí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mou", + "name": "Mogum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mov", + "name": "Mohave", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mow", + "name": "Moi (Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mox", + "name": "Molima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "moy", + "name": "Shekkacho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "moz", + "name": "Mukulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpa", + "name": "Mpoto", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpb", + "name": "Malak Malak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpc", + "name": "Mangarrayi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpd", + "name": "Machinere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpe", + "name": "Majang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpg", + "name": "Marba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mph", + "name": "Maung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpi", + "name": "Mpade", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpj", + "name": "Martu Wangka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpk", + "name": "Mbara (Chad)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpl", + "inverted_name": "Watut, Middle", + "name": "Middle Watut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpm", + "inverted_name": "Mixtec, Yosondúa", + "name": "Yosondúa Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpn", + "name": "Mindiri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpo", + "name": "Miu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpp", + "name": "Migabac", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpq", + "name": "Matís", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpr", + "name": "Vangunu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mps", + "name": "Dadibi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpt", + "name": "Mian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpu", + "name": "Makuráp", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpv", + "name": "Mungkip", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpw", + "name": "Mapidian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpx", + "name": "Misima-Panaeati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpy", + "name": "Mapia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mpz", + "name": "Mpi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqa", + "name": "Maba (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqb", + "name": "Mbuko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqc", + "name": "Mangole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqe", + "name": "Matepi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqf", + "name": "Momuna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqg", + "inverted_name": "Malay, Kota Bangun Kutai", + "name": "Kota Bangun Kutai Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqh", + "inverted_name": "Mixtec, Tlazoyaltepec", + "name": "Tlazoyaltepec Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqi", + "name": "Mariri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqj", + "name": "Mamasa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqk", + "inverted_name": "Manobo, Rajah Kabunsuwan", + "name": "Rajah Kabunsuwan Manobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mql", + "name": "Mbelime", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqm", + "inverted_name": "Marquesan, South", + "name": "South Marquesan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqn", + "name": "Moronene", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqo", + "name": "Modole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqp", + "name": "Manipa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqq", + "name": "Minokok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqr", + "name": "Mander", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqs", + "inverted_name": "Makian, West", + "name": "West Makian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqt", + "name": "Mok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqu", + "name": "Mandari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqv", + "name": "Mosimo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqw", + "name": "Murupi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqx", + "name": "Mamuju", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqy", + "name": "Manggarai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mqz", + "name": "Pano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mra", + "name": "Mlabri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrb", + "name": "Marino", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrc", + "name": "Maricopa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrd", + "inverted_name": "Magar, Western", + "name": "Western Magar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mre", + "name": "Martha's Vineyard Sign Language", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mrf", + "name": "Elseng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrg", + "name": "Mising", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrh", + "inverted_name": "Chin, Mara", + "name": "Mara Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "mi", + "alpha_3": "mri", + "bibliographic": "mao", + "name": "Maori", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrj", + "inverted_name": "Mari, Western", + "name": "Western Mari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrk", + "name": "Hmwaveke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrl", + "name": "Mortlockese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrm", + "name": "Merlav", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrn", + "name": "Cheke Holo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mro", + "name": "Mru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrp", + "name": "Morouas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrq", + "inverted_name": "Marquesan, North", + "name": "North Marquesan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrr", + "name": "Maria (India)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrs", + "name": "Maragus", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrt", + "name": "Marghi Central", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mru", + "name": "Mono (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrv", + "name": "Mangareva", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrw", + "name": "Maranao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrx", + "name": "Maremgi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mry", + "name": "Mandaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mrz", + "name": "Marind", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ms", + "alpha_3": "msa", + "bibliographic": "may", + "name": "Malay (macrolanguage)", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "msb", + "name": "Masbatenyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msc", + "inverted_name": "Maninka, Sankaran", + "name": "Sankaran Maninka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msd", + "name": "Yucatec Maya Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mse", + "name": "Musey", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msf", + "name": "Mekwei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msg", + "name": "Moraid", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msh", + "inverted_name": "Malagasy, Masikoro", + "name": "Masikoro Malagasy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msi", + "inverted_name": "Malay, Sabah", + "name": "Sabah Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msj", + "name": "Ma (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msk", + "name": "Mansaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msl", + "name": "Molof", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msm", + "inverted_name": "Manobo, Agusan", + "name": "Agusan Manobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msn", + "name": "Vurës", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mso", + "name": "Mombum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msp", + "name": "Maritsauá", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "msq", + "name": "Caac", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msr", + "name": "Mongolian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mss", + "inverted_name": "Masela, West", + "name": "West Masela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msu", + "name": "Musom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msv", + "name": "Maslam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msw", + "name": "Mansoanka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msx", + "name": "Moresada", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msy", + "name": "Aruamu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "msz", + "name": "Momare", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mta", + "inverted_name": "Manobo, Cotabato", + "name": "Cotabato Manobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtb", + "name": "Anyin Morofo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtc", + "name": "Munit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtd", + "name": "Mualang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mte", + "name": "Mono (Solomon Islands)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtf", + "name": "Murik (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtg", + "name": "Una", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mth", + "name": "Munggui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mti", + "name": "Maiwa (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtj", + "name": "Moskona", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtk", + "name": "Mbe'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtl", + "name": "Montol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtm", + "name": "Mator", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mtn", + "name": "Matagalpa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mto", + "inverted_name": "Mixe, Totontepec", + "name": "Totontepec Mixe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtp", + "name": "Wichí Lhamtés Nocten", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtq", + "name": "Muong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtr", + "name": "Mewari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mts", + "name": "Yora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtt", + "name": "Mota", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtu", + "inverted_name": "Mixtec, Tututepec", + "name": "Tututepec Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtv", + "name": "Asaro'o", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtw", + "inverted_name": "Binukidnon, Southern", + "name": "Southern Binukidnon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mtx", + "inverted_name": "Mixtec, Tidaá", + "name": "Tidaá Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mty", + "name": "Nabi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mua", + "name": "Mundang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mub", + "name": "Mubi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "muc", + "name": "Ajumbu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mud", + "inverted_name": "Aleut, Mednyj", + "name": "Mednyj Aleut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mue", + "name": "Media Lengua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mug", + "name": "Musgu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "muh", + "name": "Mündü", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mui", + "name": "Musi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "muj", + "name": "Mabire", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "muk", + "name": "Mugom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mul", + "name": "Multiple languages", + "scope": "S", + "type": "S" + }, + { + "alpha_3": "mum", + "name": "Maiwala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "muo", + "name": "Nyong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mup", + "name": "Malvi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "muq", + "inverted_name": "Miao, Eastern Xiangxi", + "name": "Eastern Xiangxi Miao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mur", + "name": "Murle", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mus", + "name": "Creek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mut", + "inverted_name": "Muria, Western", + "name": "Western Muria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "muu", + "name": "Yaaku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "muv", + "name": "Muthuvan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mux", + "name": "Bo-Ung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "muy", + "name": "Muyang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "muz", + "name": "Mursi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mva", + "name": "Manam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvb", + "name": "Mattole", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mvd", + "name": "Mamboru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mve", + "name": "Marwari (Pakistan)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvf", + "inverted_name": "Mongolian, Peripheral", + "name": "Peripheral Mongolian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvg", + "inverted_name": "Mixtec, Yucuañe", + "name": "Yucuañe Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvh", + "name": "Mulgi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvi", + "name": "Miyako", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvk", + "name": "Mekmek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvl", + "name": "Mbara (Australia)", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mvn", + "name": "Minaveha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvo", + "name": "Marovo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvp", + "name": "Duri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvq", + "name": "Moere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvr", + "name": "Marau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvs", + "name": "Massep", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvt", + "name": "Mpotovoro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvu", + "name": "Marfa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvv", + "inverted_name": "Murut, Tagal", + "name": "Tagal Murut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvw", + "name": "Machinga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvx", + "name": "Meoswar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvy", + "inverted_name": "Kohistani, Indus", + "name": "Indus Kohistani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mvz", + "name": "Mesqan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwa", + "name": "Mwatebu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwb", + "name": "Juwal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwc", + "name": "Are", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwe", + "name": "Mwera (Chimwera)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwf", + "name": "Murrinh-Patha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwg", + "name": "Aiklep", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwh", + "name": "Mouk-Aria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwi", + "name": "Labo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwk", + "inverted_name": "Maninkakan, Kita", + "name": "Kita Maninkakan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwl", + "name": "Mirandese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwm", + "name": "Sar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwn", + "name": "Nyamwanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwo", + "inverted_name": "Maewo, Central", + "name": "Central Maewo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwp", + "name": "Kala Lagaw Ya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwq", + "inverted_name": "Chin, Mün", + "name": "Mün Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwr", + "name": "Marwari", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "mws", + "name": "Mwimbi-Muthambi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwt", + "name": "Moken", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwu", + "name": "Mittu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mwv", + "name": "Mentawai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mww", + "name": "Hmong Daw", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mwz", + "name": "Moingi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxa", + "inverted_name": "Mixtec, Northwest Oaxaca", + "name": "Northwest Oaxaca Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxb", + "inverted_name": "Mixtec, Tezoatlán", + "name": "Tezoatlán Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxc", + "name": "Manyika", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxd", + "name": "Modang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxe", + "name": "Mele-Fila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxf", + "name": "Malgbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxg", + "name": "Mbangala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxh", + "name": "Mvuba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxi", + "name": "Mozarabic", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "mxj", + "name": "Miju-Mishmi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxk", + "name": "Monumbo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxl", + "inverted_name": "Gbe, Maxi", + "name": "Maxi Gbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxm", + "name": "Meramera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxn", + "name": "Moi (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxo", + "name": "Mbowe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxp", + "inverted_name": "Mixe, Tlahuitoltepec", + "name": "Tlahuitoltepec Mixe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxq", + "inverted_name": "Mixe, Juquila", + "name": "Juquila Mixe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxr", + "name": "Murik (Malaysia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxs", + "inverted_name": "Mixtec, Huitepec", + "name": "Huitepec Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxt", + "inverted_name": "Mixtec, Jamiltepec", + "name": "Jamiltepec Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxu", + "name": "Mada (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxv", + "inverted_name": "Mixtec, Metlatónoc", + "name": "Metlatónoc Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxw", + "name": "Namo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxx", + "name": "Mahou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxy", + "inverted_name": "Mixtec, Southeastern Nochixtlán", + "name": "Southeastern Nochixtlán Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mxz", + "inverted_name": "Masela, Central", + "name": "Central Masela", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "my", + "alpha_3": "mya", + "bibliographic": "bur", + "name": "Burmese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myb", + "name": "Mbay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myc", + "name": "Mayeka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mye", + "name": "Myene", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myf", + "name": "Bambassi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myg", + "name": "Manta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myh", + "name": "Makah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myj", + "name": "Mangayat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myk", + "inverted_name": "Senoufo, Mamara", + "name": "Mamara Senoufo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myl", + "name": "Moma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mym", + "name": "Me'en", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myo", + "name": "Anfillo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myp", + "name": "Pirahã", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myr", + "name": "Muniche", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mys", + "name": "Mesmes", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "myu", + "name": "Mundurukú", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myv", + "name": "Erzya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myw", + "name": "Muyuw", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myx", + "name": "Masaaba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myy", + "name": "Macuna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "myz", + "inverted_name": "Mandaic, Classical", + "name": "Classical Mandaic", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "mza", + "inverted_name": "Mixtec, Santa María Zacatepec", + "name": "Santa María Zacatepec Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzb", + "name": "Tumzabt", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzc", + "name": "Madagascar Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzd", + "name": "Malimba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mze", + "name": "Morawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzg", + "name": "Monastic Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzh", + "name": "Wichí Lhamtés Güisnay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzi", + "inverted_name": "Mazatec, Ixcatlán", + "name": "Ixcatlán Mazatec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzj", + "name": "Manya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzk", + "inverted_name": "Mambila, Nigeria", + "name": "Nigeria Mambila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzl", + "inverted_name": "Mixe, Mazatlán", + "name": "Mazatlán Mixe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzm", + "name": "Mumuye", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzn", + "name": "Mazanderani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzo", + "name": "Matipuhy", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "mzp", + "name": "Movima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzq", + "name": "Mori Atas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzr", + "name": "Marúbo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzs", + "name": "Macanese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzt", + "name": "Mintil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzu", + "name": "Inapang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzv", + "name": "Manza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzw", + "name": "Deg", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzx", + "name": "Mawayana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzy", + "name": "Mozambican Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "mzz", + "name": "Maiadomu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "naa", + "name": "Namla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nab", + "inverted_name": "Nambikuára, Southern", + "name": "Southern Nambikuára", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nac", + "name": "Narak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nae", + "name": "Naka'ela", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "naf", + "name": "Nabak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nag", + "name": "Naga Pidgin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "naj", + "name": "Nalu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nak", + "name": "Nakanai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nal", + "name": "Nalik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nam", + "name": "Ngan'gityemerri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nan", + "inverted_name": "Chinese, Min Nan", + "name": "Min Nan Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nao", + "name": "Naaba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nap", + "name": "Neapolitan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "naq", + "name": "Khoekhoe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nar", + "name": "Iguta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nas", + "name": "Naasioi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nat", + "name": "Ca̱hungwa̱rya̱", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "na", + "alpha_3": "nau", + "name": "Nauru", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "nv", + "alpha_3": "nav", + "name": "Navajo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "naw", + "name": "Nawuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nax", + "name": "Nakwi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nay", + "name": "Ngarrindjeri", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "naz", + "inverted_name": "Nahuatl, Coatepec", + "name": "Coatepec Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nba", + "name": "Nyemba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbb", + "name": "Ndoe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbc", + "inverted_name": "Naga, Chang", + "name": "Chang Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbd", + "name": "Ngbinda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbe", + "inverted_name": "Naga, Konyak", + "name": "Konyak Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbg", + "name": "Nagarchal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbh", + "name": "Ngamo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbi", + "inverted_name": "Naga, Mao", + "name": "Mao Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbj", + "name": "Ngarinyman", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbk", + "name": "Nake", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "nr", + "alpha_3": "nbl", + "inverted_name": "Ndebele, South", + "name": "South Ndebele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbm", + "name": "Ngbaka Ma'bo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbn", + "name": "Kuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbo", + "name": "Nkukoli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbp", + "name": "Nnam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbq", + "name": "Nggem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbr", + "name": "Numana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbs", + "name": "Namibian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbt", + "name": "Na", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbu", + "inverted_name": "Naga, Rongmei", + "name": "Rongmei Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbv", + "name": "Ngamambo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nbw", + "inverted_name": "Ngbandi, Southern", + "name": "Southern Ngbandi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nby", + "name": "Ningera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nca", + "name": "Iyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncb", + "inverted_name": "Nicobarese, Central", + "name": "Central Nicobarese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncc", + "name": "Ponam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncd", + "name": "Nachering", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nce", + "name": "Yale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncf", + "name": "Notsi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncg", + "name": "Nisga'a", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nch", + "inverted_name": "Nahuatl, Central Huasteca", + "name": "Central Huasteca Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nci", + "inverted_name": "Nahuatl, Classical", + "name": "Classical Nahuatl", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "ncj", + "inverted_name": "Nahuatl, Northern Puebla", + "name": "Northern Puebla Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nck", + "name": "Na-kara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncl", + "inverted_name": "Nahuatl, Michoacán", + "name": "Michoacán Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncm", + "name": "Nambo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncn", + "name": "Nauna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nco", + "name": "Sibe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncq", + "inverted_name": "Katang, Northern", + "name": "Northern Katang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncr", + "name": "Ncane", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncs", + "name": "Nicaraguan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nct", + "inverted_name": "Naga, Chothe", + "name": "Chothe Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncu", + "name": "Chumburung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncx", + "inverted_name": "Nahuatl, Central Puebla", + "name": "Central Puebla Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ncz", + "name": "Natchez", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nda", + "name": "Ndasa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndb", + "name": "Kenswei Nsei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndc", + "name": "Ndau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndd", + "name": "Nde-Nsele-Nta", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "nd", + "alpha_3": "nde", + "inverted_name": "Ndebele, North", + "name": "North Ndebele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndf", + "name": "Nadruvian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "ndg", + "name": "Ndengereko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndh", + "name": "Ndali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndi", + "name": "Samba Leko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndj", + "name": "Ndamba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndk", + "name": "Ndaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndl", + "name": "Ndolo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndm", + "name": "Ndam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndn", + "name": "Ngundi", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ng", + "alpha_3": "ndo", + "name": "Ndonga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndp", + "name": "Ndo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndq", + "name": "Ndombe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndr", + "name": "Ndoola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nds", + "inverted_name": "German, Low", + "name": "Low German", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndt", + "name": "Ndunga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndu", + "name": "Dugun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndv", + "name": "Ndut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndw", + "name": "Ndobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndx", + "name": "Nduga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndy", + "name": "Lutos", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ndz", + "name": "Ndogo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nea", + "inverted_name": "Ngad'a, Eastern", + "name": "Eastern Ngad'a", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "neb", + "name": "Toura (Côte d'Ivoire)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nec", + "name": "Nedebang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ned", + "name": "Nde-Gbite", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nee", + "name": "Nêlêmwa-Nixumwak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nef", + "name": "Nefamese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "neg", + "name": "Negidal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "neh", + "name": "Nyenkha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nei", + "inverted_name": "Hittite, Neo-", + "name": "Neo-Hittite", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "nej", + "name": "Neko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nek", + "name": "Neku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nem", + "name": "Nemi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nen", + "name": "Nengone", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "neo", + "name": "Ná-Meo", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ne", + "alpha_3": "nep", + "name": "Nepali (macrolanguage)", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "neq", + "inverted_name": "Mixe, North Central", + "name": "North Central Mixe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ner", + "name": "Yahadian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nes", + "inverted_name": "Kinnauri, Bhoti", + "name": "Bhoti Kinnauri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "net", + "name": "Nete", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "neu", + "name": "Neo", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "nev", + "name": "Nyaheun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "new", + "name": "Newari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nex", + "name": "Neme", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ney", + "name": "Neyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nez", + "name": "Nez Perce", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nfa", + "name": "Dhao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nfd", + "name": "Ahwai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nfl", + "name": "Ayiwo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nfr", + "name": "Nafaanra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nfu", + "name": "Mfumte", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nga", + "name": "Ngbaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngb", + "inverted_name": "Ngbandi, Northern", + "name": "Northern Ngbandi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngc", + "name": "Ngombe (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngd", + "name": "Ngando (Central African Republic)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nge", + "name": "Ngemba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngg", + "name": "Ngbaka Manza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngh", + "name": "Nǁng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngi", + "name": "Ngizim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngj", + "name": "Ngie", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngk", + "name": "Dalabon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngl", + "name": "Lomwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngm", + "name": "Ngatik Men's Creole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngn", + "name": "Ngwo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngp", + "name": "Ngulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngq", + "name": "Ngurimi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngr", + "name": "Engdewu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngs", + "name": "Gvoko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngt", + "name": "Kriang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngu", + "inverted_name": "Nahuatl, Guerrero", + "name": "Guerrero Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngv", + "name": "Nagumi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ngw", + "name": "Ngwaba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngx", + "name": "Nggwahyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngy", + "name": "Tibea", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ngz", + "name": "Ngungwel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nha", + "name": "Nhanda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhb", + "name": "Beng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhc", + "inverted_name": "Nahuatl, Tabasco", + "name": "Tabasco Nahuatl", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nhd", + "name": "Chiripá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhe", + "inverted_name": "Nahuatl, Eastern Huasteca", + "name": "Eastern Huasteca Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhf", + "name": "Nhuwala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhg", + "inverted_name": "Nahuatl, Tetelcingo", + "name": "Tetelcingo Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhh", + "name": "Nahari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhi", + "inverted_name": "Nahuatl, Zacatlán-Ahuacatlán-Tepetzintla", + "name": "Zacatlán-Ahuacatlán-Tepetzintla Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhk", + "inverted_name": "Nahuatl, Isthmus-Cosoleacaque", + "name": "Isthmus-Cosoleacaque Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhm", + "inverted_name": "Nahuatl, Morelos", + "name": "Morelos Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhn", + "inverted_name": "Nahuatl, Central", + "name": "Central Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nho", + "name": "Takuu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhp", + "inverted_name": "Nahuatl, Isthmus-Pajapan", + "name": "Isthmus-Pajapan Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhq", + "inverted_name": "Nahuatl, Huaxcaleca", + "name": "Huaxcaleca Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhr", + "name": "Naro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nht", + "inverted_name": "Nahuatl, Ometepec", + "name": "Ometepec Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhu", + "name": "Noone", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhv", + "inverted_name": "Nahuatl, Temascaltepec", + "name": "Temascaltepec Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhw", + "inverted_name": "Nahuatl, Western Huasteca", + "name": "Western Huasteca Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhx", + "inverted_name": "Nahuatl, Isthmus-Mecayapan", + "name": "Isthmus-Mecayapan Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhy", + "inverted_name": "Nahuatl, Northern Oaxaca", + "name": "Northern Oaxaca Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nhz", + "inverted_name": "Nahuatl, Santa María La Alta", + "name": "Santa María La Alta Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nia", + "name": "Nias", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nib", + "name": "Nakame", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nid", + "name": "Ngandi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nie", + "name": "Niellim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nif", + "name": "Nek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nig", + "name": "Ngalakgan", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nih", + "name": "Nyiha (Tanzania)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nii", + "name": "Nii", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nij", + "name": "Ngaju", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nik", + "inverted_name": "Nicobarese, Southern", + "name": "Southern Nicobarese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nil", + "name": "Nila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nim", + "name": "Nilamba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nin", + "name": "Ninzo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nio", + "name": "Nganasan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "niq", + "name": "Nandi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nir", + "name": "Nimboran", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nis", + "name": "Nimi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nit", + "inverted_name": "Kolami, Southeastern", + "name": "Southeastern Kolami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "niu", + "name": "Niuean", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "niv", + "name": "Gilyak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "niw", + "name": "Nimo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nix", + "name": "Hema", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "niy", + "name": "Ngiti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "niz", + "name": "Ningil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nja", + "name": "Nzanyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njb", + "inverted_name": "Naga, Nocte", + "name": "Nocte Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njd", + "name": "Ndonde Hamba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njh", + "inverted_name": "Naga, Lotha", + "name": "Lotha Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nji", + "name": "Gudanji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njj", + "name": "Njen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njl", + "name": "Njalgulgule", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njm", + "inverted_name": "Naga, Angami", + "name": "Angami Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njn", + "inverted_name": "Naga, Liangmai", + "name": "Liangmai Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njo", + "inverted_name": "Naga, Ao", + "name": "Ao Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njr", + "name": "Njerep", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njs", + "name": "Nisa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njt", + "name": "Ndyuka-Trio Pidgin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nju", + "name": "Ngadjunmaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njx", + "name": "Kunyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njy", + "name": "Njyem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "njz", + "name": "Nyishi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nka", + "name": "Nkoya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkb", + "inverted_name": "Naga, Khoibu", + "name": "Khoibu Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkc", + "name": "Nkongho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkd", + "name": "Koireng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nke", + "name": "Duke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkf", + "inverted_name": "Naga, Inpui", + "name": "Inpui Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkg", + "name": "Nekgini", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkh", + "inverted_name": "Naga, Khezha", + "name": "Khezha Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nki", + "inverted_name": "Naga, Thangal", + "name": "Thangal Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkj", + "name": "Nakai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkk", + "name": "Nokuku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkm", + "name": "Namat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkn", + "name": "Nkangala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nko", + "name": "Nkonya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkp", + "name": "Niuatoputapu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nkq", + "name": "Nkami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkr", + "name": "Nukuoro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nks", + "inverted_name": "Asmat, North", + "name": "North Asmat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkt", + "name": "Nyika (Tanzania)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nku", + "inverted_name": "Kulango, Bouna", + "name": "Bouna Kulango", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkv", + "name": "Nyika (Malawi and Zambia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkw", + "name": "Nkutu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkx", + "name": "Nkoroo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nkz", + "name": "Nkari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nla", + "name": "Ngombale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nlc", + "name": "Nalca", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "nl", + "alpha_3": "nld", + "bibliographic": "dut", + "name": "Dutch", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nle", + "inverted_name": "Nyala, East", + "name": "East Nyala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nlg", + "name": "Gela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nli", + "name": "Grangali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nlj", + "name": "Nyali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nlk", + "inverted_name": "Yali, Ninia", + "name": "Ninia Yali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nll", + "name": "Nihali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nlm", + "name": "Mankiyali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nlo", + "name": "Ngul", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nlq", + "inverted_name": "Naga, Lao", + "name": "Lao Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nlu", + "name": "Nchumbulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nlv", + "inverted_name": "Nahuatl, Orizaba", + "name": "Orizaba Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nlw", + "name": "Walangama", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nlx", + "name": "Nahali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nly", + "name": "Nyamal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nlz", + "name": "Nalögo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nma", + "inverted_name": "Naga, Maram", + "name": "Maram Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmb", + "inverted_name": "Nambas, Big", + "name": "Big Nambas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmc", + "name": "Ngam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmd", + "name": "Ndumu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nme", + "inverted_name": "Naga, Mzieme", + "name": "Mzieme Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmf", + "inverted_name": "Naga, Tangkhul (India)", + "name": "Tangkhul Naga (India)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmg", + "name": "Kwasio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmh", + "inverted_name": "Naga, Monsang", + "name": "Monsang Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmi", + "name": "Nyam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmj", + "name": "Ngombe (Central African Republic)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmk", + "name": "Namakura", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nml", + "name": "Ndemli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmm", + "name": "Manangba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmn", + "name": "ǃXóõ", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmo", + "inverted_name": "Naga, Moyon", + "name": "Moyon Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmp", + "name": "Nimanbur", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nmq", + "name": "Nambya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmr", + "name": "Nimbari", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nms", + "name": "Letemboi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmt", + "name": "Namonuito", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmu", + "inverted_name": "Maidu, Northeast", + "name": "Northeast Maidu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmv", + "name": "Ngamini", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nmw", + "name": "Nimoa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmx", + "name": "Nama (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmy", + "name": "Namuyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nmz", + "name": "Nawdm", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nna", + "name": "Nyangumarta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnb", + "name": "Nande", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnc", + "name": "Nancere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnd", + "inverted_name": "Ambae, West", + "name": "West Ambae", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nne", + "name": "Ngandyera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnf", + "name": "Ngaing", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nng", + "inverted_name": "Naga, Maring", + "name": "Maring Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnh", + "name": "Ngiemboon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nni", + "inverted_name": "Nuaulu, North", + "name": "North Nuaulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnj", + "name": "Nyangatom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnk", + "name": "Nankina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnl", + "inverted_name": "Naga, Northern Rengma", + "name": "Northern Rengma Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnm", + "name": "Namia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnn", + "name": "Ngete", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "nn", + "alpha_3": "nno", + "name": "Norwegian Nynorsk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnp", + "inverted_name": "Naga, Wancho", + "name": "Wancho Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnq", + "name": "Ngindo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnr", + "name": "Narungga", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nnt", + "name": "Nanticoke", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nnu", + "name": "Dwang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nnv", + "name": "Nugunu (Australia)", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nnw", + "inverted_name": "Nuni, Southern", + "name": "Southern Nuni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nny", + "name": "Nyangga", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nnz", + "name": "Nda'nda'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "noa", + "name": "Woun Meu", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "nb", + "alpha_3": "nob", + "name": "Norwegian Bokmål", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "noc", + "name": "Nuk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nod", + "inverted_name": "Thai, Northern", + "name": "Northern Thai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "noe", + "name": "Nimadi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nof", + "name": "Nomane", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nog", + "name": "Nogai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "noh", + "name": "Nomu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "noi", + "name": "Noiri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "noj", + "name": "Nonuya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nok", + "name": "Nooksack", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nol", + "name": "Nomlaki", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nom", + "name": "Nocamán", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "non", + "inverted_name": "Norse, Old", + "name": "Old Norse", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "nop", + "name": "Numanggang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "noq", + "name": "Ngongo", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "no", + "alpha_3": "nor", + "name": "Norwegian", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "nos", + "inverted_name": "Nisu, Eastern", + "name": "Eastern Nisu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "not", + "name": "Nomatsiguenga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nou", + "name": "Ewage-Notu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nov", + "name": "Novial", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "now", + "name": "Nyambo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "noy", + "name": "Noy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "noz", + "name": "Nayi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "npa", + "name": "Nar Phu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "npb", + "name": "Nupbikha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "npg", + "inverted_name": "Naga, Ponyo-Gongwang", + "name": "Ponyo-Gongwang Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nph", + "inverted_name": "Naga, Phom", + "name": "Phom Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "npi", + "name": "Nepali (individual language)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "npl", + "inverted_name": "Nahuatl, Southeastern Puebla", + "name": "Southeastern Puebla Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "npn", + "name": "Mondropolon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "npo", + "inverted_name": "Naga, Pochuri", + "name": "Pochuri Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nps", + "name": "Nipsan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "npu", + "inverted_name": "Naga, Puimei", + "name": "Puimei Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "npx", + "name": "Noipx", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "npy", + "name": "Napu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nqg", + "inverted_name": "Nago, Southern", + "name": "Southern Nago", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nqk", + "inverted_name": "Ede Nago, Kura", + "name": "Kura Ede Nago", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nql", + "name": "Ngendelengo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nqm", + "name": "Ndom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nqn", + "name": "Nen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nqo", + "name": "N'Ko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nqq", + "inverted_name": "Naga, Kyan-Karyaw", + "name": "Kyan-Karyaw Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nqt", + "name": "Nteng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nqy", + "inverted_name": "Naga, Akyaung Ari", + "name": "Akyaung Ari Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nra", + "name": "Ngom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nrb", + "name": "Nara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nrc", + "name": "Noric", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "nre", + "inverted_name": "Naga, Southern Rengma", + "name": "Southern Rengma Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nrf", + "name": "Jèrriais", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nrg", + "name": "Narango", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nri", + "inverted_name": "Naga, Chokri", + "name": "Chokri Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nrk", + "name": "Ngarla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nrl", + "name": "Ngarluma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nrm", + "name": "Narom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nrn", + "name": "Norn", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nrp", + "inverted_name": "Picene, North", + "name": "North Picene", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "nrr", + "name": "Norra", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nrt", + "inverted_name": "Kalapuya, Northern", + "name": "Northern Kalapuya", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nru", + "name": "Narua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nrx", + "name": "Ngurmbur", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nrz", + "name": "Lala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsa", + "inverted_name": "Naga, Sangtam", + "name": "Sangtam Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsb", + "name": "Lower Nossob", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nsc", + "name": "Nshi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsd", + "inverted_name": "Nisu, Southern", + "name": "Southern Nisu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nse", + "name": "Nsenga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsf", + "inverted_name": "Nisu, Northwestern", + "name": "Northwestern Nisu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsg", + "name": "Ngasa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsh", + "name": "Ngoshie", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsi", + "name": "Nigerian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsk", + "name": "Naskapi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsl", + "name": "Norwegian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsm", + "inverted_name": "Naga, Sumi", + "name": "Sumi Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsn", + "name": "Nehan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nso", + "name": "Pedi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsp", + "name": "Nepalese Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsq", + "inverted_name": "Miwok, Northern Sierra", + "name": "Northern Sierra Miwok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsr", + "name": "Maritime Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nss", + "name": "Nali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nst", + "inverted_name": "Naga, Tase", + "name": "Tase Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsu", + "inverted_name": "Nahuatl, Sierra Negra", + "name": "Sierra Negra Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsv", + "inverted_name": "Nisu, Southwestern", + "name": "Southwestern Nisu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsw", + "name": "Navut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsx", + "name": "Nsongo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsy", + "name": "Nasal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nsz", + "name": "Nisenan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ntd", + "inverted_name": "Tidung, Northern", + "name": "Northern Tidung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nte", + "name": "Nathembo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ntg", + "name": "Ngantangarra", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nti", + "name": "Natioro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ntj", + "name": "Ngaanyatjarra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ntk", + "name": "Ikoma-Nata-Isenye", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ntm", + "name": "Nateni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nto", + "name": "Ntomba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ntp", + "inverted_name": "Tepehuan, Northern", + "name": "Northern Tepehuan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ntr", + "name": "Delo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ntu", + "name": "Natügu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ntw", + "name": "Nottoway", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ntx", + "inverted_name": "Naga, Tangkhul (Myanmar)", + "name": "Tangkhul Naga (Myanmar)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nty", + "name": "Mantsi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ntz", + "name": "Natanzi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nua", + "name": "Yuanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nuc", + "name": "Nukuini", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nud", + "name": "Ngala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nue", + "name": "Ngundu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nuf", + "name": "Nusu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nug", + "name": "Nungali", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nuh", + "name": "Ndunda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nui", + "name": "Ngumbi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nuj", + "name": "Nyole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nuk", + "name": "Nuu-chah-nulth", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nul", + "name": "Nusa Laut", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "num", + "name": "Niuafo'ou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nun", + "name": "Anong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nuo", + "name": "Nguôn", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nup", + "name": "Nupe-Nupe-Tako", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nuq", + "name": "Nukumanu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nur", + "name": "Nukuria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nus", + "name": "Nuer", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nut", + "name": "Nung (Viet Nam)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nuu", + "name": "Ngbundu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nuv", + "inverted_name": "Nuni, Northern", + "name": "Northern Nuni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nuw", + "name": "Nguluwan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nux", + "name": "Mehek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nuy", + "name": "Nunggubuyu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nuz", + "inverted_name": "Nahuatl, Tlamacazapa", + "name": "Tlamacazapa Nahuatl", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nvh", + "name": "Nasarian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nvm", + "name": "Namiae", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nvo", + "name": "Nyokon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nwa", + "name": "Nawathinehena", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nwb", + "name": "Nyabwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nwc", + "inverted_name": "Newari, Classical", + "name": "Classical Newari", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "nwe", + "name": "Ngwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nwg", + "name": "Ngayawung", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nwi", + "inverted_name": "Tanna, Southwest", + "name": "Southwest Tanna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nwm", + "name": "Nyamusa-Molo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nwo", + "name": "Nauo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nwr", + "name": "Nawaru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nww", + "name": "Ndwewe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nwx", + "inverted_name": "Newar, Middle", + "name": "Middle Newar", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "nwy", + "name": "Nottoway-Meherrin", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nxa", + "name": "Nauete", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nxd", + "name": "Ngando (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nxe", + "name": "Nage", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nxg", + "name": "Ngad'a", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nxi", + "name": "Nindi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nxk", + "inverted_name": "Naga, Koki", + "name": "Koki Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nxl", + "inverted_name": "Nuaulu, South", + "name": "South Nuaulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nxm", + "name": "Numidian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "nxn", + "name": "Ngawun", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nxo", + "name": "Ndambomo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nxq", + "name": "Naxi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nxr", + "name": "Ninggerum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nxx", + "name": "Nafri", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ny", + "alpha_3": "nya", + "name": "Nyanja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyb", + "name": "Nyangbo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyc", + "name": "Nyanga-li", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyd", + "name": "Nyore", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nye", + "name": "Nyengo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyf", + "name": "Giryama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyg", + "name": "Nyindu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyh", + "name": "Nyikina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyi", + "name": "Ama (Sudan)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyj", + "name": "Nyanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyk", + "name": "Nyaneka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyl", + "name": "Nyeu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nym", + "name": "Nyamwezi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyn", + "name": "Nyankole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyo", + "name": "Nyoro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyp", + "name": "Nyang'i", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nyq", + "name": "Nayini", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyr", + "name": "Nyiha (Malawi)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nys", + "name": "Nyungar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyt", + "name": "Nyawaygi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nyu", + "name": "Nyungwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyv", + "name": "Nyulnyul", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nyw", + "name": "Nyaw", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nyx", + "name": "Nganyaywana", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "nyy", + "name": "Nyakyusa-Ngonde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nza", + "inverted_name": "Mbembe, Tigon", + "name": "Tigon Mbembe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nzb", + "name": "Njebi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nzd", + "name": "Nzadi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nzi", + "name": "Nzima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nzk", + "name": "Nzakara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nzm", + "inverted_name": "Naga, Zeme", + "name": "Zeme Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nzs", + "name": "New Zealand Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nzu", + "name": "Teke-Nzikou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nzy", + "name": "Nzakambay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "nzz", + "inverted_name": "Dogon, Nanga Dama", + "name": "Nanga Dama Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oaa", + "name": "Orok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oac", + "name": "Oroch", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oar", + "inverted_name": "Aramaic, Old (up to 700 BCE)", + "name": "Old Aramaic (up to 700 BCE)", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "oav", + "inverted_name": "Avar, Old", + "name": "Old Avar", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "obi", + "name": "Obispeño", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "obk", + "inverted_name": "Bontok, Southern", + "name": "Southern Bontok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "obl", + "name": "Oblo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "obm", + "name": "Moabite", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "obo", + "inverted_name": "Manobo, Obo", + "name": "Obo Manobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "obr", + "inverted_name": "Burmese, Old", + "name": "Old Burmese", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "obt", + "inverted_name": "Breton, Old", + "name": "Old Breton", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "obu", + "name": "Obulom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oca", + "name": "Ocaina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "och", + "inverted_name": "Chinese, Old", + "name": "Old Chinese", + "scope": "I", + "type": "A" + }, + { + "alpha_2": "oc", + "alpha_3": "oci", + "name": "Occitan (post 1500)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ocm", + "inverted_name": "Cham, Old", + "name": "Old Cham", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "oco", + "inverted_name": "Cornish, Old", + "name": "Old Cornish", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "ocu", + "inverted_name": "Matlatzinca, Atzingo", + "name": "Atzingo Matlatzinca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oda", + "name": "Odut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "odk", + "name": "Od", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "odt", + "inverted_name": "Dutch, Old", + "name": "Old Dutch", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "odu", + "name": "Odual", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ofo", + "name": "Ofo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ofs", + "inverted_name": "Frisian, Old", + "name": "Old Frisian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "ofu", + "name": "Efutop", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ogb", + "name": "Ogbia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ogc", + "name": "Ogbah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oge", + "inverted_name": "Georgian, Old", + "name": "Old Georgian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "ogg", + "name": "Ogbogolo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ogo", + "name": "Khana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ogu", + "name": "Ogbronuagum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oht", + "inverted_name": "Hittite, Old", + "name": "Old Hittite", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "ohu", + "inverted_name": "Hungarian, Old", + "name": "Old Hungarian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "oia", + "name": "Oirata", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oie", + "name": "Okolie", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oin", + "inverted_name": "One, Inebu", + "name": "Inebu One", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ojb", + "inverted_name": "Ojibwa, Northwestern", + "name": "Northwestern Ojibwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ojc", + "inverted_name": "Ojibwa, Central", + "name": "Central Ojibwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ojg", + "inverted_name": "Ojibwa, Eastern", + "name": "Eastern Ojibwa", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "oj", + "alpha_3": "oji", + "name": "Ojibwa", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "ojp", + "inverted_name": "Japanese, Old", + "name": "Old Japanese", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "ojs", + "inverted_name": "Ojibwa, Severn", + "name": "Severn Ojibwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ojv", + "name": "Ontong Java", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ojw", + "inverted_name": "Ojibwa, Western", + "name": "Western Ojibwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oka", + "name": "Okanagan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "okb", + "name": "Okobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "okc", + "name": "Kobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "okd", + "name": "Okodia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oke", + "name": "Okpe (Southwestern Edo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "okg", + "name": "Koko Babangk", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "okh", + "name": "Koresh-e Rostam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oki", + "name": "Okiek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "okj", + "name": "Oko-Juwoi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "okk", + "inverted_name": "One, Kwamtim", + "name": "Kwamtim One", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "okl", + "inverted_name": "Kentish Sign Language, Old", + "name": "Old Kentish Sign Language", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "okm", + "inverted_name": "Korean, Middle (10th-16th cent.)", + "name": "Middle Korean (10th-16th cent.)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "okn", + "name": "Oki-No-Erabu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oko", + "inverted_name": "Korean, Old (3rd-9th cent.)", + "name": "Old Korean (3rd-9th cent.)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "okr", + "name": "Kirike", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oks", + "name": "Oko-Eni-Osayen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oku", + "name": "Oku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "okv", + "name": "Orokaiva", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "okx", + "name": "Okpe (Northwestern Edo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "okz", + "inverted_name": "Khmer, Old", + "name": "Old Khmer", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "ola", + "name": "Walungge", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "old", + "name": "Mochi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ole", + "name": "Olekha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "olk", + "name": "Olkol", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "olm", + "name": "Oloma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "olo", + "name": "Livvi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "olr", + "name": "Olrat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "olt", + "inverted_name": "Lithuanian, Old", + "name": "Old Lithuanian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "olu", + "name": "Kuvale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oma", + "name": "Omaha-Ponca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "omb", + "inverted_name": "Ambae, East", + "name": "East Ambae", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "omc", + "name": "Mochica", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "omg", + "name": "Omagua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "omi", + "name": "Omi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "omk", + "name": "Omok", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "oml", + "name": "Ombo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "omn", + "name": "Minoan", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "omo", + "name": "Utarmbung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "omp", + "inverted_name": "Manipuri, Old", + "name": "Old Manipuri", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "omr", + "inverted_name": "Marathi, Old", + "name": "Old Marathi", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "omt", + "name": "Omotik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "omu", + "name": "Omurano", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "omw", + "inverted_name": "Tairora, South", + "name": "South Tairora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "omx", + "inverted_name": "Mon, Old", + "name": "Old Mon", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "omy", + "inverted_name": "Malay, Old", + "name": "Old Malay", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "ona", + "name": "Ona", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "onb", + "name": "Lingao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "one", + "name": "Oneida", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ong", + "name": "Olo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oni", + "name": "Onin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "onj", + "name": "Onjob", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "onk", + "inverted_name": "One, Kabore", + "name": "Kabore One", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "onn", + "name": "Onobasulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ono", + "name": "Onondaga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "onp", + "name": "Sartang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "onr", + "inverted_name": "One, Northern", + "name": "Northern One", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ons", + "name": "Ono", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ont", + "name": "Ontenu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "onu", + "name": "Unua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "onw", + "inverted_name": "Nubian, Old", + "name": "Old Nubian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "onx", + "name": "Onin Based Pidgin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ood", + "name": "Tohono O'odham", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oog", + "name": "Ong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oon", + "name": "Önge", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oor", + "name": "Oorlams", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oos", + "inverted_name": "Ossetic, Old", + "name": "Old Ossetic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "opa", + "name": "Okpamheri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "opk", + "name": "Kopkaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "opm", + "name": "Oksapmin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "opo", + "name": "Opao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "opt", + "name": "Opata", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "opy", + "name": "Ofayé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ora", + "name": "Oroha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "orc", + "name": "Orma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ore", + "name": "Orejón", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "org", + "name": "Oring", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "orh", + "name": "Oroqen", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "or", + "alpha_3": "ori", + "name": "Oriya (macrolanguage)", + "scope": "M", + "type": "L" + }, + { + "alpha_2": "om", + "alpha_3": "orm", + "name": "Oromo", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "orn", + "name": "Orang Kanaq", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oro", + "name": "Orokolo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "orr", + "name": "Oruma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ors", + "name": "Orang Seletar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ort", + "inverted_name": "Oriya, Adivasi", + "name": "Adivasi Oriya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oru", + "name": "Ormuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "orv", + "inverted_name": "Russian, Old", + "name": "Old Russian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "orw", + "name": "Oro Win", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "orx", + "name": "Oro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ory", + "name": "Odia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "orz", + "name": "Ormu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "osa", + "name": "Osage", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "osc", + "name": "Oscan", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "osi", + "name": "Osing", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "osn", + "inverted_name": "Sundanese, Old", + "name": "Old Sundanese", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "oso", + "name": "Ososo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "osp", + "inverted_name": "Spanish, Old", + "name": "Old Spanish", + "scope": "I", + "type": "H" + }, + { + "alpha_2": "os", + "alpha_3": "oss", + "name": "Ossetian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ost", + "name": "Osatu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "osu", + "inverted_name": "One, Southern", + "name": "Southern One", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "osx", + "inverted_name": "Saxon, Old", + "name": "Old Saxon", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "ota", + "inverted_name": "Turkish, Ottoman (1500-1928)", + "name": "Ottoman Turkish (1500-1928)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "otb", + "inverted_name": "Tibetan, Old", + "name": "Old Tibetan", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "otd", + "name": "Ot Danum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ote", + "inverted_name": "Otomi, Mezquital", + "name": "Mezquital Otomi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oti", + "name": "Oti", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "otk", + "inverted_name": "Turkish, Old", + "name": "Old Turkish", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "otl", + "inverted_name": "Otomi, Tilapa", + "name": "Tilapa Otomi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "otm", + "inverted_name": "Otomi, Eastern Highland", + "name": "Eastern Highland Otomi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "otn", + "inverted_name": "Otomi, Tenango", + "name": "Tenango Otomi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "otq", + "inverted_name": "Otomi, Querétaro", + "name": "Querétaro Otomi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "otr", + "name": "Otoro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ots", + "inverted_name": "Otomi, Estado de México", + "name": "Estado de México Otomi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ott", + "inverted_name": "Otomi, Temoaya", + "name": "Temoaya Otomi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "otu", + "name": "Otuke", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "otw", + "name": "Ottawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "otx", + "inverted_name": "Otomi, Texcatepec", + "name": "Texcatepec Otomi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oty", + "inverted_name": "Tamil, Old", + "name": "Old Tamil", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "otz", + "inverted_name": "Otomi, Ixtenco", + "name": "Ixtenco Otomi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oua", + "name": "Tagargrent", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oub", + "name": "Glio-Oubi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oue", + "name": "Oune", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oui", + "inverted_name": "Uighur, Old", + "name": "Old Uighur", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "oum", + "name": "Ouma", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ovd", + "name": "Elfdalian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "owi", + "name": "Owiniga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "owl", + "inverted_name": "Welsh, Old", + "name": "Old Welsh", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "oyb", + "name": "Oy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oyd", + "name": "Oyda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oym", + "name": "Wayampi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "oyy", + "name": "Oya'oya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ozm", + "name": "Koonzime", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pab", + "name": "Parecís", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pac", + "name": "Pacoh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pad", + "name": "Paumarí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pae", + "name": "Pagibete", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "paf", + "name": "Paranawát", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pag", + "name": "Pangasinan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pah", + "name": "Tenharim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pai", + "name": "Pe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pak", + "name": "Parakanã", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pal", + "name": "Pahlavi", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "pam", + "name": "Pampanga", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "pa", + "alpha_3": "pan", + "name": "Panjabi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pao", + "inverted_name": "Paiute, Northern", + "name": "Northern Paiute", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pap", + "name": "Papiamento", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "paq", + "name": "Parya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "par", + "name": "Panamint", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pas", + "name": "Papasena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pau", + "name": "Palauan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pav", + "name": "Pakaásnovos", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "paw", + "name": "Pawnee", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pax", + "name": "Pankararé", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pay", + "name": "Pech", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "paz", + "name": "Pankararú", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pbb", + "name": "Páez", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbc", + "name": "Patamona", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbe", + "inverted_name": "Popoloca, Mezontla", + "name": "Mezontla Popoloca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbf", + "inverted_name": "Popoloca, Coyotepec", + "name": "Coyotepec Popoloca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbg", + "name": "Paraujano", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pbh", + "name": "E'ñapa Woromaipu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbi", + "name": "Parkwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbl", + "name": "Mak (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbm", + "inverted_name": "Mazatec, Puebla", + "name": "Puebla Mazatec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbn", + "name": "Kpasam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbo", + "name": "Papel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbp", + "name": "Badyara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbr", + "name": "Pangwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbs", + "inverted_name": "Pame, Central", + "name": "Central Pame", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbt", + "inverted_name": "Pashto, Southern", + "name": "Southern Pashto", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbu", + "inverted_name": "Pashto, Northern", + "name": "Northern Pashto", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pbv", + "name": "Pnar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pby", + "name": "Pyu (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pca", + "inverted_name": "Popoloca, Santa Inés Ahuatempan", + "name": "Santa Inés Ahuatempan Popoloca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pcb", + "name": "Pear", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pcc", + "name": "Bouyei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pcd", + "name": "Picard", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pce", + "inverted_name": "Palaung, Ruching", + "name": "Ruching Palaung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pcf", + "name": "Paliyan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pcg", + "name": "Paniya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pch", + "name": "Pardhan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pci", + "name": "Duruwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pcj", + "name": "Parenga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pck", + "inverted_name": "Chin, Paite", + "name": "Paite Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pcl", + "name": "Pardhi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pcm", + "inverted_name": "Pidgin, Nigerian", + "name": "Nigerian Pidgin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pcn", + "name": "Piti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pcp", + "name": "Pacahuara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pcw", + "name": "Pyapun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pda", + "name": "Anam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pdc", + "inverted_name": "German, Pennsylvania", + "name": "Pennsylvania German", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pdi", + "name": "Pa Di", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pdn", + "name": "Podena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pdo", + "name": "Padoe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pdt", + "name": "Plautdietsch", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pdu", + "name": "Kayan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pea", + "inverted_name": "Indonesian, Peranakan", + "name": "Peranakan Indonesian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "peb", + "inverted_name": "Pomo, Eastern", + "name": "Eastern Pomo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ped", + "name": "Mala (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pee", + "name": "Taje", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pef", + "inverted_name": "Pomo, Northeastern", + "name": "Northeastern Pomo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "peg", + "name": "Pengo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "peh", + "name": "Bonan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pei", + "name": "Chichimeca-Jonaz", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pej", + "inverted_name": "Pomo, Northern", + "name": "Northern Pomo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pek", + "name": "Penchal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pel", + "name": "Pekal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pem", + "name": "Phende", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "peo", + "inverted_name": "Persian, Old (ca. 600-400 B.C.)", + "name": "Old Persian (ca. 600-400 B.C.)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "pep", + "name": "Kunja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "peq", + "inverted_name": "Pomo, Southern", + "name": "Southern Pomo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pes", + "inverted_name": "Persian, Iranian", + "name": "Iranian Persian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pev", + "name": "Pémono", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pex", + "name": "Petats", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pey", + "name": "Petjo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pez", + "inverted_name": "Penan, Eastern", + "name": "Eastern Penan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pfa", + "name": "Pááfang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pfe", + "name": "Pere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pfl", + "name": "Pfaelzisch", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pga", + "inverted_name": "Creole Arabic, Sudanese", + "name": "Sudanese Creole Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pgd", + "name": "Gāndhārī", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "pgg", + "name": "Pangwali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pgi", + "name": "Pagi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pgk", + "name": "Rerep", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pgl", + "inverted_name": "Irish, Primitive", + "name": "Primitive Irish", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "pgn", + "name": "Paelignian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "pgs", + "name": "Pangseng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pgu", + "name": "Pagu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pgz", + "name": "Papua New Guinean Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pha", + "name": "Pa-Hng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "phd", + "name": "Phudagi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "phg", + "name": "Phuong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "phh", + "name": "Phukha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "phj", + "name": "Pahari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "phk", + "name": "Phake", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "phl", + "name": "Phalura", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "phm", + "name": "Phimbi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "phn", + "name": "Phoenician", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "pho", + "name": "Phunoi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "phq", + "name": "Phana'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "phr", + "name": "Pahari-Potwari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pht", + "name": "Phu Thai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "phu", + "name": "Phuan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "phv", + "name": "Pahlavani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "phw", + "name": "Phangduwali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pia", + "name": "Pima Bajo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pib", + "name": "Yine", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pic", + "name": "Pinji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pid", + "name": "Piaroa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pie", + "name": "Piro", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pif", + "name": "Pingelapese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pig", + "name": "Pisabo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pih", + "name": "Pitcairn-Norfolk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pij", + "name": "Pijao", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pil", + "name": "Yom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pim", + "name": "Powhatan", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pin", + "name": "Piame", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pio", + "name": "Piapoco", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pip", + "name": "Pero", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pir", + "name": "Piratapuyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pis", + "name": "Pijin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pit", + "name": "Pitta Pitta", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "piu", + "name": "Pintupi-Luritja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "piv", + "name": "Pileni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "piw", + "name": "Pimbwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pix", + "name": "Piu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "piy", + "name": "Piya-Kwonci", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "piz", + "name": "Pije", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pjt", + "name": "Pitjantjatjara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pka", + "inverted_name": "Prākrit, Ardhamāgadhī", + "name": "Ardhamāgadhī Prākrit", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "pkb", + "name": "Pokomo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pkc", + "name": "Paekche", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "pkg", + "name": "Pak-Tong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pkh", + "name": "Pankhu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pkn", + "name": "Pakanha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pko", + "name": "Pökoot", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pkp", + "name": "Pukapuka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pkr", + "inverted_name": "Kurumba, Attapady", + "name": "Attapady Kurumba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pks", + "name": "Pakistan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pkt", + "name": "Maleng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pku", + "name": "Paku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pla", + "name": "Miani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "plb", + "name": "Polonombauk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "plc", + "inverted_name": "Palawano, Central", + "name": "Central Palawano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pld", + "name": "Polari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ple", + "name": "Palu'e", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "plg", + "name": "Pilagá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "plh", + "name": "Paulohi", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "pi", + "alpha_3": "pli", + "name": "Pali", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "plj", + "name": "Polci", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "plk", + "inverted_name": "Shina, Kohistani", + "name": "Kohistani Shina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pll", + "inverted_name": "Palaung, Shwe", + "name": "Shwe Palaung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pln", + "name": "Palenquero", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "plo", + "inverted_name": "Popoluca, Oluta", + "name": "Oluta Popoluca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "plq", + "name": "Palaic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "plr", + "inverted_name": "Senoufo, Palaka", + "name": "Palaka Senoufo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pls", + "inverted_name": "Popoloca, San Marcos Tlacoyalco", + "name": "San Marcos Tlacoyalco Popoloca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "plt", + "inverted_name": "Malagasy, Plateau", + "name": "Plateau Malagasy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "plu", + "name": "Palikúr", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "plv", + "inverted_name": "Palawano, Southwest", + "name": "Southwest Palawano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "plw", + "inverted_name": "Palawano, Brooke's Point", + "name": "Brooke's Point Palawano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ply", + "name": "Bolyu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "plz", + "name": "Paluan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pma", + "name": "Paama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmb", + "name": "Pambia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmd", + "name": "Pallanganmiddang", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pme", + "name": "Pwaamei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmf", + "name": "Pamona", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmh", + "inverted_name": "Prākrit, Māhārāṣṭri", + "name": "Māhārāṣṭri Prākrit", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "pmi", + "inverted_name": "Pumi, Northern", + "name": "Northern Pumi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmj", + "inverted_name": "Pumi, Southern", + "name": "Southern Pumi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmk", + "name": "Pamlico", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pml", + "name": "Lingua Franca", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pmm", + "name": "Pomo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmn", + "name": "Pam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmo", + "name": "Pom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmq", + "inverted_name": "Pame, Northern", + "name": "Northern Pame", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmr", + "name": "Paynamar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pms", + "name": "Piemontese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmt", + "name": "Tuamotuan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmw", + "inverted_name": "Miwok, Plains", + "name": "Plains Miwok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmx", + "inverted_name": "Naga, Poumei", + "name": "Poumei Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmy", + "inverted_name": "Malay, Papuan", + "name": "Papuan Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pmz", + "inverted_name": "Pame, Southern", + "name": "Southern Pame", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pna", + "name": "Punan Bah-Biau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnb", + "inverted_name": "Panjabi, Western", + "name": "Western Panjabi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnc", + "name": "Pannei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnd", + "name": "Mpinda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pne", + "inverted_name": "Penan, Western", + "name": "Western Penan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "png", + "name": "Pangu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnh", + "name": "Penrhyn", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pni", + "name": "Aoheng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnj", + "name": "Pinjarup", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pnk", + "name": "Paunaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnl", + "name": "Paleni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnm", + "name": "Punan Batu 1", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnn", + "name": "Pinai-Hagahai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pno", + "name": "Panobo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pnp", + "name": "Pancana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnq", + "name": "Pana (Burkina Faso)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnr", + "name": "Panim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pns", + "name": "Ponosakan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnt", + "name": "Pontic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnu", + "inverted_name": "Bunu, Jiongnai", + "name": "Jiongnai Bunu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnv", + "name": "Pinigura", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnw", + "name": "Banyjima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnx", + "name": "Phong-Kniang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pny", + "name": "Pinyin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pnz", + "name": "Pana (Central African Republic)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "poc", + "name": "Poqomam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "poe", + "inverted_name": "Popoloca, San Juan Atzingo", + "name": "San Juan Atzingo Popoloca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pof", + "name": "Poke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pog", + "name": "Potiguára", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "poh", + "name": "Poqomchi'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "poi", + "inverted_name": "Popoluca, Highland", + "name": "Highland Popoluca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pok", + "name": "Pokangá", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "pl", + "alpha_3": "pol", + "name": "Polish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pom", + "inverted_name": "Pomo, Southeastern", + "name": "Southeastern Pomo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pon", + "name": "Pohnpeian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "poo", + "inverted_name": "Pomo, Central", + "name": "Central Pomo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pop", + "name": "Pwapwâ", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "poq", + "inverted_name": "Popoluca, Texistepec", + "name": "Texistepec Popoluca", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "pt", + "alpha_3": "por", + "name": "Portuguese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pos", + "inverted_name": "Popoluca, Sayula", + "name": "Sayula Popoluca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pot", + "name": "Potawatomi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pov", + "inverted_name": "Crioulo, Upper Guinea", + "name": "Upper Guinea Crioulo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pow", + "inverted_name": "Popoloca, San Felipe Otlaltepec", + "name": "San Felipe Otlaltepec Popoloca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pox", + "name": "Polabian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "poy", + "name": "Pogolo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ppe", + "name": "Papi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ppi", + "name": "Paipai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ppk", + "name": "Uma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ppl", + "name": "Pipil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ppm", + "name": "Papuma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ppn", + "name": "Papapana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ppo", + "name": "Folopa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ppp", + "name": "Pelende", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ppq", + "name": "Pei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pps", + "inverted_name": "Popoloca, San Luís Temalacayuca", + "name": "San Luís Temalacayuca Popoloca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ppt", + "name": "Pare", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ppu", + "name": "Papora", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pqa", + "name": "Pa'a", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pqm", + "name": "Malecite-Passamaquoddy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prc", + "name": "Parachi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prd", + "name": "Parsi-Dari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pre", + "name": "Principense", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prf", + "name": "Paranan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prg", + "name": "Prussian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prh", + "name": "Porohanon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pri", + "name": "Paicî", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prk", + "name": "Parauk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prl", + "name": "Peruvian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prm", + "name": "Kibiri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prn", + "name": "Prasuni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pro", + "inverted_name": "Provençal, Old (to 1500)", + "name": "Old Provençal (to 1500)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "prp", + "name": "Parsi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prq", + "name": "Ashéninka Perené", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prr", + "name": "Puri", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "prs", + "name": "Dari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prt", + "name": "Phai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pru", + "name": "Puragi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prw", + "name": "Parawen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prx", + "name": "Purik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "prz", + "name": "Providencia Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "psa", + "inverted_name": "Awyu, Asue", + "name": "Asue Awyu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "psc", + "name": "Iranian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "psd", + "name": "Plains Indian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pse", + "inverted_name": "Malay, Central", + "name": "Central Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "psg", + "name": "Penang Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "psh", + "inverted_name": "Pashai, Southwest", + "name": "Southwest Pashai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "psi", + "inverted_name": "Pashai, Southeast", + "name": "Southeast Pashai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "psl", + "name": "Puerto Rican Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "psm", + "name": "Pauserna", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "psn", + "name": "Panasuan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pso", + "name": "Polish Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "psp", + "name": "Philippine Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "psq", + "name": "Pasi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "psr", + "name": "Portuguese Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pss", + "name": "Kaulong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pst", + "inverted_name": "Pashto, Central", + "name": "Central Pashto", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "psu", + "inverted_name": "Prākrit, Sauraseni", + "name": "Sauraseni Prākrit", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "psw", + "name": "Port Sandwich", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "psy", + "name": "Piscataway", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pta", + "name": "Pai Tavytera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pth", + "name": "Pataxó Hã-Ha-Hãe", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pti", + "name": "Pindiini", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ptn", + "name": "Patani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pto", + "name": "Zo'é", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ptp", + "name": "Patep", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ptq", + "name": "Pattapu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ptr", + "name": "Piamatsina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ptt", + "name": "Enrekang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ptu", + "name": "Bambam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ptv", + "name": "Port Vato", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ptw", + "name": "Pentlatch", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pty", + "name": "Pathiya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pua", + "inverted_name": "Purepecha, Western Highland", + "name": "Western Highland Purepecha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pub", + "name": "Purum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "puc", + "name": "Punan Merap", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pud", + "name": "Punan Aput", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pue", + "name": "Puelche", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "puf", + "name": "Punan Merah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pug", + "name": "Phuie", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pui", + "name": "Puinave", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "puj", + "name": "Punan Tubu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pum", + "name": "Puma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "puo", + "name": "Puoc", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pup", + "name": "Pulabu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "puq", + "name": "Puquina", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pur", + "name": "Puruborá", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ps", + "alpha_3": "pus", + "name": "Pushto", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "put", + "name": "Putoh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "puu", + "name": "Punu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "puw", + "name": "Puluwatese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pux", + "name": "Puare", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "puy", + "name": "Purisimeño", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pwa", + "name": "Pawaia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pwb", + "name": "Panawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pwg", + "name": "Gapapaiwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pwi", + "name": "Patwin", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "pwm", + "name": "Molbog", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pwn", + "name": "Paiwan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pwo", + "inverted_name": "Karen, Pwo Western", + "name": "Pwo Western Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pwr", + "name": "Powari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pww", + "inverted_name": "Karen, Pwo Northern", + "name": "Pwo Northern Karen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pxm", + "inverted_name": "Mixe, Quetzaltepec", + "name": "Quetzaltepec Mixe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pye", + "inverted_name": "Krumen, Pye", + "name": "Pye Krumen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pym", + "name": "Fyam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pyn", + "name": "Poyanáwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pys", + "name": "Paraguayan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pyu", + "name": "Puyuma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pyx", + "name": "Pyu (Myanmar)", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "pyy", + "name": "Pyen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pzh", + "name": "Pazeh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "pzn", + "name": "Jejara Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qua", + "name": "Quapaw", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qub", + "inverted_name": "Quechua, Huallaga Huánuco", + "name": "Huallaga Huánuco Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "quc", + "name": "K'iche'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qud", + "inverted_name": "Quichua, Calderón Highland", + "name": "Calderón Highland Quichua", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "qu", + "alpha_3": "que", + "name": "Quechua", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "quf", + "inverted_name": "Quechua, Lambayeque", + "name": "Lambayeque Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qug", + "inverted_name": "Quichua, Chimborazo Highland", + "name": "Chimborazo Highland Quichua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "quh", + "inverted_name": "Quechua, South Bolivian", + "name": "South Bolivian Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qui", + "name": "Quileute", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "quk", + "inverted_name": "Quechua, Chachapoyas", + "name": "Chachapoyas Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qul", + "inverted_name": "Quechua, North Bolivian", + "name": "North Bolivian Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qum", + "name": "Sipacapense", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qun", + "name": "Quinault", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "qup", + "inverted_name": "Quechua, Southern Pastaza", + "name": "Southern Pastaza Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "quq", + "name": "Quinqui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qur", + "inverted_name": "Quechua, Yanahuanca Pasco", + "name": "Yanahuanca Pasco Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qus", + "inverted_name": "Quichua, Santiago del Estero", + "name": "Santiago del Estero Quichua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "quv", + "name": "Sacapulteco", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "quw", + "inverted_name": "Quichua, Tena Lowland", + "name": "Tena Lowland Quichua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qux", + "inverted_name": "Quechua, Yauyos", + "name": "Yauyos Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "quy", + "inverted_name": "Quechua, Ayacucho", + "name": "Ayacucho Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "quz", + "inverted_name": "Quechua, Cusco", + "name": "Cusco Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qva", + "inverted_name": "Quechua, Ambo-Pasco", + "name": "Ambo-Pasco Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qvc", + "inverted_name": "Quechua, Cajamarca", + "name": "Cajamarca Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qve", + "inverted_name": "Quechua, Eastern Apurímac", + "name": "Eastern Apurímac Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qvh", + "inverted_name": "Quechua, Huamalíes-Dos de Mayo Huánuco", + "name": "Huamalíes-Dos de Mayo Huánuco Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qvi", + "inverted_name": "Quichua, Imbabura Highland", + "name": "Imbabura Highland Quichua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qvj", + "inverted_name": "Quichua, Loja Highland", + "name": "Loja Highland Quichua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qvl", + "inverted_name": "Quechua, Cajatambo North Lima", + "name": "Cajatambo North Lima Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qvm", + "inverted_name": "Quechua, Margos-Yarowilca-Lauricocha", + "name": "Margos-Yarowilca-Lauricocha Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qvn", + "inverted_name": "Quechua, North Junín", + "name": "North Junín Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qvo", + "inverted_name": "Quechua, Napo Lowland", + "name": "Napo Lowland Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qvp", + "inverted_name": "Quechua, Pacaraos", + "name": "Pacaraos Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qvs", + "inverted_name": "Quechua, San Martín", + "name": "San Martín Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qvw", + "inverted_name": "Quechua, Huaylla Wanca", + "name": "Huaylla Wanca Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qvy", + "name": "Queyu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qvz", + "inverted_name": "Quichua, Northern Pastaza", + "name": "Northern Pastaza Quichua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qwa", + "inverted_name": "Quechua, Corongo Ancash", + "name": "Corongo Ancash Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qwc", + "inverted_name": "Quechua, Classical", + "name": "Classical Quechua", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "qwh", + "inverted_name": "Quechua, Huaylas Ancash", + "name": "Huaylas Ancash Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qwm", + "name": "Kuman (Russia)", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "qws", + "inverted_name": "Quechua, Sihuas Ancash", + "name": "Sihuas Ancash Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qwt", + "name": "Kwalhioqua-Tlatskanai", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "qxa", + "inverted_name": "Quechua, Chiquián Ancash", + "name": "Chiquián Ancash Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qxc", + "inverted_name": "Quechua, Chincha", + "name": "Chincha Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qxh", + "inverted_name": "Quechua, Panao Huánuco", + "name": "Panao Huánuco Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qxl", + "inverted_name": "Quichua, Salasaca Highland", + "name": "Salasaca Highland Quichua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qxn", + "inverted_name": "Quechua, Northern Conchucos Ancash", + "name": "Northern Conchucos Ancash Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qxo", + "inverted_name": "Quechua, Southern Conchucos Ancash", + "name": "Southern Conchucos Ancash Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qxp", + "inverted_name": "Quechua, Puno", + "name": "Puno Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qxq", + "name": "Qashqa'i", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qxr", + "inverted_name": "Quichua, Cañar Highland", + "name": "Cañar Highland Quichua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qxs", + "inverted_name": "Qiang, Southern", + "name": "Southern Qiang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qxt", + "inverted_name": "Quechua, Santa Ana de Tusi Pasco", + "name": "Santa Ana de Tusi Pasco Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qxu", + "inverted_name": "Quechua, Arequipa-La Unión", + "name": "Arequipa-La Unión Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qxw", + "inverted_name": "Quechua, Jauja Wanca", + "name": "Jauja Wanca Quechua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "qya", + "name": "Quenya", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "qyp", + "name": "Quiripi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "raa", + "name": "Dungmali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rab", + "name": "Camling", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rac", + "name": "Rasawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rad", + "name": "Rade", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "raf", + "inverted_name": "Meohang, Western", + "name": "Western Meohang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rag", + "name": "Logooli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rah", + "name": "Rabha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rai", + "name": "Ramoaaina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "raj", + "name": "Rajasthani", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "rak", + "name": "Tulu-Bohuai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ral", + "name": "Ralte", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ram", + "name": "Canela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ran", + "name": "Riantana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rao", + "name": "Rao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rap", + "name": "Rapanui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "raq", + "name": "Saam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rar", + "name": "Rarotongan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ras", + "name": "Tegali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rat", + "name": "Razajerdi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rau", + "name": "Raute", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rav", + "name": "Sampang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "raw", + "name": "Rawang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rax", + "name": "Rang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ray", + "name": "Rapa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "raz", + "name": "Rahambuu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rbb", + "inverted_name": "Palaung, Rumai", + "name": "Rumai Palaung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rbk", + "inverted_name": "Bontok, Northern", + "name": "Northern Bontok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rbl", + "inverted_name": "Bikol, Miraya", + "name": "Miraya Bikol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rbp", + "name": "Barababaraba", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "rcf", + "inverted_name": "Creole French, Réunion", + "name": "Réunion Creole French", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rdb", + "name": "Rudbari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rea", + "name": "Rerau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "reb", + "name": "Rembong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ree", + "inverted_name": "Kayan, Rejang", + "name": "Rejang Kayan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "reg", + "name": "Kara (Tanzania)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rei", + "name": "Reli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rej", + "name": "Rejang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rel", + "name": "Rendille", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rem", + "name": "Remo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ren", + "name": "Rengao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rer", + "name": "Rer Bare", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "res", + "name": "Reshe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ret", + "name": "Retta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rey", + "name": "Reyesano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rga", + "name": "Roria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rge", + "name": "Romano-Greek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rgk", + "name": "Rangkas", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "rgn", + "name": "Romagnol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rgr", + "name": "Resígaro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rgs", + "inverted_name": "Roglai, Southern", + "name": "Southern Roglai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rgu", + "name": "Ringgou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rhg", + "name": "Rohingya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rhp", + "name": "Yahang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ria", + "name": "Riang (India)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rib", + "name": "Bribri Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rif", + "name": "Tarifit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ril", + "name": "Riang Lang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rim", + "name": "Nyaturu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rin", + "name": "Nungu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rir", + "name": "Ribun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rit", + "name": "Ritharrngu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "riu", + "name": "Riung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rjg", + "name": "Rajong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rji", + "name": "Raji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rjs", + "name": "Rajbanshi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rka", + "name": "Kraol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rkb", + "name": "Rikbaktsa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rkh", + "name": "Rakahanga-Manihiki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rki", + "name": "Rakhine", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rkm", + "name": "Marka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rkt", + "name": "Rangpuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rkw", + "name": "Arakwal", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "rma", + "name": "Rama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmb", + "name": "Rembarrnga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmc", + "inverted_name": "Romani, Carpathian", + "name": "Carpathian Romani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmd", + "inverted_name": "Danish, Traveller", + "name": "Traveller Danish", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "rme", + "name": "Angloromani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmf", + "inverted_name": "Romani, Kalo Finnish", + "name": "Kalo Finnish Romani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmg", + "inverted_name": "Norwegian, Traveller", + "name": "Traveller Norwegian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmh", + "name": "Murkim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmi", + "name": "Lomavren", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmk", + "name": "Romkun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rml", + "inverted_name": "Romani, Baltic", + "name": "Baltic Romani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmm", + "name": "Roma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmn", + "inverted_name": "Romani, Balkan", + "name": "Balkan Romani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmo", + "inverted_name": "Romani, Sinte", + "name": "Sinte Romani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmp", + "name": "Rempi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmq", + "name": "Caló", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rms", + "name": "Romanian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmt", + "name": "Domari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmu", + "inverted_name": "Romani, Tavringer", + "name": "Tavringer Romani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmv", + "name": "Romanova", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "rmw", + "inverted_name": "Romani, Welsh", + "name": "Welsh Romani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmx", + "name": "Romam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmy", + "inverted_name": "Romani, Vlax", + "name": "Vlax Romani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rmz", + "name": "Marma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rnb", + "name": "Brunca Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rnd", + "name": "Ruund", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rng", + "name": "Ronga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rnl", + "name": "Ranglong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rnn", + "name": "Roon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rnp", + "name": "Rongpo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rnr", + "name": "Nari Nari", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "rnw", + "name": "Rungwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rob", + "name": "Tae'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "roc", + "inverted_name": "Roglai, Cacgia", + "name": "Cacgia Roglai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rod", + "name": "Rogo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "roe", + "name": "Ronji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rof", + "name": "Rombo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rog", + "inverted_name": "Roglai, Northern", + "name": "Northern Roglai", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "rm", + "alpha_3": "roh", + "name": "Romansh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rol", + "name": "Romblomanon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rom", + "name": "Romany", + "scope": "M", + "type": "L" + }, + { + "alpha_2": "ro", + "alpha_3": "ron", + "bibliographic": "rum", + "name": "Romanian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "roo", + "name": "Rotokas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rop", + "name": "Kriol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ror", + "name": "Rongga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rou", + "name": "Runga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "row", + "name": "Dela-Oenale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rpn", + "name": "Repanbitip", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rpt", + "name": "Rapting", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rri", + "name": "Ririo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rro", + "name": "Waima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rrt", + "name": "Arritinngithigh", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "rsb", + "name": "Romano-Serbian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rsk", + "name": "Ruthenian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rsl", + "name": "Russian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rsm", + "name": "Miriwoong Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rsn", + "name": "Rwandan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rtc", + "inverted_name": "Chin, Rungtu", + "name": "Rungtu Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rth", + "name": "Ratahan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rtm", + "name": "Rotuman", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rts", + "name": "Yurats", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "rtw", + "name": "Rathawi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rub", + "name": "Gungu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ruc", + "name": "Ruuli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rue", + "name": "Rusyn", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ruf", + "name": "Luguru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rug", + "name": "Roviana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ruh", + "name": "Ruga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rui", + "name": "Rufiji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ruk", + "name": "Che", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "rn", + "alpha_3": "run", + "name": "Rundi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ruo", + "inverted_name": "Romanian, Istro", + "name": "Istro Romanian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rup", + "inverted_name": "Romanian, Macedo-", + "name": "Macedo-Romanian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ruq", + "inverted_name": "Romanian, Megleno", + "name": "Megleno Romanian", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ru", + "alpha_3": "rus", + "name": "Russian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rut", + "name": "Rutul", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ruu", + "inverted_name": "Lobu, Lanas", + "name": "Lanas Lobu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ruy", + "name": "Mala (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ruz", + "name": "Ruma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rwa", + "name": "Rawo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rwk", + "name": "Rwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rwl", + "name": "Ruwila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rwm", + "name": "Amba (Uganda)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rwo", + "name": "Rawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rwr", + "name": "Marwari (India)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rxd", + "name": "Ngardi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rxw", + "name": "Karuwali", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ryn", + "inverted_name": "Amami-Oshima, Northern", + "name": "Northern Amami-Oshima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rys", + "name": "Yaeyama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ryu", + "inverted_name": "Okinawan, Central", + "name": "Central Okinawan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "rzh", + "name": "Rāziḥī", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "saa", + "name": "Saba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sab", + "name": "Buglere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sac", + "name": "Meskwaki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sad", + "name": "Sandawe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sae", + "name": "Sabanê", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "saf", + "name": "Safaliba", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "sg", + "alpha_3": "sag", + "name": "Sango", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sah", + "name": "Yakut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "saj", + "name": "Sahu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sak", + "name": "Sake", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sam", + "inverted_name": "Aramaic, Samaritan", + "name": "Samaritan Aramaic", + "scope": "I", + "type": "E" + }, + { + "alpha_2": "sa", + "alpha_3": "san", + "name": "Sanskrit", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "sao", + "name": "Sause", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "saq", + "name": "Samburu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sar", + "name": "Saraveca", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "sas", + "name": "Sasak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sat", + "name": "Santali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sau", + "name": "Saleman", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sav", + "name": "Saafi-Saafi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "saw", + "name": "Sawi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sax", + "name": "Sa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "say", + "name": "Saya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "saz", + "name": "Saurashtra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sba", + "name": "Ngambay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbb", + "name": "Simbo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbc", + "name": "Kele (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbd", + "inverted_name": "Samo, Southern", + "name": "Southern Samo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbe", + "name": "Saliba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbf", + "name": "Chabu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbg", + "name": "Seget", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbh", + "name": "Sori-Harengan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbi", + "name": "Seti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbj", + "name": "Surbakhal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbk", + "name": "Safwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbl", + "inverted_name": "Sambal, Botolan", + "name": "Botolan Sambal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbm", + "name": "Sagala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbn", + "inverted_name": "Bhil, Sindhi", + "name": "Sindhi Bhil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbo", + "name": "Sabüm", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbp", + "name": "Sangu (Tanzania)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbq", + "name": "Sileibi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbr", + "name": "Sembakung Murut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbs", + "name": "Subiya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbt", + "name": "Kimki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbu", + "inverted_name": "Bhoti, Stod", + "name": "Stod Bhoti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbv", + "name": "Sabine", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "sbw", + "name": "Simba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbx", + "name": "Seberuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sby", + "name": "Soli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sbz", + "name": "Sara Kaba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "scb", + "name": "Chut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sce", + "name": "Dongxiang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "scf", + "inverted_name": "Creole French, San Miguel", + "name": "San Miguel Creole French", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "scg", + "name": "Sanggau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sch", + "name": "Sakachep", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sci", + "inverted_name": "Creole Malay, Sri Lankan", + "name": "Sri Lankan Creole Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sck", + "name": "Sadri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "scl", + "name": "Shina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "scn", + "name": "Sicilian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sco", + "name": "Scots", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "scp", + "name": "Hyolmo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "scq", + "name": "Sa'och", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "scs", + "inverted_name": "Slavey, North", + "name": "North Slavey", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sct", + "inverted_name": "Katang, Southern", + "name": "Southern Katang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "scu", + "name": "Shumcho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "scv", + "name": "Sheni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "scw", + "name": "Sha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "scx", + "name": "Sicel", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "sda", + "name": "Toraja-Sa'dan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdb", + "name": "Shabak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdc", + "inverted_name": "Sardinian, Sassarese", + "name": "Sassarese Sardinian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sde", + "name": "Surubu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdf", + "name": "Sarli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdg", + "name": "Savi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdh", + "inverted_name": "Kurdish, Southern", + "name": "Southern Kurdish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdj", + "name": "Suundi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdk", + "name": "Sos Kundi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdl", + "name": "Saudi Arabian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdn", + "inverted_name": "Sardinian, Gallurese", + "name": "Gallurese Sardinian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdo", + "inverted_name": "Bidayuh, Bukar-Sadung", + "name": "Bukar-Sadung Bidayuh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdp", + "name": "Sherdukpen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdq", + "name": "Semandang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdr", + "inverted_name": "Sadri, Oraon", + "name": "Oraon Sadri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sds", + "name": "Sened", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "sdt", + "name": "Shuadit", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "sdu", + "name": "Sarudu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdx", + "inverted_name": "Melanau, Sibu", + "name": "Sibu Melanau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sdz", + "name": "Sallands", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sea", + "name": "Semai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "seb", + "inverted_name": "Senoufo, Shempire", + "name": "Shempire Senoufo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sec", + "name": "Sechelt", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sed", + "name": "Sedang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "see", + "name": "Seneca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sef", + "inverted_name": "Senoufo, Cebaara", + "name": "Cebaara Senoufo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "seg", + "name": "Segeju", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "seh", + "name": "Sena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sei", + "name": "Seri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sej", + "name": "Sene", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sek", + "name": "Sekani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sel", + "name": "Selkup", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sen", + "inverted_name": "Sénoufo, Nanerigé", + "name": "Nanerigé Sénoufo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "seo", + "name": "Suarmin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sep", + "inverted_name": "Sénoufo, Sìcìté", + "name": "Sìcìté Sénoufo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "seq", + "inverted_name": "Sénoufo, Senara", + "name": "Senara Sénoufo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ser", + "name": "Serrano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ses", + "inverted_name": "Songhai, Koyraboro Senni", + "name": "Koyraboro Senni Songhai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "set", + "name": "Sentani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "seu", + "name": "Serui-Laut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sev", + "inverted_name": "Senoufo, Nyarafolo", + "name": "Nyarafolo Senoufo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sew", + "name": "Sewa Bay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sey", + "name": "Secoya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sez", + "inverted_name": "Chin, Senthang", + "name": "Senthang Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sfb", + "name": "Langue des signes de Belgique Francophone", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sfe", + "inverted_name": "Subanen, Eastern", + "name": "Eastern Subanen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sfm", + "inverted_name": "Miao, Small Flowery", + "name": "Small Flowery Miao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sfs", + "name": "South African Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sfw", + "name": "Sehwi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sga", + "inverted_name": "Irish, Old (to 900)", + "name": "Old Irish (to 900)", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "sgb", + "inverted_name": "Ayta, Mag-antsi", + "name": "Mag-antsi Ayta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgc", + "name": "Kipsigis", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgd", + "name": "Surigaonon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sge", + "name": "Segai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgg", + "name": "Swiss-German Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgh", + "name": "Shughni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgi", + "name": "Suga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgj", + "name": "Surgujia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgk", + "name": "Sangkong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgm", + "name": "Singa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "sgp", + "name": "Singpho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgr", + "name": "Sangisari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgs", + "name": "Samogitian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgt", + "name": "Brokpake", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgu", + "name": "Salas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgw", + "name": "Sebat Bet Gurage", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgx", + "name": "Sierra Leone Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgy", + "name": "Sanglechi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sgz", + "name": "Sursurunga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sha", + "name": "Shall-Zwall", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shb", + "name": "Ninam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shc", + "name": "Sonde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shd", + "name": "Kundal Shahi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "she", + "name": "Sheko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shg", + "name": "Shua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shh", + "name": "Shoshoni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shi", + "name": "Tachelhit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shj", + "name": "Shatt", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shk", + "name": "Shilluk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shl", + "name": "Shendu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shm", + "name": "Shahrudi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shn", + "name": "Shan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sho", + "name": "Shanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shp", + "name": "Shipibo-Conibo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shq", + "name": "Sala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shr", + "name": "Shi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shs", + "name": "Shuswap", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sht", + "name": "Shasta", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "shu", + "inverted_name": "Arabic, Chadian", + "name": "Chadian Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shv", + "name": "Shehri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shw", + "name": "Shwai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shx", + "name": "She", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shy", + "name": "Tachawit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "shz", + "inverted_name": "Senoufo, Syenara", + "name": "Syenara Senoufo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sia", + "inverted_name": "Sami, Akkala", + "name": "Akkala Sami", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "sib", + "name": "Sebop", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sid", + "name": "Sidamo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sie", + "name": "Simaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sif", + "name": "Siamou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sig", + "name": "Paasaal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sih", + "name": "Zire", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sii", + "name": "Shom Peng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sij", + "name": "Numbami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sik", + "name": "Sikiana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sil", + "inverted_name": "Sisaala, Tumulung", + "name": "Tumulung Sisaala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sim", + "name": "Mende (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "si", + "alpha_3": "sin", + "name": "Sinhala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sip", + "name": "Sikkimese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "siq", + "name": "Sonia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sir", + "name": "Siri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sis", + "name": "Siuslaw", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "siu", + "name": "Sinagen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "siv", + "name": "Sumariup", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "siw", + "name": "Siwai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "six", + "name": "Sumau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "siy", + "name": "Sivandi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "siz", + "name": "Siwi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sja", + "name": "Epena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sjb", + "name": "Sajau Basap", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sjd", + "inverted_name": "Sami, Kildin", + "name": "Kildin Sami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sje", + "inverted_name": "Sami, Pite", + "name": "Pite Sami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sjg", + "name": "Assangori", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sjk", + "inverted_name": "Sami, Kemi", + "name": "Kemi Sami", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "sjl", + "name": "Sajalong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sjm", + "name": "Mapun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sjn", + "name": "Sindarin", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "sjo", + "name": "Xibe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sjp", + "name": "Surjapuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sjr", + "name": "Siar-Lak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sjs", + "name": "Senhaja De Srair", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "sjt", + "inverted_name": "Sami, Ter", + "name": "Ter Sami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sju", + "inverted_name": "Sami, Ume", + "name": "Ume Sami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sjw", + "name": "Shawnee", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ska", + "name": "Skagit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skb", + "name": "Saek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skc", + "name": "Ma Manda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skd", + "inverted_name": "Miwok, Southern Sierra", + "name": "Southern Sierra Miwok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ske", + "name": "Seke (Vanuatu)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skf", + "name": "Sakirabiá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skg", + "inverted_name": "Malagasy, Sakalava", + "name": "Sakalava Malagasy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skh", + "name": "Sikule", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ski", + "name": "Sika", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skj", + "name": "Seke (Nepal)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skm", + "name": "Kutong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skn", + "inverted_name": "Subanon, Kolibugan", + "name": "Kolibugan Subanon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sko", + "name": "Seko Tengah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skp", + "name": "Sekapan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skq", + "name": "Sininkere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skr", + "name": "Saraiki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sks", + "name": "Maia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skt", + "name": "Sakata", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sku", + "name": "Sakao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skv", + "name": "Skou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skw", + "inverted_name": "Creole Dutch, Skepi", + "name": "Skepi Creole Dutch", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "skx", + "name": "Seko Padang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sky", + "name": "Sikaiana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "skz", + "name": "Sekar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "slc", + "name": "Sáliba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sld", + "name": "Sissala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sle", + "name": "Sholaga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "slf", + "name": "Swiss-Italian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "slg", + "name": "Selungai Murut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "slh", + "inverted_name": "Salish, Southern Puget Sound", + "name": "Southern Puget Sound Salish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sli", + "inverted_name": "Silesian, Lower", + "name": "Lower Silesian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "slj", + "name": "Salumá", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "sk", + "alpha_3": "slk", + "bibliographic": "slo", + "name": "Slovak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sll", + "name": "Salt-Yui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "slm", + "inverted_name": "Sama, Pangutaran", + "name": "Pangutaran Sama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sln", + "name": "Salinan", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "slp", + "name": "Lamaholot", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "slq", + "name": "Salchuq", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "slr", + "name": "Salar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sls", + "name": "Singapore Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "slt", + "name": "Sila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "slu", + "name": "Selaru", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "sl", + "alpha_3": "slv", + "name": "Slovenian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "slw", + "name": "Sialum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "slx", + "name": "Salampasu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sly", + "name": "Selayar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "slz", + "name": "Ma'ya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sma", + "inverted_name": "Sami, Southern", + "name": "Southern Sami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smb", + "name": "Simbari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smc", + "name": "Som", + "scope": "I", + "type": "E" + }, + { + "alpha_2": "se", + "alpha_3": "sme", + "inverted_name": "Sami, Northern", + "name": "Northern Sami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smf", + "name": "Auwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smg", + "name": "Simbali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smh", + "name": "Samei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smj", + "name": "Lule Sami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smk", + "name": "Bolinao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sml", + "inverted_name": "Sama, Central", + "name": "Central Sama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smm", + "name": "Musasa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smn", + "inverted_name": "Sami, Inari", + "name": "Inari Sami", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "sm", + "alpha_3": "smo", + "name": "Samoan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smp", + "name": "Samaritan", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "smq", + "name": "Samo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smr", + "name": "Simeulue", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sms", + "inverted_name": "Sami, Skolt", + "name": "Skolt Sami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smt", + "name": "Simte", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smu", + "name": "Somray", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "smv", + "name": "Samvedi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smw", + "name": "Sumbawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smx", + "name": "Samba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smy", + "name": "Semnani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "smz", + "name": "Simeku", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "sn", + "alpha_3": "sna", + "name": "Shona", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snc", + "name": "Sinaugoro", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "sd", + "alpha_3": "snd", + "name": "Sindhi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sne", + "inverted_name": "Bidayuh, Bau", + "name": "Bau Bidayuh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snf", + "name": "Noon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sng", + "name": "Sanga (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sni", + "name": "Sensi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "snj", + "inverted_name": "Sango, Riverain", + "name": "Riverain Sango", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snk", + "name": "Soninke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snl", + "name": "Sangil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snm", + "inverted_name": "Ma'di, Southern", + "name": "Southern Ma'di", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snn", + "name": "Siona", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sno", + "name": "Snohomish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snp", + "name": "Siane", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snq", + "name": "Sangu (Gabon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snr", + "name": "Sihan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sns", + "name": "South West Bay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snu", + "name": "Senggi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snv", + "name": "Sa'ban", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snw", + "name": "Selee", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snx", + "name": "Sam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sny", + "name": "Saniyo-Hiyewe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "snz", + "name": "Kou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "soa", + "name": "Thai Song", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sob", + "name": "Sobei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "soc", + "name": "So (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sod", + "name": "Songoora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "soe", + "name": "Songomeno", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sog", + "name": "Sogdian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "soh", + "name": "Aka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "soi", + "name": "Sonha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "soj", + "name": "Soi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sok", + "name": "Sokoro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sol", + "name": "Solos", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "so", + "alpha_3": "som", + "name": "Somali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "soo", + "name": "Songo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sop", + "name": "Songe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "soq", + "name": "Kanasi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sor", + "name": "Somrai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sos", + "name": "Seeku", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "st", + "alpha_3": "sot", + "inverted_name": "Sotho, Southern", + "name": "Southern Sotho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sou", + "inverted_name": "Thai, Southern", + "name": "Southern Thai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sov", + "name": "Sonsorol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sow", + "name": "Sowanda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sox", + "name": "Swo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "soy", + "name": "Miyobe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "soz", + "name": "Temi", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "es", + "alpha_3": "spa", + "name": "Spanish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spb", + "name": "Sepa (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spc", + "name": "Sapé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spd", + "name": "Saep", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spe", + "name": "Sepa (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spg", + "name": "Sian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spi", + "name": "Saponi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spk", + "name": "Sengo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spl", + "name": "Selepet", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spm", + "name": "Akukem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spn", + "name": "Sanapaná", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spo", + "name": "Spokane", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spp", + "inverted_name": "Senoufo, Supyire", + "name": "Supyire Senoufo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spq", + "inverted_name": "Spanish, Loreto-Ucayali", + "name": "Loreto-Ucayali Spanish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spr", + "name": "Saparua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sps", + "name": "Saposa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spt", + "inverted_name": "Bhoti, Spiti", + "name": "Spiti Bhoti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spu", + "name": "Sapuan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spv", + "name": "Sambalpuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "spx", + "inverted_name": "Picene, South", + "name": "South Picene", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "spy", + "name": "Sabaot", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sqa", + "name": "Shama-Sambuga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sqh", + "name": "Shau", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "sq", + "alpha_3": "sqi", + "bibliographic": "alb", + "name": "Albanian", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "sqk", + "name": "Albanian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sqm", + "name": "Suma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sqn", + "name": "Susquehannock", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "sqo", + "name": "Sorkhei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sqq", + "name": "Sou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sqr", + "inverted_name": "Arabic, Siculo", + "name": "Siculo Arabic", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "sqs", + "name": "Sri Lankan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sqt", + "name": "Soqotri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "squ", + "name": "Squamish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sqx", + "name": "Kufr Qassem Sign Language (KQSL)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sra", + "name": "Saruga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srb", + "name": "Sora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "src", + "inverted_name": "Sardinian, Logudorese", + "name": "Logudorese Sardinian", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "sc", + "alpha_3": "srd", + "name": "Sardinian", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "sre", + "name": "Sara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srf", + "name": "Nafi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srg", + "name": "Sulod", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srh", + "name": "Sarikoli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sri", + "name": "Siriano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srk", + "name": "Serudung Murut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srl", + "name": "Isirawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srm", + "name": "Saramaccan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srn", + "name": "Sranan Tongo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sro", + "inverted_name": "Sardinian, Campidanese", + "name": "Campidanese Sardinian", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "sr", + "alpha_3": "srp", + "name": "Serbian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srq", + "name": "Sirionó", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srr", + "name": "Serer", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srs", + "name": "Sarsi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srt", + "name": "Sauri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sru", + "name": "Suruí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srv", + "inverted_name": "Sorsoganon, Southern", + "name": "Southern Sorsoganon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srw", + "name": "Serua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srx", + "name": "Sirmauri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sry", + "name": "Sera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "srz", + "name": "Shahmirzadi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssb", + "inverted_name": "Sama, Southern", + "name": "Southern Sama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssc", + "name": "Suba-Simbiti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssd", + "name": "Siroi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sse", + "name": "Balangingi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssf", + "name": "Thao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssg", + "name": "Seimat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssh", + "inverted_name": "Arabic, Shihhi", + "name": "Shihhi Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssi", + "name": "Sansi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssj", + "name": "Sausi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssk", + "name": "Sunam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssl", + "inverted_name": "Sisaala, Western", + "name": "Western Sisaala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssm", + "name": "Semnam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssn", + "name": "Waata", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sso", + "name": "Sissano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssp", + "name": "Spanish Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssq", + "name": "So'a", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssr", + "name": "Swiss-French Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sss", + "name": "Sô", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sst", + "name": "Sinasina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssu", + "name": "Susuami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssv", + "name": "Shark Bay", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ss", + "alpha_3": "ssw", + "name": "Swati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssx", + "name": "Samberigi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssy", + "name": "Saho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ssz", + "name": "Sengseng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sta", + "name": "Settla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stb", + "inverted_name": "Subanen, Northern", + "name": "Northern Subanen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "std", + "name": "Sentinel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ste", + "name": "Liana-Seti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stf", + "name": "Seta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stg", + "name": "Trieng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sth", + "name": "Shelta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sti", + "inverted_name": "Stieng, Bulo", + "name": "Bulo Stieng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stj", + "inverted_name": "Samo, Matya", + "name": "Matya Samo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stk", + "name": "Arammba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stl", + "name": "Stellingwerfs", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stm", + "name": "Setaman", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stn", + "name": "Owa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sto", + "name": "Stoney", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stp", + "inverted_name": "Tepehuan, Southeastern", + "name": "Southeastern Tepehuan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stq", + "name": "Saterfriesisch", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "str", + "inverted_name": "Salish, Straits", + "name": "Straits Salish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sts", + "name": "Shumashti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stt", + "inverted_name": "Stieng, Budeh", + "name": "Budeh Stieng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stu", + "name": "Samtao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stv", + "name": "Silt'e", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "stw", + "name": "Satawalese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sty", + "inverted_name": "Tatar, Siberian", + "name": "Siberian Tatar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sua", + "name": "Sulka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sub", + "name": "Suku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "suc", + "inverted_name": "Subanon, Western", + "name": "Western Subanon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sue", + "name": "Suena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sug", + "name": "Suganga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sui", + "name": "Suki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "suj", + "name": "Shubi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "suk", + "name": "Sukuma", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "su", + "alpha_3": "sun", + "name": "Sundanese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "suo", + "name": "Bouni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "suq", + "inverted_name": "Suri, Tirmaga-Chai", + "name": "Tirmaga-Chai Suri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sur", + "name": "Mwaghavul", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sus", + "name": "Susu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sut", + "name": "Subtiaba", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "suv", + "name": "Puroik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "suw", + "name": "Sumbwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sux", + "name": "Sumerian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "suy", + "name": "Suyá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "suz", + "name": "Sunwar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sva", + "name": "Svan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "svb", + "name": "Ulau-Suain", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "svc", + "inverted_name": "Creole English, Vincentian", + "name": "Vincentian Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sve", + "name": "Serili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "svk", + "name": "Slovakian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "svm", + "name": "Slavomolisano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "svs", + "name": "Savosavo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "svx", + "name": "Skalvian", + "scope": "I", + "type": "H" + }, + { + "alpha_2": "sw", + "alpha_3": "swa", + "name": "Swahili (macrolanguage)", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "swb", + "inverted_name": "Comorian, Maore", + "name": "Maore Comorian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swc", + "inverted_name": "Swahili, Congo", + "name": "Congo Swahili", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "sv", + "alpha_3": "swe", + "name": "Swedish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swf", + "name": "Sere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swg", + "name": "Swabian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swh", + "name": "Swahili (individual language)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swi", + "name": "Sui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swj", + "name": "Sira", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swk", + "inverted_name": "Sena, Malawi", + "name": "Malawi Sena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swl", + "name": "Swedish Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swm", + "name": "Samosa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swn", + "name": "Sawknah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swo", + "name": "Shanenawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swp", + "name": "Suau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swq", + "name": "Sharwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swr", + "name": "Saweru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sws", + "name": "Seluwasan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swt", + "name": "Sawila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swu", + "name": "Suwawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swv", + "name": "Shekhawati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sww", + "name": "Sowa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "swx", + "name": "Suruahá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "swy", + "name": "Sarua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sxb", + "name": "Suba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sxc", + "name": "Sicanian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "sxe", + "name": "Sighu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sxg", + "name": "Shuhi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sxk", + "inverted_name": "Kalapuya, Southern", + "name": "Southern Kalapuya", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "sxl", + "name": "Selian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "sxm", + "name": "Samre", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sxn", + "name": "Sangir", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sxo", + "name": "Sorothaptic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "sxr", + "name": "Saaroa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sxs", + "name": "Sasaru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sxu", + "inverted_name": "Saxon, Upper", + "name": "Upper Saxon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sxw", + "inverted_name": "Gbe, Saxwe", + "name": "Saxwe Gbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sya", + "name": "Siang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "syb", + "inverted_name": "Subanen, Central", + "name": "Central Subanen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "syc", + "inverted_name": "Syriac, Classical", + "name": "Classical Syriac", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "syi", + "name": "Seki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "syk", + "name": "Sukur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "syl", + "name": "Sylheti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sym", + "inverted_name": "Samo, Maya", + "name": "Maya Samo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "syn", + "name": "Senaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "syo", + "name": "Suoy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "syr", + "name": "Syriac", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "sys", + "name": "Sinyar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "syw", + "name": "Kagate", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "syx", + "name": "Samay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "syy", + "name": "Al-Sayyid Bedouin Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "sza", + "name": "Semelai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "szb", + "name": "Ngalum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "szc", + "name": "Semaq Beri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "szd", + "name": "Seru", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "sze", + "name": "Seze", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "szg", + "name": "Sengele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "szl", + "name": "Silesian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "szn", + "name": "Sula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "szp", + "name": "Suabo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "szs", + "name": "Solomon Islands Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "szv", + "name": "Isu (Fako Division)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "szw", + "name": "Sawai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "szy", + "name": "Sakizaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "taa", + "inverted_name": "Tanana, Lower", + "name": "Lower Tanana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tab", + "name": "Tabassaran", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tac", + "inverted_name": "Tarahumara, Lowland", + "name": "Lowland Tarahumara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tad", + "name": "Tause", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tae", + "name": "Tariana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "taf", + "name": "Tapirapé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tag", + "name": "Tagoi", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ty", + "alpha_3": "tah", + "name": "Tahitian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "taj", + "inverted_name": "Tamang, Eastern", + "name": "Eastern Tamang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tak", + "name": "Tala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tal", + "name": "Tal", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ta", + "alpha_3": "tam", + "name": "Tamil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tan", + "name": "Tangale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tao", + "name": "Yami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tap", + "name": "Taabwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "taq", + "name": "Tamasheq", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tar", + "inverted_name": "Tarahumara, Central", + "name": "Central Tarahumara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tas", + "name": "Tay Boi", + "scope": "I", + "type": "E" + }, + { + "alpha_2": "tt", + "alpha_3": "tat", + "name": "Tatar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tau", + "inverted_name": "Tanana, Upper", + "name": "Upper Tanana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tav", + "name": "Tatuyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "taw", + "name": "Tai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tax", + "name": "Tamki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tay", + "name": "Atayal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "taz", + "name": "Tocho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tba", + "name": "Aikanã", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbc", + "name": "Takia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbd", + "name": "Kaki Ae", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbe", + "name": "Tanimbili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbf", + "name": "Mandara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbg", + "inverted_name": "Tairora, North", + "name": "North Tairora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbh", + "name": "Dharawal", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tbi", + "name": "Gaam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbj", + "name": "Tiang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbk", + "inverted_name": "Tagbanwa, Calamian", + "name": "Calamian Tagbanwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbl", + "name": "Tboli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbm", + "name": "Tagbu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbn", + "inverted_name": "Tunebo, Barro Negro", + "name": "Barro Negro Tunebo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbo", + "name": "Tawala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbp", + "name": "Taworta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbr", + "name": "Tumtum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbs", + "name": "Tanguat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbt", + "name": "Tembo (Kitembo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbu", + "name": "Tubar", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tbv", + "name": "Tobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbw", + "name": "Tagbanwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbx", + "name": "Kapin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tby", + "name": "Tabaru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tbz", + "name": "Ditammari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tca", + "name": "Ticuna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcb", + "name": "Tanacross", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcc", + "name": "Datooga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcd", + "name": "Tafi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tce", + "inverted_name": "Tutchone, Southern", + "name": "Southern Tutchone", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcf", + "inverted_name": "Me'phaa, Malinaltepec", + "name": "Malinaltepec Me'phaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcg", + "name": "Tamagario", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tch", + "inverted_name": "Creole English, Turks And Caicos", + "name": "Turks And Caicos Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tci", + "name": "Wára", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tck", + "name": "Tchitchege", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcl", + "name": "Taman (Myanmar)", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tcm", + "name": "Tanahmerah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcn", + "name": "Tichurong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tco", + "name": "Taungyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcp", + "inverted_name": "Chin, Tawr", + "name": "Tawr Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcq", + "name": "Kaiy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcs", + "inverted_name": "Creole, Torres Strait", + "name": "Torres Strait Creole", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tct", + "name": "T'en", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcu", + "inverted_name": "Tarahumara, Southeastern", + "name": "Southeastern Tarahumara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcw", + "inverted_name": "Totonac, Tecpatlán", + "name": "Tecpatlán Totonac", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcx", + "name": "Toda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcy", + "name": "Tulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tcz", + "inverted_name": "Chin, Thado", + "name": "Thado Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tda", + "name": "Tagdal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdb", + "name": "Panchpargania", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdc", + "name": "Emberá-Tadó", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdd", + "name": "Tai Nüa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tde", + "inverted_name": "Dogon, Tiranige Diga", + "name": "Tiranige Diga Dogon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdf", + "name": "Talieng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdg", + "inverted_name": "Tamang, Western", + "name": "Western Tamang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdh", + "name": "Thulung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdi", + "name": "Tomadino", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdj", + "name": "Tajio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdk", + "name": "Tambas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdl", + "name": "Sur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdm", + "name": "Taruma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdn", + "name": "Tondano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdo", + "name": "Teme", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdq", + "name": "Tita", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdr", + "name": "Todrah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tds", + "name": "Doutai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdt", + "name": "Tetun Dili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdv", + "name": "Toro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdx", + "inverted_name": "Malagasy, Tandroy-Mahafaly", + "name": "Tandroy-Mahafaly Malagasy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tdy", + "name": "Tadyawan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tea", + "name": "Temiar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "teb", + "name": "Tetete", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tec", + "name": "Terik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ted", + "inverted_name": "Krumen, Tepo", + "name": "Tepo Krumen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tee", + "inverted_name": "Tepehua, Huehuetla", + "name": "Huehuetla Tepehua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tef", + "name": "Teressa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "teg", + "name": "Teke-Tege", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "teh", + "name": "Tehuelche", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tei", + "name": "Torricelli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tek", + "inverted_name": "Teke, Ibali", + "name": "Ibali Teke", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "te", + "alpha_3": "tel", + "name": "Telugu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tem", + "name": "Timne", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ten", + "name": "Tama (Colombia)", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "teo", + "name": "Teso", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tep", + "name": "Tepecano", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "teq", + "name": "Temein", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ter", + "name": "Tereno", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tes", + "name": "Tengger", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tet", + "name": "Tetum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "teu", + "name": "Soo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tev", + "name": "Teor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tew", + "name": "Tewa (USA)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tex", + "name": "Tennet", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tey", + "name": "Tulishi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tez", + "name": "Tetserret", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tfi", + "inverted_name": "Gbe, Tofin", + "name": "Tofin Gbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tfn", + "name": "Tanaina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tfo", + "name": "Tefaro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tfr", + "name": "Teribe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tft", + "name": "Ternate", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tga", + "name": "Sagalla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgb", + "name": "Tobilung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgc", + "name": "Tigak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgd", + "name": "Ciwogai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tge", + "inverted_name": "Tamang, Eastern Gorkha", + "name": "Eastern Gorkha Tamang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgf", + "name": "Chalikha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgh", + "inverted_name": "Creole English, Tobagonian", + "name": "Tobagonian Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgi", + "name": "Lawunuia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgj", + "name": "Tagin", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "tg", + "alpha_3": "tgk", + "name": "Tajik", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "tl", + "alpha_3": "tgl", + "name": "Tagalog", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgn", + "name": "Tandaganon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgo", + "name": "Sudest", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgp", + "name": "Tangoa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgq", + "name": "Tring", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgr", + "name": "Tareng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgs", + "name": "Nume", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgt", + "inverted_name": "Tagbanwa, Central", + "name": "Central Tagbanwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgu", + "name": "Tanggu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgv", + "name": "Tingui-Boto", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tgw", + "inverted_name": "Senoufo, Tagwana", + "name": "Tagwana Senoufo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgx", + "name": "Tagish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tgy", + "name": "Togoyo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tgz", + "name": "Tagalaka", + "scope": "I", + "type": "E" + }, + { + "alpha_2": "th", + "alpha_3": "tha", + "name": "Thai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thd", + "name": "Kuuk Thaayorre", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "the", + "inverted_name": "Tharu, Chitwania", + "name": "Chitwania Tharu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thf", + "name": "Thangmi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thh", + "inverted_name": "Tarahumara, Northern", + "name": "Northern Tarahumara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thi", + "name": "Tai Long", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thk", + "name": "Tharaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thl", + "inverted_name": "Tharu, Dangaura", + "name": "Dangaura Tharu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thm", + "name": "Aheu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thn", + "name": "Thachanadan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thp", + "name": "Thompson", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thq", + "inverted_name": "Tharu, Kochila", + "name": "Kochila Tharu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thr", + "inverted_name": "Tharu, Rana", + "name": "Rana Tharu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ths", + "name": "Thakali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tht", + "name": "Tahltan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thu", + "name": "Thuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thv", + "inverted_name": "Tamahaq, Tahaggart", + "name": "Tahaggart Tamahaq", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thy", + "name": "Tha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "thz", + "inverted_name": "Tamajeq, Tayart", + "name": "Tayart Tamajeq", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tia", + "inverted_name": "Tamazight, Tidikelt", + "name": "Tidikelt Tamazight", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tic", + "name": "Tira", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tif", + "name": "Tifal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tig", + "name": "Tigre", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tih", + "inverted_name": "Murut, Timugon", + "name": "Timugon Murut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tii", + "name": "Tiene", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tij", + "name": "Tilung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tik", + "name": "Tikar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "til", + "name": "Tillamook", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tim", + "name": "Timbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tin", + "name": "Tindi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tio", + "name": "Teop", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tip", + "name": "Trimuris", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tiq", + "name": "Tiéfo", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ti", + "alpha_3": "tir", + "name": "Tigrinya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tis", + "inverted_name": "Itneg, Masadiit", + "name": "Masadiit Itneg", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tit", + "name": "Tinigua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tiu", + "name": "Adasen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tiv", + "name": "Tiv", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tiw", + "name": "Tiwi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tix", + "inverted_name": "Tiwa, Southern", + "name": "Southern Tiwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tiy", + "name": "Tiruray", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tiz", + "name": "Tai Hongjin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tja", + "name": "Tajuasohn", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tjg", + "name": "Tunjung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tji", + "inverted_name": "Tujia, Northern", + "name": "Northern Tujia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tjj", + "name": "Tjungundji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tjl", + "name": "Tai Laing", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tjm", + "name": "Timucua", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tjn", + "name": "Tonjon", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tjo", + "inverted_name": "Tamazight, Temacine", + "name": "Temacine Tamazight", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tjp", + "name": "Tjupany", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tjs", + "inverted_name": "Tujia, Southern", + "name": "Southern Tujia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tju", + "name": "Tjurruru", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tjw", + "name": "Djabwurrung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tka", + "name": "Truká", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tkb", + "name": "Buksa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tkd", + "name": "Tukudede", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tke", + "name": "Takwane", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tkf", + "name": "Tukumanféd", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tkg", + "inverted_name": "Malagasy, Tesaka", + "name": "Tesaka Malagasy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tkl", + "name": "Tokelau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tkm", + "name": "Takelma", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tkn", + "name": "Toku-No-Shima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tkp", + "name": "Tikopia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tkq", + "name": "Tee", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tkr", + "name": "Tsakhur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tks", + "name": "Takestani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tkt", + "inverted_name": "Tharu, Kathoriya", + "name": "Kathoriya Tharu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tku", + "inverted_name": "Totonac, Upper Necaxa", + "name": "Upper Necaxa Totonac", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tkv", + "name": "Mur Pano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tkw", + "name": "Teanu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tkx", + "name": "Tangko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tkz", + "name": "Takua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tla", + "inverted_name": "Tepehuan, Southwestern", + "name": "Southwestern Tepehuan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlb", + "name": "Tobelo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlc", + "inverted_name": "Totonac, Yecuatla", + "name": "Yecuatla Totonac", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tld", + "name": "Talaud", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlf", + "name": "Telefol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlg", + "name": "Tofanma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlh", + "name": "Klingon", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "tli", + "name": "Tlingit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlj", + "name": "Talinga-Bwisi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlk", + "name": "Taloki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tll", + "name": "Tetela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlm", + "name": "Tolomako", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tln", + "name": "Talondo'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlo", + "name": "Talodi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlp", + "inverted_name": "Totonac, Filomena Mata-Coahuitlán", + "name": "Filomena Mata-Coahuitlán Totonac", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlq", + "name": "Tai Loi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlr", + "name": "Talise", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tls", + "name": "Tambotalo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlt", + "name": "Sou Nama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlu", + "name": "Tulehu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlv", + "name": "Taliabu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tlx", + "name": "Khehek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tly", + "name": "Talysh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tma", + "name": "Tama (Chad)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmb", + "name": "Katbol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmc", + "name": "Tumak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmd", + "name": "Haruai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tme", + "name": "Tremembé", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tmf", + "name": "Toba-Maskoy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmg", + "name": "Ternateño", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tmh", + "name": "Tamashek", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "tmi", + "name": "Tutuba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmj", + "name": "Samarokena", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmk", + "inverted_name": "Tamang, Northwestern", + "name": "Northwestern Tamang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tml", + "inverted_name": "Citak, Tamnim", + "name": "Tamnim Citak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmm", + "name": "Tai Thanh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmn", + "name": "Taman (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmo", + "name": "Temoq", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmq", + "name": "Tumleo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmr", + "inverted_name": "Aramaic, Jewish Babylonian (ca. 200-1200 CE)", + "name": "Jewish Babylonian Aramaic (ca. 200-1200 CE)", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tms", + "name": "Tima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmt", + "name": "Tasmate", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmu", + "name": "Iau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmv", + "name": "Tembo (Motembo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmw", + "name": "Temuan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmy", + "name": "Tami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tmz", + "name": "Tamanaku", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tna", + "name": "Tacana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnb", + "inverted_name": "Tunebo, Western", + "name": "Western Tunebo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnc", + "name": "Tanimuca-Retuarã", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnd", + "inverted_name": "Tunebo, Angosturas", + "name": "Angosturas Tunebo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tng", + "name": "Tobanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnh", + "name": "Maiani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tni", + "name": "Tandia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnk", + "name": "Kwamera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnl", + "name": "Lenakel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnm", + "name": "Tabla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnn", + "inverted_name": "Tanna, North", + "name": "North Tanna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tno", + "name": "Toromono", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnp", + "name": "Whitesands", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnq", + "name": "Taino", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tnr", + "name": "Ménik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tns", + "name": "Tenis", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnt", + "name": "Tontemboan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnu", + "name": "Tay Khang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnv", + "name": "Tangchangya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnw", + "name": "Tonsawang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnx", + "name": "Tanema", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tny", + "name": "Tongwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tnz", + "name": "Ten'edn", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tob", + "name": "Toba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "toc", + "inverted_name": "Totonac, Coyutla", + "name": "Coyutla Totonac", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tod", + "name": "Toma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tof", + "name": "Gizrra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tog", + "name": "Tonga (Nyasa)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "toh", + "name": "Gitonga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "toi", + "name": "Tonga (Zambia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "toj", + "name": "Tojolabal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tok", + "name": "Toki Pona", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "tol", + "name": "Tolowa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tom", + "name": "Tombulu", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "to", + "alpha_3": "ton", + "name": "Tonga (Tonga Islands)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "too", + "inverted_name": "Totonac, Xicotepec De Juárez", + "name": "Xicotepec De Juárez Totonac", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "top", + "inverted_name": "Totonac, Papantla", + "name": "Papantla Totonac", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "toq", + "name": "Toposa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tor", + "inverted_name": "Banda, Togbo-Vara", + "name": "Togbo-Vara Banda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tos", + "inverted_name": "Totonac, Highland", + "name": "Highland Totonac", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tou", + "name": "Tho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tov", + "inverted_name": "Taromi, Upper", + "name": "Upper Taromi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tow", + "name": "Jemez", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tox", + "name": "Tobian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "toy", + "name": "Topoiyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "toz", + "name": "To", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpa", + "name": "Taupota", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpc", + "inverted_name": "Me'phaa, Azoyú", + "name": "Azoyú Me'phaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpe", + "name": "Tippera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpf", + "name": "Tarpia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpg", + "name": "Kula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpi", + "name": "Tok Pisin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpj", + "name": "Tapieté", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpk", + "name": "Tupinikin", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tpl", + "inverted_name": "Me'phaa, Tlacoapa", + "name": "Tlacoapa Me'phaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpm", + "name": "Tampulma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpn", + "name": "Tupinambá", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tpo", + "name": "Tai Pao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpp", + "inverted_name": "Tepehua, Pisaflores", + "name": "Pisaflores Tepehua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpq", + "name": "Tukpa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpr", + "name": "Tuparí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpt", + "inverted_name": "Tepehua, Tlachichilco", + "name": "Tlachichilco Tepehua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpu", + "name": "Tampuan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpv", + "name": "Tanapag", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpw", + "name": "Tupí", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tpx", + "inverted_name": "Me'phaa, Acatepec", + "name": "Acatepec Me'phaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpy", + "name": "Trumai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tpz", + "name": "Tinputz", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tqb", + "name": "Tembé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tql", + "name": "Lehali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tqm", + "name": "Turumsa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tqn", + "name": "Tenino", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tqo", + "name": "Toaripi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tqp", + "name": "Tomoip", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tqq", + "name": "Tunni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tqr", + "name": "Torona", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tqt", + "inverted_name": "Totonac, Western", + "name": "Western Totonac", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tqu", + "name": "Touo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tqw", + "name": "Tonkawa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tra", + "name": "Tirahi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trb", + "name": "Terebu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trc", + "inverted_name": "Triqui, Copala", + "name": "Copala Triqui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trd", + "name": "Turi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tre", + "inverted_name": "Tarangan, East", + "name": "East Tarangan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trf", + "inverted_name": "Creole English, Trinidadian", + "name": "Trinidadian Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trg", + "name": "Lishán Didán", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trh", + "name": "Turaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tri", + "name": "Trió", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trj", + "name": "Toram", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trl", + "inverted_name": "Scottish, Traveller", + "name": "Traveller Scottish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trm", + "name": "Tregami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trn", + "name": "Trinitario", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tro", + "inverted_name": "Naga, Tarao", + "name": "Tarao Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trp", + "name": "Kok Borok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trq", + "inverted_name": "Triqui, San Martín Itunyoso", + "name": "San Martín Itunyoso Triqui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trr", + "name": "Taushiro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trs", + "inverted_name": "Triqui, Chicahuaxtla", + "name": "Chicahuaxtla Triqui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trt", + "name": "Tunggare", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tru", + "name": "Turoyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trv", + "name": "Sediq", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trw", + "name": "Torwali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "trx", + "inverted_name": "Bidayuh, Tringgus-Sembaan", + "name": "Tringgus-Sembaan Bidayuh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "try", + "name": "Turung", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "trz", + "name": "Torá", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tsa", + "name": "Tsaangi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsb", + "name": "Tsamai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsc", + "name": "Tswa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsd", + "name": "Tsakonian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tse", + "name": "Tunisian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsg", + "name": "Tausug", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsh", + "name": "Tsuvan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsi", + "name": "Tsimshian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsj", + "name": "Tshangla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsk", + "name": "Tseku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsl", + "name": "Ts'ün-Lao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsm", + "name": "Turkish Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "tn", + "alpha_3": "tsn", + "name": "Tswana", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ts", + "alpha_3": "tso", + "name": "Tsonga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsp", + "inverted_name": "Toussian, Northern", + "name": "Northern Toussian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsq", + "name": "Thai Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsr", + "name": "Akei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tss", + "name": "Taiwan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tst", + "inverted_name": "Songway Kiini, Tondi", + "name": "Tondi Songway Kiini", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsu", + "name": "Tsou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsv", + "name": "Tsogo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsw", + "name": "Tsishingini", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsx", + "name": "Mubami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsy", + "name": "Tebul Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tsz", + "name": "Purepecha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tta", + "name": "Tutelo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ttb", + "name": "Gaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttc", + "name": "Tektiteko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttd", + "name": "Tauade", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tte", + "name": "Bwanabwana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttf", + "name": "Tuotomb", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttg", + "name": "Tutong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tth", + "inverted_name": "Ta'oih, Upper", + "name": "Upper Ta'oih", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tti", + "name": "Tobati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttj", + "name": "Tooro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttk", + "name": "Totoro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttl", + "name": "Totela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttm", + "inverted_name": "Tutchone, Northern", + "name": "Northern Tutchone", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttn", + "name": "Towei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tto", + "inverted_name": "Ta'oih, Lower", + "name": "Lower Ta'oih", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttp", + "name": "Tombelala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttq", + "inverted_name": "Tamajaq, Tawallammat", + "name": "Tawallammat Tamajaq", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttr", + "name": "Tera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tts", + "inverted_name": "Thai, Northeastern", + "name": "Northeastern Thai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttt", + "inverted_name": "Tat, Muslim", + "name": "Muslim Tat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttu", + "name": "Torau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttv", + "name": "Titan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttw", + "name": "Long Wat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tty", + "name": "Sikaritai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ttz", + "name": "Tsum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tua", + "name": "Wiarumus", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tub", + "name": "Tübatulabal", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tuc", + "name": "Mutu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tud", + "name": "Tuxá", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tue", + "name": "Tuyuca", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tuf", + "inverted_name": "Tunebo, Central", + "name": "Central Tunebo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tug", + "name": "Tunia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tuh", + "name": "Taulil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tui", + "name": "Tupuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tuj", + "name": "Tugutil", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "tk", + "alpha_3": "tuk", + "name": "Turkmen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tul", + "name": "Tula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tum", + "name": "Tumbuka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tun", + "name": "Tunica", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tuo", + "name": "Tucano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tuq", + "name": "Tedaga", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "tr", + "alpha_3": "tur", + "name": "Turkish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tus", + "name": "Tuscarora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tuu", + "name": "Tututni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tuv", + "name": "Turkana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tux", + "name": "Tuxináwa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tuy", + "name": "Tugen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tuz", + "name": "Turka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tva", + "name": "Vaghua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tvd", + "name": "Tsuvadi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tve", + "name": "Te'un", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tvk", + "inverted_name": "Ambrym, Southeast", + "name": "Southeast Ambrym", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tvl", + "name": "Tuvalu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tvm", + "name": "Tela-Masbuar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tvn", + "name": "Tavoyan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tvo", + "name": "Tidore", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tvs", + "name": "Taveta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tvt", + "inverted_name": "Naga, Tutsa", + "name": "Tutsa Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tvu", + "name": "Tunen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tvw", + "name": "Sedoa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tvx", + "name": "Taivoan", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tvy", + "inverted_name": "Pidgin, Timor", + "name": "Timor Pidgin", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "twa", + "name": "Twana", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "twb", + "inverted_name": "Tawbuid, Western", + "name": "Western Tawbuid", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twc", + "name": "Teshenawa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "twd", + "name": "Twents", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twe", + "name": "Tewa (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twf", + "inverted_name": "Tiwa, Northern", + "name": "Northern Tiwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twg", + "name": "Tereweng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twh", + "name": "Tai Dón", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "tw", + "alpha_3": "twi", + "name": "Twi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twl", + "name": "Tawara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twm", + "inverted_name": "Monpa, Tawang", + "name": "Tawang Monpa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twn", + "name": "Twendi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "two", + "name": "Tswapong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twp", + "name": "Ere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twq", + "name": "Tasawaq", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twr", + "inverted_name": "Tarahumara, Southwestern", + "name": "Southwestern Tarahumara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twt", + "name": "Turiwára", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "twu", + "name": "Termanu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tww", + "name": "Tuwari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twx", + "name": "Tewe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "twy", + "name": "Tawoyan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "txa", + "name": "Tombonuo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "txb", + "name": "Tokharian B", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "txc", + "name": "Tsetsaut", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "txe", + "name": "Totoli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "txg", + "name": "Tangut", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "txh", + "name": "Thracian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "txi", + "name": "Ikpeng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "txj", + "name": "Tarjumo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "txm", + "name": "Tomini", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "txn", + "inverted_name": "Tarangan, West", + "name": "West Tarangan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "txo", + "name": "Toto", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "txq", + "name": "Tii", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "txr", + "name": "Tartessian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "txs", + "name": "Tonsea", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "txt", + "name": "Citak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "txu", + "name": "Kayapó", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "txx", + "name": "Tatana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "txy", + "inverted_name": "Malagasy, Tanosy", + "name": "Tanosy Malagasy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tya", + "name": "Tauya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tye", + "name": "Kyanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tyh", + "name": "O'du", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tyi", + "name": "Teke-Tsaayi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tyj", + "name": "Tai Do", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tyl", + "name": "Thu Lao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tyn", + "name": "Kombai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "typ", + "name": "Thaypan", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "tyr", + "name": "Tai Daeng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tys", + "name": "Tày Sa Pa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tyt", + "name": "Tày Tac", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tyu", + "name": "Kua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tyv", + "name": "Tuvinian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tyx", + "name": "Teke-Tyee", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tyy", + "name": "Tiyaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tyz", + "name": "Tày", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tza", + "name": "Tanzanian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tzh", + "name": "Tzeltal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tzj", + "name": "Tz'utujil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tzl", + "name": "Talossan", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "tzm", + "inverted_name": "Tamazight, Central Atlas", + "name": "Central Atlas Tamazight", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tzn", + "name": "Tugun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tzo", + "name": "Tzotzil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "tzx", + "name": "Tabriak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uam", + "name": "Uamué", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "uan", + "name": "Kuan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uar", + "name": "Tairuma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uba", + "name": "Ubang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ubi", + "name": "Ubi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ubl", + "inverted_name": "Bikol, Buhi'non", + "name": "Buhi'non Bikol", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ubr", + "name": "Ubir", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ubu", + "name": "Umbu-Ungu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uby", + "name": "Ubykh", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "uda", + "name": "Uda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ude", + "name": "Udihe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "udg", + "name": "Muduga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "udi", + "name": "Udi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "udj", + "name": "Ujir", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "udl", + "name": "Wuzlam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "udm", + "name": "Udmurt", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "udu", + "name": "Uduk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ues", + "name": "Kioko", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ufi", + "name": "Ufim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uga", + "name": "Ugaritic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "ugb", + "name": "Kuku-Ugbanh", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "uge", + "name": "Ughele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ugh", + "name": "Kubachi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ugn", + "name": "Ugandan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ugo", + "name": "Ugong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ugy", + "name": "Uruguayan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uha", + "name": "Uhami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uhn", + "name": "Damal", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ug", + "alpha_3": "uig", + "name": "Uighur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uis", + "name": "Uisai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uiv", + "name": "Iyive", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uji", + "name": "Tanjijili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uka", + "name": "Kaburi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ukg", + "name": "Ukuriguma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ukh", + "name": "Ukhwejo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uki", + "name": "Kui (India)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ukk", + "name": "Muak Sa-aak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ukl", + "name": "Ukrainian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ukp", + "name": "Ukpe-Bayobiri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ukq", + "name": "Ukwa", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "uk", + "alpha_3": "ukr", + "name": "Ukrainian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uks", + "name": "Urubú-Kaapor Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uku", + "name": "Ukue", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ukv", + "name": "Kuku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ukw", + "name": "Ukwuani-Aboh-Ndoni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uky", + "name": "Kuuk-Yak", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ula", + "name": "Fungwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ulb", + "name": "Ulukwumi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ulc", + "name": "Ulch", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ule", + "name": "Lule", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ulf", + "name": "Usku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uli", + "name": "Ulithian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ulk", + "name": "Meriam Mir", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ull", + "name": "Ullatan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ulm", + "name": "Ulumanda'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uln", + "name": "Unserdeutsch", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ulu", + "name": "Uma' Lung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ulw", + "name": "Ulwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uma", + "name": "Umatilla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "umb", + "name": "Umbundu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "umc", + "name": "Marrucinian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "umd", + "name": "Umbindhamu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "umg", + "name": "Morrobalama", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "umi", + "name": "Ukit", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "umm", + "name": "Umon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "umn", + "inverted_name": "Naga, Makyan", + "name": "Makyan Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "umo", + "name": "Umotína", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ump", + "name": "Umpila", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "umr", + "name": "Umbugarla", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ums", + "name": "Pendau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "umu", + "name": "Munsee", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "una", + "inverted_name": "Watut, North", + "name": "North Watut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "und", + "name": "Undetermined", + "scope": "S", + "type": "S" + }, + { + "alpha_3": "une", + "name": "Uneme", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ung", + "name": "Ngarinyin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uni", + "name": "Uni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "unk", + "name": "Enawené-Nawé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "unm", + "name": "Unami", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "unn", + "name": "Kurnai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "unr", + "name": "Mundari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "unu", + "name": "Unubahe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "unx", + "name": "Munda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "unz", + "inverted_name": "Kaili, Unde", + "name": "Unde Kaili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uon", + "name": "Kulon", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "upi", + "name": "Umeda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "upv", + "name": "Uripiv-Wala-Rano-Atchin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ura", + "name": "Urarina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "urb", + "name": "Urubú-Kaapor", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "urc", + "name": "Urningangg", + "scope": "I", + "type": "E" + }, + { + "alpha_2": "ur", + "alpha_3": "urd", + "name": "Urdu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ure", + "name": "Uru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "urf", + "name": "Uradhi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "urg", + "name": "Urigina", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "urh", + "name": "Urhobo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uri", + "name": "Urim", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "urk", + "name": "Urak Lawoi'", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "url", + "name": "Urali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "urm", + "name": "Urapmin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "urn", + "name": "Uruangnirin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uro", + "name": "Ura (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "urp", + "name": "Uru-Pa-In", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "urr", + "name": "Lehalurup", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "urt", + "name": "Urat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uru", + "name": "Urumi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "urv", + "name": "Uruava", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "urw", + "name": "Sop", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "urx", + "name": "Urimo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ury", + "name": "Orya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "urz", + "name": "Uru-Eu-Wau-Wau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "usa", + "name": "Usarufa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ush", + "name": "Ushojo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "usi", + "name": "Usui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "usk", + "name": "Usaghade", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "usp", + "name": "Uspanteco", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uss", + "name": "us-Saare", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "usu", + "name": "Uya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uta", + "name": "Otank", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ute", + "name": "Ute-Southern Paiute", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uth", + "name": "ut-Hun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "utp", + "name": "Amba (Solomon Islands)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "utr", + "name": "Etulo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "utu", + "name": "Utu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uum", + "name": "Urum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uur", + "name": "Ura (Vanuatu)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uuu", + "name": "U", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uve", + "inverted_name": "Uvean, West", + "name": "West Uvean", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uvh", + "name": "Uri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uvl", + "name": "Lote", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uwa", + "name": "Kuku-Uwanh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uya", + "name": "Doko-Uyanga", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "uz", + "alpha_3": "uzb", + "name": "Uzbek", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "uzn", + "inverted_name": "Uzbek, Northern", + "name": "Northern Uzbek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "uzs", + "inverted_name": "Uzbek, Southern", + "name": "Southern Uzbek", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vaa", + "name": "Vaagri Booli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vae", + "name": "Vale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vaf", + "name": "Vafsi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vag", + "name": "Vagla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vah", + "name": "Varhadi-Nagpuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vai", + "name": "Vai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vaj", + "name": "Sekele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "val", + "name": "Vehes", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vam", + "name": "Vanimo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "van", + "name": "Valman", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vao", + "name": "Vao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vap", + "name": "Vaiphei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "var", + "name": "Huarijio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vas", + "name": "Vasavi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vau", + "name": "Vanuma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vav", + "name": "Varli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vay", + "name": "Wayu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vbb", + "inverted_name": "Babar, Southeast", + "name": "Southeast Babar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vbk", + "inverted_name": "Bontok, Southwestern", + "name": "Southwestern Bontok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vec", + "name": "Venetian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ved", + "name": "Veddah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vel", + "name": "Veluws", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vem", + "name": "Vemgo-Mabas", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "ve", + "alpha_3": "ven", + "name": "Venda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "veo", + "name": "Ventureño", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "vep", + "name": "Veps", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ver", + "name": "Mom Jango", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vgr", + "name": "Vaghri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vgt", + "name": "Vlaamse Gebarentaal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vic", + "inverted_name": "Creole English, Virgin Islands", + "name": "Virgin Islands Creole English", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vid", + "name": "Vidunda", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "vi", + "alpha_3": "vie", + "name": "Vietnamese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vif", + "name": "Vili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vig", + "name": "Viemo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vil", + "name": "Vilela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vin", + "name": "Vinza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vis", + "name": "Vishavan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vit", + "name": "Viti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "viv", + "name": "Iduna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vka", + "name": "Kariyarra", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "vkj", + "name": "Kujarge", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vkk", + "name": "Kaur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vkl", + "name": "Kulisusu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vkm", + "name": "Kamakan", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "vkn", + "name": "Koro Nulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vko", + "name": "Kodeoha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vkp", + "inverted_name": "Creole Portuguese, Korlai", + "name": "Korlai Creole Portuguese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vkt", + "inverted_name": "Malay, Tenggarong Kutai", + "name": "Tenggarong Kutai Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vku", + "name": "Kurrama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vkz", + "name": "Koro Zuba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vlp", + "name": "Valpei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vls", + "name": "Vlaams", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vma", + "name": "Martuyhunira", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vmb", + "name": "Barbaram", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "vmc", + "inverted_name": "Mixtec, Juxtlahuaca", + "name": "Juxtlahuaca Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vmd", + "inverted_name": "Koraga, Mudu", + "name": "Mudu Koraga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vme", + "inverted_name": "Masela, East", + "name": "East Masela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vmf", + "name": "Mainfränkisch", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vmg", + "name": "Lungalunga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vmh", + "name": "Maraghei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vmi", + "name": "Miwa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "vmj", + "inverted_name": "Mixtec, Ixtayutla", + "name": "Ixtayutla Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vmk", + "name": "Makhuwa-Shirima", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vml", + "name": "Malgana", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "vmm", + "inverted_name": "Mixtec, Mitlatongo", + "name": "Mitlatongo Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vmp", + "inverted_name": "Mazatec, Soyaltepec", + "name": "Soyaltepec Mazatec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vmq", + "inverted_name": "Mixtec, Soyaltepec", + "name": "Soyaltepec Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vmr", + "name": "Marenje", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vms", + "name": "Moksela", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "vmu", + "name": "Muluridyi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "vmv", + "inverted_name": "Maidu, Valley", + "name": "Valley Maidu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "vmw", + "name": "Makhuwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vmx", + "inverted_name": "Mixtec, Tamazola", + "name": "Tamazola Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vmy", + "inverted_name": "Mazatec, Ayautla", + "name": "Ayautla Mazatec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vmz", + "inverted_name": "Mazatec, Mazatlán", + "name": "Mazatlán Mazatec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vnk", + "name": "Vano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vnm", + "name": "Vinmavis", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vnp", + "name": "Vunapu", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "vo", + "alpha_3": "vol", + "name": "Volapük", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "vor", + "name": "Voro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vot", + "name": "Votic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vra", + "name": "Vera'a", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vro", + "name": "Võro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vrs", + "name": "Varisi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vrt", + "name": "Burmbar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vsi", + "name": "Moldova Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vsl", + "name": "Venezuelan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vsv", + "name": "Valencian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vto", + "name": "Vitou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vum", + "name": "Vumbu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vun", + "name": "Vunjo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vut", + "name": "Vute", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "vwa", + "name": "Awa (China)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "waa", + "name": "Walla Walla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wab", + "name": "Wab", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wac", + "name": "Wasco-Wishram", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wad", + "name": "Wamesa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wae", + "name": "Walser", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "waf", + "name": "Wakoná", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wag", + "name": "Wa'ema", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wah", + "name": "Watubela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wai", + "name": "Wares", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "waj", + "name": "Waffa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wal", + "name": "Wolaytta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wam", + "name": "Wampanoag", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wan", + "name": "Wan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wao", + "name": "Wappo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wap", + "name": "Wapishana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "waq", + "name": "Wagiman", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "war", + "name": "Waray (Philippines)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "was", + "name": "Washo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wat", + "name": "Kaninuwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wau", + "name": "Waurá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wav", + "name": "Waka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "waw", + "name": "Waiwai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wax", + "name": "Watam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "way", + "name": "Wayana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "waz", + "name": "Wampur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wba", + "name": "Warao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbb", + "name": "Wabo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbe", + "name": "Waritai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbf", + "name": "Wara", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbh", + "name": "Wanda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbi", + "name": "Vwanji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbj", + "name": "Alagwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbk", + "name": "Waigali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbl", + "name": "Wakhi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbm", + "name": "Wa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbp", + "name": "Warlpiri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbq", + "name": "Waddar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbr", + "name": "Wagdi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbs", + "name": "West Bengal Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbt", + "name": "Warnman", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbv", + "name": "Wajarri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wbw", + "name": "Woi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wca", + "name": "Yanomámi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wci", + "inverted_name": "Gbe, Waci", + "name": "Waci Gbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wdd", + "name": "Wandji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wdg", + "name": "Wadaginam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wdj", + "name": "Wadjiginy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wdk", + "name": "Wadikali", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wdt", + "name": "Wendat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wdu", + "name": "Wadjigu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wdy", + "name": "Wadjabangayi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wea", + "name": "Wewaw", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wec", + "name": "Wè Western", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wed", + "name": "Wedau", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "weg", + "name": "Wergaia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "weh", + "name": "Weh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wei", + "name": "Kiunum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wem", + "inverted_name": "Gbe, Weme", + "name": "Weme Gbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "weo", + "name": "Wemale", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wep", + "name": "Westphalien", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wer", + "name": "Weri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wes", + "inverted_name": "Pidgin, Cameroon", + "name": "Cameroon Pidgin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wet", + "name": "Perai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "weu", + "inverted_name": "Chin, Rawngtu", + "name": "Rawngtu Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wew", + "name": "Wejewa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wfg", + "name": "Yafi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wga", + "name": "Wagaya", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wgb", + "name": "Wagawaga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wgg", + "name": "Wangkangurru", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wgi", + "name": "Wahgi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wgo", + "name": "Waigeo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wgu", + "name": "Wirangu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wgy", + "name": "Warrgamay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wha", + "name": "Sou Upaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "whg", + "inverted_name": "Wahgi, North", + "name": "North Wahgi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "whk", + "inverted_name": "Kenyah, Wahau", + "name": "Wahau Kenyah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "whu", + "inverted_name": "Kayan, Wahau", + "name": "Wahau Kayan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wib", + "inverted_name": "Toussian, Southern", + "name": "Southern Toussian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wic", + "name": "Wichita", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wie", + "name": "Wik-Epa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wif", + "name": "Wik-Keyangan", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wig", + "name": "Wik Ngathan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wih", + "name": "Wik-Me'anha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wii", + "name": "Minidien", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wij", + "name": "Wik-Iiyanh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wik", + "name": "Wikalkan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wil", + "name": "Wilawila", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wim", + "name": "Wik-Mungkan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "win", + "name": "Ho-Chunk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wir", + "name": "Wiraféd", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wiu", + "name": "Wiru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wiv", + "name": "Vitu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wiy", + "name": "Wiyot", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wja", + "name": "Waja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wji", + "name": "Warji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wka", + "name": "Kw'adza", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wkb", + "name": "Kumbaran", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wkd", + "name": "Wakde", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wkl", + "name": "Kalanadi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wkr", + "name": "Keerray-Woorroong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wku", + "name": "Kunduvadi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wkw", + "name": "Wakawaka", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wky", + "name": "Wangkayutyuru", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wla", + "name": "Walio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wlc", + "inverted_name": "Comorian, Mwali", + "name": "Mwali Comorian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wle", + "name": "Wolane", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wlg", + "name": "Kunbarlang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wlh", + "name": "Welaun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wli", + "name": "Waioli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wlk", + "name": "Wailaki", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wll", + "name": "Wali (Sudan)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wlm", + "inverted_name": "Welsh, Middle", + "name": "Middle Welsh", + "scope": "I", + "type": "H" + }, + { + "alpha_2": "wa", + "alpha_3": "wln", + "name": "Walloon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wlo", + "name": "Wolio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wlr", + "name": "Wailapa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wls", + "name": "Wallisian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wlu", + "name": "Wuliwuli", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wlv", + "name": "Wichí Lhamtés Vejoz", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wlw", + "name": "Walak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wlx", + "name": "Wali (Ghana)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wly", + "name": "Waling", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wma", + "name": "Mawa (Nigeria)", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wmb", + "name": "Wambaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wmc", + "name": "Wamas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wmd", + "name": "Mamaindé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wme", + "name": "Wambule", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wmg", + "inverted_name": "Minyag, Western", + "name": "Western Minyag", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wmh", + "name": "Waima'a", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wmi", + "name": "Wamin", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wmm", + "name": "Maiwa (Indonesia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wmn", + "name": "Waamwang", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wmo", + "name": "Wom (Papua New Guinea)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wms", + "name": "Wambon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wmt", + "name": "Walmajarri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wmw", + "name": "Mwani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wmx", + "name": "Womo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wnb", + "name": "Wanambre", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wnc", + "name": "Wantoat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wnd", + "name": "Wandarang", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wne", + "name": "Waneci", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wng", + "name": "Wanggom", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wni", + "inverted_name": "Comorian, Ndzwani", + "name": "Ndzwani Comorian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wnk", + "name": "Wanukaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wnm", + "name": "Wanggamala", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wnn", + "name": "Wunumara", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wno", + "name": "Wano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wnp", + "name": "Wanap", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wnu", + "name": "Usan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wnw", + "name": "Wintu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wny", + "name": "Wanyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "woa", + "name": "Kuwema", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wob", + "name": "Wè Northern", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "woc", + "name": "Wogeo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wod", + "name": "Wolani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "woe", + "name": "Woleaian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wof", + "inverted_name": "Wolof, Gambian", + "name": "Gambian Wolof", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wog", + "name": "Wogamusin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "woi", + "name": "Kamang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wok", + "name": "Longto", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "wo", + "alpha_3": "wol", + "name": "Wolof", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wom", + "name": "Wom (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "won", + "name": "Wongo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "woo", + "name": "Manombai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wor", + "name": "Woria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wos", + "name": "Hanga Hundi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wow", + "name": "Wawonii", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "woy", + "name": "Weyto", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wpc", + "name": "Maco", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wrb", + "name": "Waluwarra", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wrg", + "name": "Warungu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wrh", + "name": "Wiradjuri", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wri", + "name": "Wariyangga", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wrk", + "name": "Garrwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wrl", + "name": "Warlmanpa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wrm", + "name": "Warumungu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wrn", + "name": "Warnang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wro", + "name": "Worrorra", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wrp", + "name": "Waropen", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wrr", + "name": "Wardaman", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wrs", + "name": "Waris", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wru", + "name": "Waru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wrv", + "name": "Waruna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wrw", + "name": "Gugu Warra", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wrx", + "name": "Wae Rana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wry", + "name": "Merwari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wrz", + "name": "Waray (Australia)", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wsa", + "name": "Warembori", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wsg", + "inverted_name": "Gondi, Adilabad", + "name": "Adilabad Gondi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wsi", + "name": "Wusi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wsk", + "name": "Waskia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wsr", + "name": "Owenia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wss", + "name": "Wasa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wsu", + "name": "Wasu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wsv", + "name": "Wotapuri-Katarqalai", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wtf", + "name": "Watiwa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wth", + "name": "Wathawurrung", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wti", + "name": "Berta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wtk", + "name": "Watakataui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wtm", + "name": "Mewati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wtw", + "name": "Wotu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wua", + "name": "Wikngenchera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wub", + "name": "Wunambal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wud", + "name": "Wudu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wuh", + "name": "Wutunhua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wul", + "name": "Silimo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wum", + "name": "Wumbvu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wun", + "name": "Bungu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wur", + "name": "Wurrugu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wut", + "name": "Wutung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wuu", + "inverted_name": "Chinese, Wu", + "name": "Wu Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wuv", + "name": "Wuvulu-Aua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wux", + "name": "Wulna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wuy", + "name": "Wauyai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wwa", + "name": "Waama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wwb", + "name": "Wakabunga", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wwo", + "name": "Wetamut", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wwr", + "name": "Warrwa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "www", + "name": "Wawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wxa", + "name": "Waxianghua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wxw", + "name": "Wardandi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wyb", + "name": "Wangaaybuwan-Ngiyambaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wyi", + "name": "Woiwurrung", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "wym", + "name": "Wymysorys", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wyn", + "name": "Wyandot", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wyr", + "name": "Wayoró", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "wyy", + "inverted_name": "Fijian, Western", + "name": "Western Fijian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xaa", + "inverted_name": "Arabic, Andalusian", + "name": "Andalusian Arabic", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xab", + "name": "Sambe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xac", + "name": "Kachari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xad", + "name": "Adai", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xae", + "name": "Aequian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xag", + "name": "Aghwan", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xai", + "name": "Kaimbé", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xaj", + "name": "Ararandewára", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xak", + "name": "Máku", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xal", + "name": "Kalmyk", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xam", + "name": "ǀXam", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xan", + "name": "Xamtanga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xao", + "name": "Khao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xap", + "name": "Apalachee", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xaq", + "name": "Aquitanian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xar", + "name": "Karami", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xas", + "name": "Kamas", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xat", + "name": "Katawixi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xau", + "name": "Kauwera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xav", + "name": "Xavánte", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xaw", + "name": "Kawaiisu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xay", + "name": "Kayan Mahakam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xbb", + "inverted_name": "Burdekin, Lower", + "name": "Lower Burdekin", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xbc", + "name": "Bactrian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xbd", + "name": "Bindal", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xbe", + "name": "Bigambal", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xbg", + "name": "Bunganditj", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xbi", + "name": "Kombio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xbj", + "name": "Birrpayi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xbm", + "inverted_name": "Breton, Middle", + "name": "Middle Breton", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xbn", + "name": "Kenaboi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xbo", + "name": "Bolgarian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xbp", + "name": "Bibbulman", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xbr", + "name": "Kambera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xbw", + "name": "Kambiwá", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xby", + "name": "Batjala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xcb", + "name": "Cumbric", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xcc", + "name": "Camunic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xce", + "name": "Celtiberian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xcg", + "inverted_name": "Gaulish, Cisalpine", + "name": "Cisalpine Gaulish", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xch", + "name": "Chemakum", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xcl", + "inverted_name": "Armenian, Classical", + "name": "Classical Armenian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xcm", + "name": "Comecrudo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xcn", + "name": "Cotoname", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xco", + "name": "Chorasmian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xcr", + "name": "Carian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xct", + "inverted_name": "Tibetan, Classical", + "name": "Classical Tibetan", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xcu", + "name": "Curonian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xcv", + "name": "Chuvantsy", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xcw", + "name": "Coahuilteco", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xcy", + "name": "Cayuse", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xda", + "name": "Darkinyung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xdc", + "name": "Dacian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xdk", + "name": "Dharuk", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xdm", + "name": "Edomite", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xdo", + "name": "Kwandu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xdq", + "name": "Kaitag", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xdy", + "inverted_name": "Dayak, Malayic", + "name": "Malayic Dayak", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xeb", + "name": "Eblan", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xed", + "name": "Hdi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xeg", + "name": "ǁXegwi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xel", + "name": "Kelo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xem", + "name": "Kembayan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xep", + "name": "Epi-Olmec", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xer", + "name": "Xerénte", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xes", + "name": "Kesawai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xet", + "name": "Xetá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xeu", + "name": "Keoru-Ahia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xfa", + "name": "Faliscan", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xga", + "name": "Galatian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xgb", + "name": "Gbin", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xgd", + "name": "Gudang", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xgf", + "name": "Gabrielino-Fernandeño", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xgg", + "name": "Goreng", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xgi", + "name": "Garingbal", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xgl", + "name": "Galindan", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xgm", + "name": "Dharumbal", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xgr", + "name": "Garza", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xgu", + "name": "Unggumi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xgw", + "name": "Guwa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xha", + "name": "Harami", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xhc", + "name": "Hunnic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xhd", + "name": "Hadrami", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xhe", + "name": "Khetrani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xhm", + "inverted_name": "Khmer, Middle (1400 to 1850 CE)", + "name": "Middle Khmer (1400 to 1850 CE)", + "scope": "I", + "type": "H" + }, + { + "alpha_2": "xh", + "alpha_3": "xho", + "name": "Xhosa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xhr", + "name": "Hernican", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xht", + "name": "Hattic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xhu", + "name": "Hurrian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xhv", + "name": "Khua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xib", + "name": "Iberian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xii", + "name": "Xiri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xil", + "name": "Illyrian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xin", + "name": "Xinca", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xir", + "name": "Xiriâna", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xis", + "name": "Kisan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xiv", + "name": "Indus Valley Language", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xiy", + "name": "Xipaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xjb", + "name": "Minjungbal", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xjt", + "name": "Jaitmatang", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xka", + "name": "Kalkoti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkb", + "inverted_name": "Nago, Northern", + "name": "Northern Nago", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkc", + "name": "Kho'ini", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkd", + "inverted_name": "Kayan, Mendalam", + "name": "Mendalam Kayan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xke", + "name": "Kereho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkf", + "name": "Khengkha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkg", + "name": "Kagoro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xki", + "name": "Kenyan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkj", + "name": "Kajali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkk", + "name": "Kachok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkl", + "name": "Mainstream Kenyah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkn", + "inverted_name": "Kayan, Kayan River", + "name": "Kayan River Kayan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xko", + "name": "Kiorr", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkp", + "name": "Kabatei", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkq", + "name": "Koroni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkr", + "name": "Xakriabá", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xks", + "name": "Kumbewaha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkt", + "name": "Kantosi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xku", + "name": "Kaamba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkv", + "name": "Kgalagadi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkw", + "name": "Kembra", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkx", + "name": "Karore", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xky", + "name": "Uma' Lasan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xkz", + "name": "Kurtokha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xla", + "name": "Kamula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xlb", + "name": "Loup B", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xlc", + "name": "Lycian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xld", + "name": "Lydian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xle", + "name": "Lemnian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xlg", + "name": "Ligurian (Ancient)", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xli", + "name": "Liburnian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xln", + "name": "Alanic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xlo", + "name": "Loup A", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xlp", + "name": "Lepontic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xls", + "name": "Lusitanian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xlu", + "inverted_name": "Luwian, Cuneiform", + "name": "Cuneiform Luwian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xly", + "name": "Elymian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xma", + "name": "Mushungulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmb", + "name": "Mbonga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmc", + "name": "Makhuwa-Marrevone", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmd", + "name": "Mbudum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xme", + "name": "Median", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xmf", + "name": "Mingrelian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmg", + "name": "Mengaka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmh", + "name": "Kugu-Muminh", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmj", + "name": "Majera", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmk", + "inverted_name": "Macedonian, Ancient", + "name": "Ancient Macedonian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xml", + "name": "Malaysian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmm", + "inverted_name": "Malay, Manado", + "name": "Manado Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmn", + "inverted_name": "Persian, Manichaean Middle", + "name": "Manichaean Middle Persian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xmo", + "name": "Morerebi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmp", + "name": "Kuku-Mu'inh", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xmq", + "name": "Kuku-Mangk", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xmr", + "name": "Meroitic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xms", + "name": "Moroccan Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmt", + "name": "Matbat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmu", + "name": "Kamu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xmv", + "inverted_name": "Malagasy, Antankarana", + "name": "Antankarana Malagasy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmw", + "inverted_name": "Malagasy, Tsimihety", + "name": "Tsimihety Malagasy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmx", + "name": "Salawati", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmy", + "name": "Mayaguduna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xmz", + "name": "Mori Bawah", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xna", + "inverted_name": "North Arabian, Ancient", + "name": "Ancient North Arabian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xnb", + "name": "Kanakanabu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xng", + "inverted_name": "Mongolian, Middle", + "name": "Middle Mongolian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xnh", + "name": "Kuanhua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xni", + "name": "Ngarigu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xnj", + "name": "Ngoni (Tanzania)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xnk", + "name": "Nganakarti", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xnm", + "name": "Ngumbarl", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xnn", + "inverted_name": "Kankanay, Northern", + "name": "Northern Kankanay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xno", + "name": "Anglo-Norman", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xnq", + "name": "Ngoni (Mozambique)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xnr", + "name": "Kangri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xns", + "name": "Kanashi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xnt", + "name": "Narragansett", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xnu", + "name": "Nukunul", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xny", + "name": "Nyiyaparli", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xnz", + "name": "Kenzi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xoc", + "name": "O'chi'chi'", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xod", + "name": "Kokoda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xog", + "name": "Soga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xoi", + "name": "Kominimung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xok", + "name": "Xokleng", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xom", + "name": "Komo (Sudan)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xon", + "name": "Konkomba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xoo", + "name": "Xukurú", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xop", + "name": "Kopar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xor", + "name": "Korubo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xow", + "name": "Kowaki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xpa", + "name": "Pirriya", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpb", + "inverted_name": "Tasmanian, Northeastern", + "name": "Northeastern Tasmanian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpc", + "name": "Pecheneg", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xpd", + "inverted_name": "Tasmanian, Oyster Bay", + "name": "Oyster Bay Tasmanian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpe", + "inverted_name": "Kpelle, Liberia", + "name": "Liberia Kpelle", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xpf", + "inverted_name": "Tasmanian, Southeast", + "name": "Southeast Tasmanian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpg", + "name": "Phrygian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xph", + "inverted_name": "Tasmanian, North Midlands", + "name": "North Midlands Tasmanian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpi", + "name": "Pictish", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xpj", + "name": "Mpalitjanh", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpk", + "inverted_name": "Pano, Kulina", + "name": "Kulina Pano", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xpl", + "inverted_name": "Tasmanian, Port Sorell", + "name": "Port Sorell Tasmanian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpm", + "name": "Pumpokol", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpn", + "name": "Kapinawá", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpo", + "name": "Pochutec", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpp", + "name": "Puyo-Paekche", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xpq", + "name": "Mohegan-Pequot", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpr", + "name": "Parthian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xps", + "name": "Pisidian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xpt", + "name": "Punthamara", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpu", + "name": "Punic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xpv", + "inverted_name": "Tasmanian, Northern", + "name": "Northern Tasmanian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpw", + "inverted_name": "Tasmanian, Northwestern", + "name": "Northwestern Tasmanian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpx", + "inverted_name": "Tasmanian, Southwestern", + "name": "Southwestern Tasmanian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xpy", + "name": "Puyo", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xpz", + "inverted_name": "Tasmanian, Bruny Island", + "name": "Bruny Island Tasmanian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xqa", + "name": "Karakhanid", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xqt", + "name": "Qatabanian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xra", + "name": "Krahô", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xrb", + "inverted_name": "Karaboro, Eastern", + "name": "Eastern Karaboro", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xrd", + "name": "Gundungurra", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xre", + "name": "Kreye", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xrg", + "name": "Minang", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xri", + "name": "Krikati-Timbira", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xrm", + "name": "Armazic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xrn", + "name": "Arin", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xrr", + "name": "Raetic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xrt", + "name": "Aranama-Tamique", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xru", + "name": "Marriammu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xrw", + "name": "Karawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xsa", + "name": "Sabaean", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xsb", + "name": "Sambal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xsc", + "name": "Scythian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xsd", + "name": "Sidetic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xse", + "name": "Sempan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xsh", + "name": "Shamang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xsi", + "name": "Sio", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xsj", + "name": "Subi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xsl", + "inverted_name": "Slavey, South", + "name": "South Slavey", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xsm", + "name": "Kasem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xsn", + "name": "Sanga (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xso", + "name": "Solano", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xsp", + "name": "Silopi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xsq", + "name": "Makhuwa-Saka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xsr", + "name": "Sherpa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xss", + "name": "Assan", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xsu", + "name": "Sanumá", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xsv", + "name": "Sudovian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xsy", + "name": "Saisiyat", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xta", + "inverted_name": "Mixtec, Alcozauca", + "name": "Alcozauca Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xtb", + "inverted_name": "Mixtec, Chazumba", + "name": "Chazumba Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xtc", + "name": "Katcha-Kadugli-Miri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xtd", + "inverted_name": "Mixtec, Diuxi-Tilantongo", + "name": "Diuxi-Tilantongo Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xte", + "name": "Ketengban", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xtg", + "inverted_name": "Gaulish, Transalpine", + "name": "Transalpine Gaulish", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xth", + "name": "Yitha Yitha", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xti", + "inverted_name": "Mixtec, Sinicahua", + "name": "Sinicahua Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xtj", + "inverted_name": "Mixtec, San Juan Teita", + "name": "San Juan Teita Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xtl", + "inverted_name": "Mixtec, Tijaltepec", + "name": "Tijaltepec Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xtm", + "inverted_name": "Mixtec, Magdalena Peñasco", + "name": "Magdalena Peñasco Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xtn", + "inverted_name": "Mixtec, Northern Tlaxiaco", + "name": "Northern Tlaxiaco Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xto", + "name": "Tokharian A", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xtp", + "inverted_name": "Mixtec, San Miguel Piedras", + "name": "San Miguel Piedras Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xtq", + "name": "Tumshuqese", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "xtr", + "inverted_name": "Tripuri, Early", + "name": "Early Tripuri", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xts", + "inverted_name": "Mixtec, Sindihui", + "name": "Sindihui Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xtt", + "inverted_name": "Mixtec, Tacahua", + "name": "Tacahua Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xtu", + "inverted_name": "Mixtec, Cuyamecalco", + "name": "Cuyamecalco Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xtv", + "name": "Thawa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xtw", + "name": "Tawandê", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xty", + "inverted_name": "Mixtec, Yoloxochitl", + "name": "Yoloxochitl Mixtec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xua", + "inverted_name": "Kurumba, Alu", + "name": "Alu Kurumba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xub", + "inverted_name": "Kurumba, Betta", + "name": "Betta Kurumba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xud", + "name": "Umiida", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xug", + "name": "Kunigami", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xuj", + "inverted_name": "Kurumba, Jennu", + "name": "Jennu Kurumba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xul", + "name": "Ngunawal", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xum", + "name": "Umbrian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xun", + "name": "Unggaranggu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xuo", + "name": "Kuo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xup", + "inverted_name": "Umpqua, Upper", + "name": "Upper Umpqua", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xur", + "name": "Urartian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xut", + "name": "Kuthant", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xuu", + "name": "Kxoe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xve", + "name": "Venetic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xvi", + "name": "Kamviri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xvn", + "name": "Vandalic", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xvo", + "name": "Volscian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xvs", + "name": "Vestinian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xwa", + "name": "Kwaza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xwc", + "name": "Woccon", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xwd", + "name": "Wadi Wadi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xwe", + "inverted_name": "Gbe, Xwela", + "name": "Xwela Gbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xwg", + "name": "Kwegu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xwj", + "name": "Wajuk", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xwk", + "name": "Wangkumara", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xwl", + "inverted_name": "Gbe, Western Xwla", + "name": "Western Xwla Gbe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xwo", + "inverted_name": "Oirat, Written", + "name": "Written Oirat", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xwr", + "name": "Kwerba Mamberamo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xwt", + "name": "Wotjobaluk", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xww", + "name": "Wemba Wemba", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xxb", + "name": "Boro (Ghana)", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xxk", + "name": "Ke'o", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xxm", + "name": "Minkin", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xxr", + "name": "Koropó", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xxt", + "name": "Tambora", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xya", + "name": "Yaygir", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xyb", + "name": "Yandjibara", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xyj", + "name": "Mayi-Yapi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xyk", + "name": "Mayi-Kulan", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xyl", + "name": "Yalakalore", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xyt", + "name": "Mayi-Thakurti", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xyy", + "name": "Yorta Yorta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "xzh", + "name": "Zhang-Zhung", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "xzm", + "name": "Zemgalian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "xzp", + "inverted_name": "Zapotec, Ancient", + "name": "Ancient Zapotec", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "yaa", + "name": "Yaminahua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yab", + "name": "Yuhup", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yac", + "inverted_name": "Yali, Pass Valley", + "name": "Pass Valley Yali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yad", + "name": "Yagua", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yae", + "name": "Pumé", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yaf", + "name": "Yaka (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yag", + "name": "Yámana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yah", + "name": "Yazgulyam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yai", + "name": "Yagnobi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yaj", + "name": "Banda-Yangere", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yak", + "name": "Yakama", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yal", + "name": "Yalunka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yam", + "name": "Yamba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yan", + "name": "Mayangna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yao", + "name": "Yao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yap", + "name": "Yapese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yaq", + "name": "Yaqui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yar", + "name": "Yabarana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yas", + "name": "Nugunu (Cameroon)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yat", + "name": "Yambeta", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yau", + "name": "Yuwana", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yav", + "name": "Yangben", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yaw", + "name": "Yawalapití", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yax", + "name": "Yauma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yay", + "name": "Agwagwune", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yaz", + "name": "Lokaa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yba", + "name": "Yala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ybb", + "name": "Yemba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ybe", + "inverted_name": "Yugur, West", + "name": "West Yugur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ybh", + "name": "Yakha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ybi", + "name": "Yamphu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ybj", + "name": "Hasha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ybk", + "name": "Bokha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ybl", + "name": "Yukuben", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ybm", + "name": "Yaben", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ybn", + "name": "Yabaâna", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ybo", + "name": "Yabong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ybx", + "name": "Yawiyo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yby", + "name": "Yaweyuha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ych", + "name": "Chesu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ycl", + "name": "Lolopo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ycn", + "name": "Yucuna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ycp", + "name": "Chepya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yda", + "name": "Yanda", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ydd", + "inverted_name": "Yiddish, Eastern", + "name": "Eastern Yiddish", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yde", + "name": "Yangum Dey", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ydg", + "name": "Yidgha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ydk", + "name": "Yoidik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yea", + "name": "Ravula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yec", + "name": "Yeniche", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yee", + "name": "Yimas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yei", + "name": "Yeni", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yej", + "name": "Yevanic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yel", + "name": "Yela", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yer", + "name": "Tarok", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yes", + "name": "Nyankpa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yet", + "name": "Yetfa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yeu", + "name": "Yerukula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yev", + "name": "Yapunda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yey", + "name": "Yeyi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yga", + "name": "Malyangapa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ygi", + "name": "Yiningayi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ygl", + "name": "Yangum Gel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ygm", + "name": "Yagomi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ygp", + "name": "Gepo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ygr", + "name": "Yagaria", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ygs", + "name": "Yolŋu Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ygu", + "name": "Yugul", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ygw", + "name": "Yagwoia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yha", + "inverted_name": "Buyang, Baha", + "name": "Baha Buyang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yhd", + "inverted_name": "Arabic, Judeo-Iraqi", + "name": "Judeo-Iraqi Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yhl", + "inverted_name": "Phowa, Hlepho", + "name": "Hlepho Phowa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yhs", + "name": "Yan-nhaŋu Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yia", + "name": "Yinggarda", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "yi", + "alpha_3": "yid", + "name": "Yiddish", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "yif", + "name": "Ache", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yig", + "inverted_name": "Nasu, Wusa", + "name": "Wusa Nasu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yih", + "inverted_name": "Yiddish, Western", + "name": "Western Yiddish", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yii", + "name": "Yidiny", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yij", + "name": "Yindjibarndi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yik", + "inverted_name": "Lalo, Dongshanba", + "name": "Dongshanba Lalo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yil", + "name": "Yindjilandji", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yim", + "inverted_name": "Naga, Yimchungru", + "name": "Yimchungru Naga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yin", + "name": "Riang Lai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yip", + "name": "Pholo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yiq", + "name": "Miqie", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yir", + "inverted_name": "Awyu, North", + "name": "North Awyu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yis", + "name": "Yis", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yit", + "inverted_name": "Lalu, Eastern", + "name": "Eastern Lalu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yiu", + "name": "Awu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yiv", + "inverted_name": "Nisu, Northern", + "name": "Northern Nisu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yix", + "inverted_name": "Yi, Axi", + "name": "Axi Yi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yiz", + "name": "Azhe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yka", + "name": "Yakan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ykg", + "inverted_name": "Yukaghir, Northern", + "name": "Northern Yukaghir", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yki", + "name": "Yoke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ykk", + "name": "Yakaikeke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ykl", + "name": "Khlula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ykm", + "name": "Kap", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ykn", + "name": "Kua-nsi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yko", + "name": "Yasa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ykr", + "name": "Yekora", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ykt", + "name": "Kathu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yku", + "name": "Kuamasi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yky", + "name": "Yakoma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yla", + "name": "Yaul", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ylb", + "name": "Yaleba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yle", + "name": "Yele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ylg", + "name": "Yelogu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yli", + "inverted_name": "Yali, Angguruk", + "name": "Angguruk Yali", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yll", + "name": "Yil", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ylm", + "name": "Limi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yln", + "inverted_name": "Buyang, Langnian", + "name": "Langnian Buyang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ylo", + "inverted_name": "Yi, Naluo", + "name": "Naluo Yi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ylr", + "name": "Yalarnnga", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ylu", + "name": "Aribwaung", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yly", + "name": "Nyâlayu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ymb", + "name": "Yambes", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ymc", + "inverted_name": "Muji, Southern", + "name": "Southern Muji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ymd", + "name": "Muda", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yme", + "name": "Yameo", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ymg", + "name": "Yamongeri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ymh", + "name": "Mili", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ymi", + "name": "Moji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ymk", + "name": "Makwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yml", + "name": "Iamalele", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ymm", + "name": "Maay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ymn", + "name": "Yamna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ymo", + "name": "Yangum Mon", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ymp", + "name": "Yamap", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ymq", + "inverted_name": "Muji, Qila", + "name": "Qila Muji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ymr", + "name": "Malasar", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yms", + "name": "Mysian", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "ymx", + "inverted_name": "Muji, Northern", + "name": "Northern Muji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ymz", + "name": "Muzi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yna", + "name": "Aluo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ynd", + "name": "Yandruwandha", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yne", + "name": "Lang'e", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yng", + "name": "Yango", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ynk", + "inverted_name": "Yupik, Naukan", + "name": "Naukan Yupik", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ynl", + "name": "Yangulam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ynn", + "name": "Yana", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yno", + "name": "Yong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ynq", + "name": "Yendang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yns", + "name": "Yansi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ynu", + "name": "Yahuna", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yob", + "name": "Yoba", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yog", + "name": "Yogad", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yoi", + "name": "Yonaguni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yok", + "name": "Yokuts", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yol", + "name": "Yola", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yom", + "name": "Yombe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yon", + "name": "Yongkom", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "yo", + "alpha_3": "yor", + "name": "Yoruba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yot", + "name": "Yotti", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yox", + "name": "Yoron", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yoy", + "name": "Yoy", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ypa", + "name": "Phala", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ypb", + "inverted_name": "Phowa, Labo", + "name": "Labo Phowa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ypg", + "name": "Phola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yph", + "name": "Phupha", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ypm", + "name": "Phuma", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ypn", + "inverted_name": "Phowa, Ani", + "name": "Ani Phowa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ypo", + "inverted_name": "Phola, Alo", + "name": "Alo Phola", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ypp", + "name": "Phupa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ypz", + "name": "Phuza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yra", + "name": "Yerakai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yrb", + "name": "Yareba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yre", + "name": "Yaouré", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yrk", + "name": "Nenets", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yrl", + "name": "Nhengatu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yrm", + "name": "Yirrk-Mel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yrn", + "name": "Yerong", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yro", + "name": "Yaroamë", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yrs", + "name": "Yarsun", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yrw", + "name": "Yarawata", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yry", + "name": "Yarluyandi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ysc", + "name": "Yassic", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ysd", + "name": "Samatao", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ysg", + "name": "Sonaga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ysl", + "name": "Yugoslavian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ysm", + "name": "Myanmar Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ysn", + "name": "Sani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yso", + "name": "Nisi (China)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ysp", + "inverted_name": "Lolopo, Southern", + "name": "Southern Lolopo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ysr", + "inverted_name": "Yupik, Sirenik", + "name": "Sirenik Yupik", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yss", + "name": "Yessan-Mayo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ysy", + "name": "Sanie", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yta", + "name": "Talu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ytl", + "name": "Tanglang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ytp", + "name": "Thopho", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ytw", + "name": "Yout Wam", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yty", + "name": "Yatay", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yua", + "name": "Yucateco", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yub", + "name": "Yugambal", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yuc", + "name": "Yuchi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yud", + "inverted_name": "Arabic, Judeo-Tripolitanian", + "name": "Judeo-Tripolitanian Arabic", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yue", + "inverted_name": "Chinese, Yue", + "name": "Yue Chinese", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yuf", + "name": "Havasupai-Walapai-Yavapai", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yug", + "name": "Yug", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yui", + "name": "Yurutí", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yuj", + "name": "Karkar-Yuri", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yuk", + "name": "Yuki", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yul", + "name": "Yulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yum", + "name": "Quechan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yun", + "name": "Bena (Nigeria)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yup", + "name": "Yukpa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yuq", + "name": "Yuqui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yur", + "name": "Yurok", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yut", + "name": "Yopno", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yuw", + "name": "Yau (Morobe Province)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yux", + "inverted_name": "Yukaghir, Southern", + "name": "Southern Yukaghir", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yuy", + "inverted_name": "Yugur, East", + "name": "East Yugur", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yuz", + "name": "Yuracare", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yva", + "name": "Yawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yvt", + "name": "Yavitero", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "ywa", + "name": "Kalou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ywg", + "name": "Yinhawangka", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ywl", + "inverted_name": "Lalu, Western", + "name": "Western Lalu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ywn", + "name": "Yawanawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ywq", + "inverted_name": "Yi, Wuding-Luquan", + "name": "Wuding-Luquan Yi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ywr", + "name": "Yawuru", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ywt", + "inverted_name": "Lalo, Xishanba", + "name": "Xishanba Lalo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ywu", + "inverted_name": "Nasu, Wumeng", + "name": "Wumeng Nasu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yww", + "name": "Yawarawarga", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yxa", + "name": "Mayawali", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yxg", + "name": "Yagara", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yxl", + "name": "Yardliyawarra", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yxm", + "name": "Yinwum", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yxu", + "name": "Yuyu", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yxy", + "name": "Yabula Yabula", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yyr", + "name": "Yir Yoront", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "yyu", + "name": "Yau (Sandaun Province)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yyz", + "name": "Ayizi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yzg", + "inverted_name": "Buyang, E'ma", + "name": "E'ma Buyang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "yzk", + "name": "Zokhuo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zaa", + "inverted_name": "Zapotec, Sierra de Juárez", + "name": "Sierra de Juárez Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zab", + "inverted_name": "Zapotec, Western Tlacolula Valley", + "name": "Western Tlacolula Valley Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zac", + "inverted_name": "Zapotec, Ocotlán", + "name": "Ocotlán Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zad", + "inverted_name": "Zapotec, Cajonos", + "name": "Cajonos Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zae", + "inverted_name": "Zapotec, Yareni", + "name": "Yareni Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zaf", + "inverted_name": "Zapotec, Ayoquesco", + "name": "Ayoquesco Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zag", + "name": "Zaghawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zah", + "name": "Zangwal", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zai", + "inverted_name": "Zapotec, Isthmus", + "name": "Isthmus Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zaj", + "name": "Zaramo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zak", + "name": "Zanaki", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zal", + "name": "Zauzou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zam", + "inverted_name": "Zapotec, Miahuatlán", + "name": "Miahuatlán Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zao", + "inverted_name": "Zapotec, Ozolotepec", + "name": "Ozolotepec Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zap", + "name": "Zapotec", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "zaq", + "inverted_name": "Zapotec, Aloápam", + "name": "Aloápam Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zar", + "inverted_name": "Zapotec, Rincón", + "name": "Rincón Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zas", + "inverted_name": "Zapotec, Santo Domingo Albarradas", + "name": "Santo Domingo Albarradas Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zat", + "inverted_name": "Zapotec, Tabaa", + "name": "Tabaa Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zau", + "name": "Zangskari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zav", + "inverted_name": "Zapotec, Yatzachi", + "name": "Yatzachi Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zaw", + "inverted_name": "Zapotec, Mitla", + "name": "Mitla Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zax", + "inverted_name": "Zapotec, Xadani", + "name": "Xadani Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zay", + "name": "Zayse-Zergulla", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zaz", + "name": "Zari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zba", + "name": "Balaibalan", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "zbc", + "inverted_name": "Berawan, Central", + "name": "Central Berawan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zbe", + "inverted_name": "Berawan, East", + "name": "East Berawan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zbl", + "name": "Blissymbols", + "scope": "I", + "type": "C" + }, + { + "alpha_3": "zbt", + "name": "Batui", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zbu", + "name": "Bu (Bauchi State)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zbw", + "inverted_name": "Berawan, West", + "name": "West Berawan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zca", + "inverted_name": "Zapotec, Coatecas Altas", + "name": "Coatecas Altas Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zcd", + "inverted_name": "Zapotec, Las Delicias", + "name": "Las Delicias Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zch", + "inverted_name": "Zhuang, Central Hongshuihe", + "name": "Central Hongshuihe Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zdj", + "inverted_name": "Comorian, Ngazidja", + "name": "Ngazidja Comorian", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zea", + "name": "Zeeuws", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zeg", + "name": "Zenag", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zeh", + "inverted_name": "Zhuang, Eastern Hongshuihe", + "name": "Eastern Hongshuihe Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zen", + "name": "Zenaga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zga", + "name": "Kinga", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zgb", + "inverted_name": "Zhuang, Guibei", + "name": "Guibei Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zgh", + "inverted_name": "Tamazight, Standard Moroccan", + "name": "Standard Moroccan Tamazight", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zgm", + "inverted_name": "Zhuang, Minz", + "name": "Minz Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zgn", + "inverted_name": "Zhuang, Guibian", + "name": "Guibian Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zgr", + "name": "Magori", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "za", + "alpha_3": "zha", + "name": "Zhuang", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "zhb", + "name": "Zhaba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zhd", + "inverted_name": "Zhuang, Dai", + "name": "Dai Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zhi", + "name": "Zhire", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zhn", + "inverted_name": "Zhuang, Nong", + "name": "Nong Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "zh", + "alpha_3": "zho", + "bibliographic": "chi", + "name": "Chinese", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "zhw", + "name": "Zhoa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zia", + "name": "Zia", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zib", + "name": "Zimbabwe Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zik", + "name": "Zimakani", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zil", + "name": "Zialo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zim", + "name": "Mesme", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zin", + "name": "Zinza", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ziw", + "name": "Zigula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ziz", + "name": "Zizilivakan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zka", + "name": "Kaimbulawa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zkb", + "name": "Koibal", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zkd", + "name": "Kadu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zkg", + "name": "Koguryo", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "zkh", + "name": "Khorezmian", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "zkk", + "name": "Karankawa", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zkn", + "name": "Kanan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zko", + "name": "Kott", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zkp", + "inverted_name": "Kaingáng, São Paulo", + "name": "São Paulo Kaingáng", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zkr", + "name": "Zakhring", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zkt", + "name": "Kitan", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "zku", + "name": "Kaurna", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zkv", + "name": "Krevinian", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zkz", + "name": "Khazar", + "scope": "I", + "type": "H" + }, + { + "alpha_3": "zla", + "name": "Zula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zlj", + "inverted_name": "Zhuang, Liujiang", + "name": "Liujiang Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zlm", + "name": "Malay (individual language)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zln", + "inverted_name": "Zhuang, Lianshan", + "name": "Lianshan Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zlq", + "inverted_name": "Zhuang, Liuqian", + "name": "Liuqian Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zma", + "name": "Manda (Australia)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmb", + "name": "Zimba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmc", + "name": "Margany", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zmd", + "name": "Maridan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zme", + "name": "Mangerr", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zmf", + "name": "Mfinu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmg", + "name": "Marti Ke", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmh", + "name": "Makolkol", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zmi", + "name": "Negeri Sembilan Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmj", + "name": "Maridjabin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmk", + "name": "Mandandanyi", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zml", + "name": "Matngala", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zmm", + "name": "Marimanindji", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmn", + "name": "Mbangwe", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmo", + "name": "Molo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmp", + "name": "Mpuono", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmq", + "name": "Mituku", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmr", + "name": "Maranunggu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zms", + "name": "Mbesa", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmt", + "name": "Maringarr", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmu", + "name": "Muruwari", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zmv", + "name": "Mbariman-Gudhinma", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zmw", + "name": "Mbo (Democratic Republic of Congo)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmx", + "name": "Bomitaba", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmy", + "name": "Mariyedi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zmz", + "name": "Mbandja", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zna", + "name": "Zan Gula", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zne", + "name": "Zande (individual language)", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zng", + "name": "Mang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "znk", + "name": "Manangkari", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zns", + "name": "Mangas", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zoc", + "inverted_name": "Zoque, Copainalá", + "name": "Copainalá Zoque", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zoh", + "inverted_name": "Zoque, Chimalapa", + "name": "Chimalapa Zoque", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zom", + "name": "Zou", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zoo", + "inverted_name": "Zapotec, Asunción Mixtepec", + "name": "Asunción Mixtepec Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zoq", + "inverted_name": "Zoque, Tabasco", + "name": "Tabasco Zoque", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zor", + "inverted_name": "Zoque, Rayón", + "name": "Rayón Zoque", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zos", + "inverted_name": "Zoque, Francisco León", + "name": "Francisco León Zoque", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpa", + "inverted_name": "Zapotec, Lachiguiri", + "name": "Lachiguiri Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpb", + "inverted_name": "Zapotec, Yautepec", + "name": "Yautepec Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpc", + "inverted_name": "Zapotec, Choapan", + "name": "Choapan Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpd", + "inverted_name": "Zapotec, Southeastern Ixtlán", + "name": "Southeastern Ixtlán Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpe", + "inverted_name": "Zapotec, Petapa", + "name": "Petapa Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpf", + "inverted_name": "Zapotec, San Pedro Quiatoni", + "name": "San Pedro Quiatoni Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpg", + "inverted_name": "Zapotec, Guevea De Humboldt", + "name": "Guevea De Humboldt Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zph", + "inverted_name": "Zapotec, Totomachapan", + "name": "Totomachapan Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpi", + "inverted_name": "Zapotec, Santa María Quiegolani", + "name": "Santa María Quiegolani Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpj", + "inverted_name": "Zapotec, Quiavicuzas", + "name": "Quiavicuzas Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpk", + "inverted_name": "Zapotec, Tlacolulita", + "name": "Tlacolulita Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpl", + "inverted_name": "Zapotec, Lachixío", + "name": "Lachixío Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpm", + "inverted_name": "Zapotec, Mixtepec", + "name": "Mixtepec Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpn", + "inverted_name": "Zapotec, Santa Inés Yatzechi", + "name": "Santa Inés Yatzechi Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpo", + "inverted_name": "Zapotec, Amatlán", + "name": "Amatlán Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpp", + "inverted_name": "Zapotec, El Alto", + "name": "El Alto Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpq", + "inverted_name": "Zapotec, Zoogocho", + "name": "Zoogocho Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpr", + "inverted_name": "Zapotec, Santiago Xanica", + "name": "Santiago Xanica Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zps", + "inverted_name": "Zapotec, Coatlán", + "name": "Coatlán Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpt", + "inverted_name": "Zapotec, San Vicente Coatlán", + "name": "San Vicente Coatlán Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpu", + "inverted_name": "Zapotec, Yalálag", + "name": "Yalálag Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpv", + "inverted_name": "Zapotec, Chichicapan", + "name": "Chichicapan Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpw", + "inverted_name": "Zapotec, Zaniza", + "name": "Zaniza Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpx", + "inverted_name": "Zapotec, San Baltazar Loxicha", + "name": "San Baltazar Loxicha Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpy", + "inverted_name": "Zapotec, Mazaltepec", + "name": "Mazaltepec Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zpz", + "inverted_name": "Zapotec, Texmelucan", + "name": "Texmelucan Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zqe", + "inverted_name": "Zhuang, Qiubei", + "name": "Qiubei Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zra", + "name": "Kara (Korea)", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "zrg", + "name": "Mirgan", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zrn", + "name": "Zerenkel", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zro", + "name": "Záparo", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zrp", + "name": "Zarphatic", + "scope": "I", + "type": "E" + }, + { + "alpha_3": "zrs", + "name": "Mairasi", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zsa", + "name": "Sarasira", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zsk", + "name": "Kaskean", + "scope": "I", + "type": "A" + }, + { + "alpha_3": "zsl", + "name": "Zambian Sign Language", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zsm", + "inverted_name": "Malay, Standard", + "name": "Standard Malay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zsr", + "inverted_name": "Zapotec, Southern Rincon", + "name": "Southern Rincon Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zsu", + "name": "Sukurum", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zte", + "inverted_name": "Zapotec, Elotepec", + "name": "Elotepec Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ztg", + "inverted_name": "Zapotec, Xanaguía", + "name": "Xanaguía Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ztl", + "inverted_name": "Zapotec, Lapaguía-Guivini", + "name": "Lapaguía-Guivini Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ztm", + "inverted_name": "Zapotec, San Agustín Mixtepec", + "name": "San Agustín Mixtepec Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ztn", + "inverted_name": "Zapotec, Santa Catarina Albarradas", + "name": "Santa Catarina Albarradas Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ztp", + "inverted_name": "Zapotec, Loxicha", + "name": "Loxicha Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ztq", + "inverted_name": "Zapotec, Quioquitani-Quierí", + "name": "Quioquitani-Quierí Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zts", + "inverted_name": "Zapotec, Tilquiapan", + "name": "Tilquiapan Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ztt", + "inverted_name": "Zapotec, Tejalapan", + "name": "Tejalapan Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ztu", + "inverted_name": "Zapotec, Güilá", + "name": "Güilá Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "ztx", + "inverted_name": "Zapotec, Zaachila", + "name": "Zaachila Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zty", + "inverted_name": "Zapotec, Yatee", + "name": "Yatee Zapotec", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zua", + "name": "Zeem", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zuh", + "name": "Tokano", + "scope": "I", + "type": "L" + }, + { + "alpha_2": "zu", + "alpha_3": "zul", + "name": "Zulu", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zum", + "name": "Kumzari", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zun", + "name": "Zuni", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zuy", + "name": "Zumaya", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zwa", + "name": "Zay", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zxx", + "name": "No linguistic content", + "scope": "S", + "type": "S" + }, + { + "alpha_3": "zyb", + "inverted_name": "Zhuang, Yongbei", + "name": "Yongbei Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zyg", + "inverted_name": "Zhuang, Yang", + "name": "Yang Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zyj", + "inverted_name": "Zhuang, Youjiang", + "name": "Youjiang Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zyn", + "inverted_name": "Zhuang, Yongnan", + "name": "Yongnan Zhuang", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zyp", + "inverted_name": "Chin, Zyphe", + "name": "Zyphe Chin", + "scope": "I", + "type": "L" + }, + { + "alpha_3": "zza", + "name": "Zaza", + "scope": "M", + "type": "L" + }, + { + "alpha_3": "zzj", + "inverted_name": "Zhuang, Zuojiang", + "name": "Zuojiang Zhuang", + "scope": "I", + "type": "L" + } + ] +} diff --git a/.venv/lib/python3.11/site-packages/pycountry/databases/iso639-5.json b/.venv/lib/python3.11/site-packages/pycountry/databases/iso639-5.json new file mode 100644 index 0000000000000000000000000000000000000000..edd996c857e18212d88320467ddb39782702ee4d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/databases/iso639-5.json @@ -0,0 +1,464 @@ +{ + "639-5": [ + { + "alpha_3": "aav", + "name": "Austro-Asiatic languages" + }, + { + "alpha_3": "afa", + "name": "Afro-Asiatic languages" + }, + { + "alpha_3": "alg", + "name": "Algonquian languages" + }, + { + "alpha_3": "alv", + "name": "Atlantic-Congo languages" + }, + { + "alpha_3": "apa", + "name": "Apache languages" + }, + { + "alpha_3": "aqa", + "name": "Alacalufan languages" + }, + { + "alpha_3": "aql", + "name": "Algic languages" + }, + { + "alpha_3": "art", + "name": "Artificial languages" + }, + { + "alpha_3": "ath", + "name": "Athapascan languages" + }, + { + "alpha_3": "auf", + "name": "Arauan languages" + }, + { + "alpha_3": "aus", + "name": "Australian languages" + }, + { + "alpha_3": "awd", + "name": "Arawakan languages" + }, + { + "alpha_3": "azc", + "name": "Uto-Aztecan languages" + }, + { + "alpha_3": "bad", + "name": "Banda languages" + }, + { + "alpha_3": "bai", + "name": "Bamileke languages" + }, + { + "alpha_3": "bat", + "name": "Baltic languages" + }, + { + "alpha_3": "ber", + "name": "Berber languages" + }, + { + "alpha_3": "bih", + "name": "Bihari languages" + }, + { + "alpha_3": "bnt", + "name": "Bantu languages" + }, + { + "alpha_3": "btk", + "name": "Batak languages" + }, + { + "alpha_3": "cai", + "name": "Central American Indian languages" + }, + { + "alpha_3": "cau", + "name": "Caucasian languages" + }, + { + "alpha_3": "cba", + "name": "Chibchan languages" + }, + { + "alpha_3": "ccn", + "name": "North Caucasian languages" + }, + { + "alpha_3": "ccs", + "name": "South Caucasian languages" + }, + { + "alpha_3": "cdc", + "name": "Chadic languages" + }, + { + "alpha_3": "cdd", + "name": "Caddoan languages" + }, + { + "alpha_3": "cel", + "name": "Celtic languages" + }, + { + "alpha_3": "cmc", + "name": "Chamic languages" + }, + { + "alpha_3": "cpe", + "name": "Creoles and pidgins, English‑based" + }, + { + "alpha_3": "cpf", + "name": "Creoles and pidgins, French‑based" + }, + { + "alpha_3": "cpp", + "name": "Creoles and pidgins, Portuguese-based" + }, + { + "alpha_3": "crp", + "name": "Creoles and pidgins" + }, + { + "alpha_3": "csu", + "name": "Central Sudanic languages" + }, + { + "alpha_3": "cus", + "name": "Cushitic languages" + }, + { + "alpha_3": "day", + "name": "Land Dayak languages" + }, + { + "alpha_3": "dmn", + "name": "Mande languages" + }, + { + "alpha_3": "dra", + "name": "Dravidian languages" + }, + { + "alpha_3": "egx", + "name": "Egyptian languages" + }, + { + "alpha_3": "esx", + "name": "Eskimo-Aleut languages" + }, + { + "alpha_3": "euq", + "name": "Basque (family)" + }, + { + "alpha_3": "fiu", + "name": "Finno-Ugrian languages" + }, + { + "alpha_3": "fox", + "name": "Formosan languages" + }, + { + "alpha_3": "gem", + "name": "Germanic languages" + }, + { + "alpha_3": "gme", + "name": "East Germanic languages" + }, + { + "alpha_3": "gmq", + "name": "North Germanic languages" + }, + { + "alpha_3": "gmw", + "name": "West Germanic languages" + }, + { + "alpha_3": "grk", + "name": "Greek languages" + }, + { + "alpha_3": "hmx", + "name": "Hmong-Mien languages" + }, + { + "alpha_3": "hok", + "name": "Hokan languages" + }, + { + "alpha_3": "hyx", + "name": "Armenian (family)" + }, + { + "alpha_3": "iir", + "name": "Indo-Iranian languages" + }, + { + "alpha_3": "ijo", + "name": "Ijo languages" + }, + { + "alpha_3": "inc", + "name": "Indic languages" + }, + { + "alpha_3": "ine", + "name": "Indo-European languages" + }, + { + "alpha_3": "ira", + "name": "Iranian languages" + }, + { + "alpha_3": "iro", + "name": "Iroquoian languages" + }, + { + "alpha_3": "itc", + "name": "Italic languages" + }, + { + "alpha_3": "jpx", + "name": "Japanese (family)" + }, + { + "alpha_3": "kar", + "name": "Karen languages" + }, + { + "alpha_3": "kdo", + "name": "Kordofanian languages" + }, + { + "alpha_3": "khi", + "name": "Khoisan languages" + }, + { + "alpha_3": "kro", + "name": "Kru languages" + }, + { + "alpha_3": "map", + "name": "Austronesian languages" + }, + { + "alpha_3": "mkh", + "name": "Mon-Khmer languages" + }, + { + "alpha_3": "mno", + "name": "Manobo languages" + }, + { + "alpha_3": "mun", + "name": "Munda languages" + }, + { + "alpha_3": "myn", + "name": "Mayan languages" + }, + { + "alpha_3": "nah", + "name": "Nahuatl languages" + }, + { + "alpha_3": "nai", + "name": "North American Indian languages" + }, + { + "alpha_3": "ngf", + "name": "Trans-New Guinea languages" + }, + { + "alpha_3": "nic", + "name": "Niger-Kordofanian languages" + }, + { + "alpha_3": "nub", + "name": "Nubian languages" + }, + { + "alpha_3": "omq", + "name": "Oto-Manguean languages" + }, + { + "alpha_3": "omv", + "name": "Omotic languages" + }, + { + "alpha_3": "oto", + "name": "Otomian languages" + }, + { + "alpha_3": "paa", + "name": "Papuan languages" + }, + { + "alpha_3": "phi", + "name": "Philippine languages" + }, + { + "alpha_3": "plf", + "name": "Central Malayo-Polynesian languages" + }, + { + "alpha_3": "poz", + "name": "Malayo-Polynesian languages" + }, + { + "alpha_3": "pqe", + "name": "Eastern Malayo-Polynesian languages" + }, + { + "alpha_3": "pqw", + "name": "Western Malayo-Polynesian languages" + }, + { + "alpha_3": "pra", + "name": "Prakrit languages" + }, + { + "alpha_3": "qwe", + "name": "Quechuan (family)" + }, + { + "alpha_3": "roa", + "name": "Romance languages" + }, + { + "alpha_3": "sai", + "name": "South American Indian languages" + }, + { + "alpha_3": "sal", + "name": "Salishan languages" + }, + { + "alpha_3": "sdv", + "name": "Eastern Sudanic languages" + }, + { + "alpha_3": "sem", + "name": "Semitic languages" + }, + { + "alpha_3": "sgn", + "name": "sign languages" + }, + { + "alpha_3": "sio", + "name": "Siouan languages" + }, + { + "alpha_3": "sit", + "name": "Sino-Tibetan languages" + }, + { + "alpha_3": "sla", + "name": "Slavic languages" + }, + { + "alpha_3": "smi", + "name": "Sami languages" + }, + { + "alpha_3": "son", + "name": "Songhai languages" + }, + { + "alpha_3": "sqj", + "name": "Albanian languages" + }, + { + "alpha_3": "ssa", + "name": "Nilo-Saharan languages" + }, + { + "alpha_3": "syd", + "name": "Samoyedic languages" + }, + { + "alpha_3": "tai", + "name": "Tai languages" + }, + { + "alpha_3": "tbq", + "name": "Tibeto-Burman languages" + }, + { + "alpha_3": "trk", + "name": "Turkic languages" + }, + { + "alpha_3": "tup", + "name": "Tupi languages" + }, + { + "alpha_3": "tut", + "name": "Altaic languages" + }, + { + "alpha_3": "tuw", + "name": "Tungus languages" + }, + { + "alpha_3": "urj", + "name": "Uralic languages" + }, + { + "alpha_3": "wak", + "name": "Wakashan languages" + }, + { + "alpha_3": "wen", + "name": "Sorbian languages" + }, + { + "alpha_3": "xgn", + "name": "Mongolian languages" + }, + { + "alpha_3": "xnd", + "name": "Na-Dene languages" + }, + { + "alpha_3": "ypk", + "name": "Yupik languages" + }, + { + "alpha_3": "zhx", + "name": "Chinese (family)" + }, + { + "alpha_3": "zle", + "name": "East Slavic languages" + }, + { + "alpha_3": "zls", + "name": "South Slavic languages" + }, + { + "alpha_3": "zlw", + "name": "West Slavic languages" + }, + { + "alpha_3": "znd", + "name": "Zande languages" + } + ] +} diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/ach/LC_MESSAGES/iso3166-1.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/ach/LC_MESSAGES/iso3166-1.mo new file mode 100644 index 0000000000000000000000000000000000000000..27643b8debab487df43b72bfc831e658ad7f97e5 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/ach/LC_MESSAGES/iso3166-1.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/bn_BD/LC_MESSAGES/iso15924.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/bn_BD/LC_MESSAGES/iso15924.mo new file mode 100644 index 0000000000000000000000000000000000000000..bee7a566bf76568ed8b54c4da600dd8aff99de2d Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/bn_BD/LC_MESSAGES/iso15924.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/bn_BD/LC_MESSAGES/iso3166-2.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/bn_BD/LC_MESSAGES/iso3166-2.mo new file mode 100644 index 0000000000000000000000000000000000000000..e243d57d52628aca576f42f7306223433de3472c Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/bn_BD/LC_MESSAGES/iso3166-2.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/bn_BD/LC_MESSAGES/iso639-5.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/bn_BD/LC_MESSAGES/iso639-5.mo new file mode 100644 index 0000000000000000000000000000000000000000..4d13bb310405eeb72a43dbfe0cb949c468ce3b71 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/bn_BD/LC_MESSAGES/iso639-5.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/de/LC_MESSAGES/iso3166-2.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/de/LC_MESSAGES/iso3166-2.mo new file mode 100644 index 0000000000000000000000000000000000000000..93f81ef3da7913ddc2acecebe69a30b0203622bf --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/locales/de/LC_MESSAGES/iso3166-2.mo @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:466aab6a14a6aabfee4ce464f34b404c3252d0f6f28336f1dda972658ed7aa19 +size 212230 diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/gl/LC_MESSAGES/iso639-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/gl/LC_MESSAGES/iso639-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..f875743b9f415ca54d2dbfd21f1c341dd192406e --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/locales/gl/LC_MESSAGES/iso639-3.mo @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:275a79ecc9dd21d78885bd92264d2ab4c104b0327fdd7b3e4d5870a7c3018a91 +size 306888 diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/gv/LC_MESSAGES/iso3166-1.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/gv/LC_MESSAGES/iso3166-1.mo new file mode 100644 index 0000000000000000000000000000000000000000..251f9ec4cae72933df9ed749d241aba970ab0982 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/gv/LC_MESSAGES/iso3166-1.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/km/LC_MESSAGES/iso3166-1.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/km/LC_MESSAGES/iso3166-1.mo new file mode 100644 index 0000000000000000000000000000000000000000..476ae01774b70fdfd304c997ba72f034fc26f145 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/km/LC_MESSAGES/iso3166-1.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/km/LC_MESSAGES/iso3166-2.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/km/LC_MESSAGES/iso3166-2.mo new file mode 100644 index 0000000000000000000000000000000000000000..0bd63b419c22941e4500fb430fc975e71c4ea240 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/km/LC_MESSAGES/iso3166-2.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/km/LC_MESSAGES/iso3166-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/km/LC_MESSAGES/iso3166-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..c5d88e51e3f693e08a6948b367dd725d7186c970 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/km/LC_MESSAGES/iso3166-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/km/LC_MESSAGES/iso4217.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/km/LC_MESSAGES/iso4217.mo new file mode 100644 index 0000000000000000000000000000000000000000..e152336c14564548db878ceb08ca631b7271554b Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/km/LC_MESSAGES/iso4217.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/kn/LC_MESSAGES/iso3166-1.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/kn/LC_MESSAGES/iso3166-1.mo new file mode 100644 index 0000000000000000000000000000000000000000..042784a54e294d048bcdf19c92b5f32bf79e5737 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/kn/LC_MESSAGES/iso3166-1.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/kn/LC_MESSAGES/iso3166-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/kn/LC_MESSAGES/iso3166-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..afbace45213be66e407de2fa36cc51b54865efb1 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/kn/LC_MESSAGES/iso3166-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso15924.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso15924.mo new file mode 100644 index 0000000000000000000000000000000000000000..b1faf83711e7e4abd4373e9bdd3f96bb1bd8bf6a Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso15924.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso3166-1.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso3166-1.mo new file mode 100644 index 0000000000000000000000000000000000000000..694745b41d9145108657f04683c2f5492c952da7 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso3166-1.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso3166-2.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso3166-2.mo new file mode 100644 index 0000000000000000000000000000000000000000..500b1ac0c78dfcd4d068ac7ed6a5d73eb8e12718 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso3166-2.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso3166-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso3166-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..dacbd390578f3ee1b643215d0c8badfea406af29 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso3166-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso4217.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso4217.mo new file mode 100644 index 0000000000000000000000000000000000000000..1ac600b9da04c3a894393a96b88051b024d70c56 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso4217.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso639-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso639-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..2a6a34567f81516db17579837f395dbbbb42ff3d Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso639-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso639-5.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso639-5.mo new file mode 100644 index 0000000000000000000000000000000000000000..295c093600d401eaca7525a2936238bad3b088bd Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/lt/LC_MESSAGES/iso639-5.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/mk/LC_MESSAGES/iso3166-1.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/mk/LC_MESSAGES/iso3166-1.mo new file mode 100644 index 0000000000000000000000000000000000000000..9406e1cea3082814bedb4c1be611c173f56a2fa8 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/mk/LC_MESSAGES/iso3166-1.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/mk/LC_MESSAGES/iso3166-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/mk/LC_MESSAGES/iso3166-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..64a9addbaef6e6a43a35a952dc38c19f0fbcd036 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/mk/LC_MESSAGES/iso3166-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/mk/LC_MESSAGES/iso639-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/mk/LC_MESSAGES/iso639-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..1dc5ca3d9735d0c2fb736ff38c4b4c907ac09687 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/mk/LC_MESSAGES/iso639-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/ms/LC_MESSAGES/iso3166-1.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/ms/LC_MESSAGES/iso3166-1.mo new file mode 100644 index 0000000000000000000000000000000000000000..d283cf9e7829ac9d66e58f8194bc0b353cc16680 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/ms/LC_MESSAGES/iso3166-1.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/ms/LC_MESSAGES/iso3166-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/ms/LC_MESSAGES/iso3166-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..de59ce4aaf5fcef7fd260fd1152a72ef44d81b42 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/ms/LC_MESSAGES/iso3166-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/ms/LC_MESSAGES/iso639-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/ms/LC_MESSAGES/iso639-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..5bf9e30eb3ad326023eacb63c80e0b4a2fbe54a1 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/ms/LC_MESSAGES/iso639-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/nl/LC_MESSAGES/iso3166-2.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/nl/LC_MESSAGES/iso3166-2.mo new file mode 100644 index 0000000000000000000000000000000000000000..3664998fdf141264d12a8fcfec2634895a456846 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/locales/nl/LC_MESSAGES/iso3166-2.mo @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:467abcb4c1dbf08b0851cc6b2be9da1fd8c8cae45b2855389264263963b21ed1 +size 215191 diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/pap/LC_MESSAGES/iso3166-1.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/pap/LC_MESSAGES/iso3166-1.mo new file mode 100644 index 0000000000000000000000000000000000000000..188a02cba646db91f67501f7508ecf3f1c7a3643 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/pap/LC_MESSAGES/iso3166-1.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso15924.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso15924.mo new file mode 100644 index 0000000000000000000000000000000000000000..86b484020f4199259e03cce6fad9b664ba8b3c27 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso15924.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso3166-1.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso3166-1.mo new file mode 100644 index 0000000000000000000000000000000000000000..c243a4aa1a636519070bc2bd0d25ffc54e13449a Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso3166-1.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso3166-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso3166-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..65911077113f86bb278263bdf5e6f8cd9bb6b7ea Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso3166-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso4217.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso4217.mo new file mode 100644 index 0000000000000000000000000000000000000000..1e4bf45d1fbeab10adcd4ec1a5599ca2674b3119 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso4217.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso639-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso639-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..e4b946f1fbefc4f2a02b07184d96ab8cfb09773a Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/pt/LC_MESSAGES/iso639-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/ro/LC_MESSAGES/iso3166-2.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/ro/LC_MESSAGES/iso3166-2.mo new file mode 100644 index 0000000000000000000000000000000000000000..ffe41d29f813a63b7bc9afd092103a867a2178b5 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/locales/ro/LC_MESSAGES/iso3166-2.mo @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d802481530eb80a37865f3a4ea97d298c62ed717ad879dfa98d381db909ec191 +size 229998 diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso15924.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso15924.mo new file mode 100644 index 0000000000000000000000000000000000000000..436250eb6f10df3041c8af3a8bf0a4e98c96f32f Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso15924.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso3166-1.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso3166-1.mo new file mode 100644 index 0000000000000000000000000000000000000000..4ac70ed01ce8f6008311461afcdac4fc01d3b055 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso3166-1.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso3166-2.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso3166-2.mo new file mode 100644 index 0000000000000000000000000000000000000000..8c41c3e94d0fc2661f7e3f571b8ebf6a0cdff849 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso3166-2.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso3166-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso3166-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..d715df006349a36d2926ac89f6a6068640089037 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso3166-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso4217.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso4217.mo new file mode 100644 index 0000000000000000000000000000000000000000..baade15f8502da2591d51a06c7bcfc116aaee88e Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso4217.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso639-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso639-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..a0b9ef86ecd0c335cfc71b51b4672e2600564485 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso639-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso639-5.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso639-5.mo new file mode 100644 index 0000000000000000000000000000000000000000..be035d481ab56775cf8a30697ba592c6ec7126f9 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/sq/LC_MESSAGES/iso639-5.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/sr/LC_MESSAGES/iso3166-2.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/sr/LC_MESSAGES/iso3166-2.mo new file mode 100644 index 0000000000000000000000000000000000000000..1b580addadc30f5a629640e59b5618bd069ee1bc --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/locales/sr/LC_MESSAGES/iso3166-2.mo @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4db2a2ac77da6105acce116e1fe46d1542c7a0281f3a1347d888558ec1b3d48d +size 144341 diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/sv/LC_MESSAGES/iso3166-2.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/sv/LC_MESSAGES/iso3166-2.mo new file mode 100644 index 0000000000000000000000000000000000000000..31a0eb2c787036538be28d2f91ce13fe714a6ced --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/locales/sv/LC_MESSAGES/iso3166-2.mo @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59cf516c043388bdc1444472da34c644fed3a48551a0d142e9f29c1284452285 +size 158999 diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/sv/LC_MESSAGES/iso639-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/sv/LC_MESSAGES/iso639-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..263dd83b1a6d5c09b4ee96d98057a7105bff8ed3 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/locales/sv/LC_MESSAGES/iso639-3.mo @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80d8de04e5e3419c2e86fb18710d25d1829d25d74fe8519c532f1fd7ed7f3bae +size 398696 diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/ti/LC_MESSAGES/iso3166-1.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/ti/LC_MESSAGES/iso3166-1.mo new file mode 100644 index 0000000000000000000000000000000000000000..2074d1ad2885bf762222f30358d7397c7d5a479e Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/ti/LC_MESSAGES/iso3166-1.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/ti/LC_MESSAGES/iso3166-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/ti/LC_MESSAGES/iso3166-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..c3ce62f1bfff153ebba6e04d4993ba359b189c03 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/ti/LC_MESSAGES/iso3166-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/ti/LC_MESSAGES/iso639-3.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/ti/LC_MESSAGES/iso639-3.mo new file mode 100644 index 0000000000000000000000000000000000000000..a8830d4897f41a279eced2e38859a8ae990f73e4 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/ti/LC_MESSAGES/iso639-3.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/tzm/LC_MESSAGES/iso15924.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/tzm/LC_MESSAGES/iso15924.mo new file mode 100644 index 0000000000000000000000000000000000000000..e7bf3ddbfc8b4991d6d0407e646c737e9d75a8d3 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/tzm/LC_MESSAGES/iso15924.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/tzm/LC_MESSAGES/iso3166-1.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/tzm/LC_MESSAGES/iso3166-1.mo new file mode 100644 index 0000000000000000000000000000000000000000..854b17abf368de2935328b95a8b2a102ea5a060a Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/tzm/LC_MESSAGES/iso3166-1.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/locales/tzm/LC_MESSAGES/iso4217.mo b/.venv/lib/python3.11/site-packages/pycountry/locales/tzm/LC_MESSAGES/iso4217.mo new file mode 100644 index 0000000000000000000000000000000000000000..a690e2b372ca9c486c7bfd5e3f1b4cba2e9afbff Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/locales/tzm/LC_MESSAGES/iso4217.mo differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/tests/__pycache__/test_general.cpython-311.pyc b/.venv/lib/python3.11/site-packages/pycountry/tests/__pycache__/test_general.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9143647f9991842280489a6fa63f6fd33d4243a3 Binary files /dev/null and b/.venv/lib/python3.11/site-packages/pycountry/tests/__pycache__/test_general.cpython-311.pyc differ diff --git a/.venv/lib/python3.11/site-packages/pycountry/tests/test_general.py b/.venv/lib/python3.11/site-packages/pycountry/tests/test_general.py new file mode 100644 index 0000000000000000000000000000000000000000..7039f1d89a4ad06bb6ebbd7759723f01aee43de5 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycountry/tests/test_general.py @@ -0,0 +1,468 @@ +import gettext +import os.path +import re +from importlib import metadata as _importlib_metadata +from unittest.mock import patch + +import pytest + +import pycountry +import pycountry.db + + +@pytest.fixture +def countries(): + pycountry.countries._clear() + yield pycountry.countries + pycountry.countries._clear() + + +def test_country_list(countries): + assert len(pycountry.countries) == 249 + assert isinstance(list(pycountry.countries)[0], pycountry.db.Data) + + +def test_country_fuzzy_search(countries): + results = pycountry.countries.search_fuzzy("England") + assert len(results) == 1 + assert results[0] == pycountry.countries.get(alpha_2="GB") + + # Match alternative names exactly and thus NL ends up with + # "Sint Maarten" before SX with "Sint Maarten (Dutch part)" + results = pycountry.countries.search_fuzzy("Sint Maarten") + assert len(results) == 2 + assert results[0] == pycountry.countries.get(alpha_2="NL") + assert results[1] == pycountry.countries.get(alpha_2="SX") + + # Match with accents removed, first a country with a partial match in the + # country name, then a country with multiple subdivision partial matches, + # and then a country with a single subdivision match. + results = pycountry.countries.search_fuzzy("Cote") + assert len(results) == 3 + assert results[0] == pycountry.countries.get(alpha_2="CI") + assert results[1] == pycountry.countries.get(alpha_2="FR") + assert results[2] == pycountry.countries.get(alpha_2="HN") + + # A somewhat carefully balanced point system allows for a (bias-based) + # graceful sorting of common substrings being used in multiple matches: + results = pycountry.countries.search_fuzzy("New") + assert results[0] == pycountry.countries.get(alpha_2="NC") + assert results[1] == pycountry.countries.get(alpha_2="NZ") + assert results[2] == pycountry.countries.get(alpha_2="PG") + assert results[3] == pycountry.countries.get(alpha_2="GB") + assert results[4] == pycountry.countries.get(alpha_2="US") + assert results[5] == pycountry.countries.get(alpha_2="CA") + assert results[6] == pycountry.countries.get(alpha_2="AU") + assert results[7] == pycountry.countries.get(alpha_2="BS") + assert results[8] == pycountry.countries.get(alpha_2="TW") + assert results[9] == pycountry.countries.get(alpha_2="MH") + + # bug #34, likely about capitalization that was broken + results = pycountry.countries.search_fuzzy("united states of america") + assert len(results) == 1 + assert results[0] == pycountry.countries.get(alpha_2="US") + + +def test_historic_country_fuzzy_search(countries): + results = pycountry.historic_countries.search_fuzzy("burma") + assert len(results) == 1 + assert results[0] == pycountry.historic_countries.get(alpha_4="BUMM") + + +def test_germany_has_all_attributes(countries): + germany = pycountry.countries.get(alpha_2="DE") + assert germany.alpha_2 == "DE" + assert germany.alpha_3 == "DEU" + assert germany.numeric == "276" + assert germany.name == "Germany" + assert germany.official_name == "Federal Republic of Germany" + + +def test_missing_common_official(countries): + aruba = pycountry.countries.get(alpha_2="AW") + assert aruba.alpha_2 == "AW" + assert aruba.name == "Aruba" + with pytest.raises(AttributeError, match="official_name"): + aruba.official_name + with pytest.raises(AttributeError, match="common_name"): + aruba.common_name + + +def test_missing_common_official_use_different(countries): + vietnam = pycountry.countries.get(alpha_2="VN") + assert vietnam.alpha_2 == "VN" + assert vietnam.name == "Viet Nam" + assert vietnam.official_name == "Socialist Republic of Viet Nam" + assert vietnam.common_name == "Vietnam" + + +def test_country_missing_attribute(countries): + germany = pycountry.countries.get(alpha_2="DE") + with pytest.raises(AttributeError): + _ = germany.foo + + +def test_subdivisions_directly_accessible(countries): + assert len(pycountry.subdivisions) == 5046 + assert isinstance(list(pycountry.subdivisions)[0], pycountry.db.Data) + + de_st = pycountry.subdivisions.get(code="DE-ST") + assert de_st.code == "DE-ST" + assert de_st.name == "Sachsen-Anhalt" + assert de_st.type == "Land" + assert de_st.parent is None + assert de_st.parent_code is None + assert de_st.country is pycountry.countries.get(alpha_2="DE") + + +def test_subdivisions_have_subdivision_as_parent(): + fr_01 = pycountry.subdivisions.get(code="FR-01") + assert fr_01.code == "FR-01" + assert fr_01.name == "Ain" + assert fr_01.type == "Metropolitan department" + assert fr_01.parent_code == "FR-ARA" + assert fr_01.parent is pycountry.subdivisions.get(code="FR-ARA") + assert fr_01.parent.name == "Auvergne-Rhône-Alpes" + + +def test_query_subdivisions_of_country(): + assert len(pycountry.subdivisions.get(country_code="DE")) == 16 + assert len(pycountry.subdivisions.get(country_code="US")) == 57 + + +def test_scripts(): + assert len(pycountry.scripts) == 182 + assert isinstance(list(pycountry.scripts)[0], pycountry.db.Data) + + latin = pycountry.scripts.get(name="Latin") + assert latin.alpha_4 == "Latn" + assert latin.name == "Latin" + assert latin.numeric == "215" + + +def test_currencies(): + assert len(pycountry.currencies) == 181 + assert isinstance(list(pycountry.currencies)[0], pycountry.db.Data) + + argentine_peso = pycountry.currencies.get(alpha_3="ARS") + assert argentine_peso.alpha_3 == "ARS" + assert argentine_peso.name == "Argentine Peso" + assert argentine_peso.numeric == "032" + + +def test_languages(): + assert len(pycountry.languages) == 7910 + assert isinstance(list(pycountry.languages)[0], pycountry.db.Data) + + aragonese = pycountry.languages.get(alpha_2="an") + assert aragonese.alpha_2 == "an" + assert aragonese.alpha_3 == "arg" + assert aragonese.name == "Aragonese" + + bengali = pycountry.languages.get(alpha_2="bn") + assert bengali.name == "Bengali" + assert bengali.common_name == "Bangla" + + # this tests the slow search path in lookup() + bengali2 = pycountry.languages.lookup("bAngLa") + assert bengali2 == bengali + + +def test_language_families(): + assert len(pycountry.language_families) == 115 + assert isinstance(list(pycountry.language_families)[0], pycountry.db.Data) + + aragonese = pycountry.languages.get(alpha_3="arg") + assert aragonese.alpha_3 == "arg" + assert aragonese.name == "Aragonese" + + +def test_locales(): + german = gettext.translation( + "iso3166-1", pycountry.LOCALES_DIR, languages=["de"] + ) + assert german.gettext("Germany") == "Deutschland" + + +def test_removed_countries(): + ussr = pycountry.historic_countries.get(alpha_3="SUN") + assert isinstance(ussr, pycountry.db.Data) + assert ussr.alpha_4 == "SUHH" + assert ussr.alpha_3 == "SUN" + assert ussr.name == "USSR, Union of Soviet Socialist Republics" + assert ussr.withdrawal_date == "1992-08-30" + + +def test_repr(countries): + assert re.match( + "Country\\(alpha_2=u?'DE', " + "alpha_3=u?'DEU', " + "flag='..', " + "name=u?'Germany', " + "numeric=u?'276', " + "official_name=u?'Federal Republic of Germany'\\)", + repr(pycountry.countries.get(alpha_2="DE")), + ) + + +def test_dict(countries): + country = pycountry.countries.get(alpha_2="DE") + exp = { + "alpha_2": "DE", + "alpha_3": "DEU", + "name": "Germany", + "numeric": "276", + "official_name": "Federal Republic of Germany", + "flag": country.flag, + } + assert dict(country) == exp + + +def test_dir(countries): + germany = pycountry.countries.get(alpha_2="DE") + for n in "alpha_2", "alpha_3", "name", "numeric", "official_name": + assert n in dir(germany) + + +def test_get(countries): + c = pycountry.countries + with pytest.raises(TypeError): + c.get(alpha_2="DE", alpha_3="DEU") + assert c.get(alpha_2="DE") == c.get(alpha_3="DEU") + assert c.get(alpha_2="Foo") is None + tracer = object() + assert c.get(alpha_2="Foo", default=tracer) is tracer + + +def test_lookup(countries): + c = pycountry.countries + g = c.get(alpha_2="DE") + assert g == c.get(alpha_2="de") + assert g == c.lookup("de") + assert g == c.lookup("DEU") + assert g == c.lookup("276") + assert g == c.lookup("germany") + assert g == c.lookup("Federal Republic of Germany") + # try a generated field + bqaq = pycountry.historic_countries.get(alpha_4="BQAQ") + assert bqaq == pycountry.historic_countries.lookup("atb") + german = pycountry.languages.get(alpha_2="de") + assert german == pycountry.languages.lookup("De") + euro = pycountry.currencies.get(alpha_3="EUR") + assert euro == pycountry.currencies.lookup("euro") + latin = pycountry.scripts.get(name="Latin") + assert latin == pycountry.scripts.lookup("latn") + fr_ara = pycountry.subdivisions.get(code="FR-ARA") + assert fr_ara == pycountry.subdivisions.lookup("fr-ara") + with pytest.raises(LookupError): + pycountry.countries.lookup("bogus country") + with pytest.raises(LookupError): + pycountry.countries.lookup(12345) + with pytest.raises(LookupError): + pycountry.countries.get(alpha_2=12345) + + +def test_subdivision_parent(): + s = pycountry.subdivisions + sd = s.get(code="CV-BV") + assert sd.parent_code == "CV-B" + assert sd.parent is s.get(code=sd.parent_code) + + +def test_subdivision_missing_code_raises_keyerror(): + s = pycountry.subdivisions + assert s.get(code="US-ZZ") is None + + +def test_subdivision_empty_list(): + s = pycountry.subdivisions + assert len(s.get(country_code="DE")) == 16 + assert len(s.get(country_code="JE")) == 0 + assert s.get(country_code="FOOBAR") is None + + +def test_has_version_attribute(): + try: + _importlib_metadata.distribution("pycountry") + except _importlib_metadata.PackageNotFoundError: + pytest.skip("pycountry not installed correctly, you're on your own") + assert pycountry.__version__ != "n/a" + assert len(pycountry.__version__) >= 5 + assert "." in pycountry.__version__ + + +def test_is_instance_of_language(): + assert isinstance(pycountry.languages, pycountry.Languages) + + +def test_is_instance_of_country(countries): + united_states = pycountry.countries.get(alpha_2="US") + class_name = united_states.__class__.__name__ + assert class_name == "Country" + + +def test_is_instance_of_subdivision(): + assert isinstance(pycountry.subdivisions, pycountry.Subdivisions) + + +def test_is_instance_of_script(): + assert isinstance(pycountry.scripts, pycountry.Scripts) + + +def test_is_instance_of_currency(): + assert isinstance(pycountry.currencies, pycountry.Currencies) + + +def test_add_entry(countries): + assert pycountry.countries.get(alpha_2="XK") is None + + pycountry.countries.add_entry( + alpha_2="XK", alpha_3="XXK", name="Kosovo", numeric="926" + ) + + country = pycountry.countries.get(alpha_2="XK") + assert isinstance(country, pycountry.countries.data_class) + + +def test_remove_entry(countries): + assert pycountry.countries.get(alpha_2="DE") is not None + + pycountry.countries.remove_entry(alpha_2="DE") + + assert pycountry.countries.get(alpha_2="DE") is None + + +def test_remove_non_existent_entry(): + with pytest.raises(KeyError, match="not found"): + pycountry.countries.remove_entry(name="Not A Real Country") + + +def test_no_results_lookup_error(countries): + try: + import importlib_resources # type: ignore + except ModuleNotFoundError: + from importlib import resources as importlib_resources + + def resource_filename(package_or_requirement, resource_name): + return str( + importlib_resources.files(package_or_requirement) / resource_name + ) + + DATABASE_DIR = resource_filename("pycountry", "databases") + countries = pycountry.ExistingCountries( + os.path.join(DATABASE_DIR, "iso3166-1.json") + ) + + query = "nonexistent query" + with pytest.raises(LookupError): + countries.search_fuzzy(query) + + +def test_subdivision_fuzzy_search_match(): + results = pycountry.subdivisions.search_fuzzy("Alabama") + assert len(results) == 1 + assert results[0].name == "Alabama" + + +def test_subdivision_fuzzy_search_partial_match(): + results = pycountry.subdivisions.search_fuzzy("Massachusett") + assert len(results) == 1 + assert results[0].name == "Massachusetts" + + +def test_subdivision_match(): + results = pycountry.subdivisions.match("Alabama") + assert len(results) == 1 + assert results[0].name == "Alabama" + + +def test_subdivision_partial_match(): + results = pycountry.subdivisions.partial_match("Massachusett") + assert len(results) == 1 + assert results[0].name == "Massachusetts" + + +def test_non_country_attribute_error(): + english = pycountry.languages.get(name="English") + with pytest.raises(AttributeError): + english.official_name + + +def test_country_attribute_error(countries): + canada = pycountry.countries.get(alpha_2="CA") + with pytest.raises(AttributeError): + canada.maple_syrup + + +def test_with_accents(): + assert pycountry.remove_accents("Café") == "Cafe" + assert pycountry.remove_accents("résumé") == "resume" + assert pycountry.remove_accents("naïve") == "naive" + assert pycountry.remove_accents("São Paulo") == "Sao Paulo" + + +def test_without_accents(): + assert pycountry.remove_accents("apple") == "apple" + assert pycountry.remove_accents("banana") == "banana" + + +def test_empty_string(): + assert pycountry.remove_accents("") == "" + + +def test_special_characters(): + assert pycountry.remove_accents("!@#$%^&*()") == "!@#$%^&*()" + + +def test_unicode_characters(): + assert pycountry.remove_accents("你好") == "你好" # Chinese characters + assert ( + pycountry.remove_accents("こんにちは") == "こんにちは" + ) # Japanese characters + + +def test_subdivision_search_fuzzy_non_existent_subdivision(): + with pytest.raises(LookupError): + pycountry.subdivisions.search_fuzzy("Non Existent Subdivision") + + +def test_subdivision_partial_match_non(): + result = pycountry.subdivisions.partial_match("Non Existent Subdivision") + assert len(result) == 0 + + +def test_subdivision_match_non(): + result = pycountry.subdivisions.match("Non Existent Subdivision") + assert len(result) == 0 + + +def test_get_version_with_package_not_found(): + # Mock importlib.metadata.version to raise PackageNotFoundError + with patch( + "importlib.metadata.version", + side_effect=_importlib_metadata.PackageNotFoundError, + ): + # Call get_version with a package name that doesn't exist + result = pycountry.get_version("non_existent_package") + + # Assert that the result is 'n/a' + assert result == "n/a" + + +def test_all_subdivisions_have_name_attribute(): + subdivisions = pycountry.subdivisions + has_name_attr = [ + hasattr(subdivision, "name") for subdivision in subdivisions + ] + all_have_name_attr = all(has_name_attr) + + assert all_have_name_attr + + +def test_subdivisions_with_missing_parents(): + result = [ + (i.code, i.parent_code) + for i in pycountry.subdivisions + if i.parent_code and not i.parent + ] + assert result == [] diff --git a/.venv/lib/python3.11/site-packages/pycparser/__init__.py b/.venv/lib/python3.11/site-packages/pycparser/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..bf4b0d411dbe5e91780553753af9c77f737bbd59 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/__init__.py @@ -0,0 +1,93 @@ +#----------------------------------------------------------------- +# pycparser: __init__.py +# +# This package file exports some convenience functions for +# interacting with pycparser +# +# Eli Bendersky [https://eli.thegreenplace.net/] +# License: BSD +#----------------------------------------------------------------- +__all__ = ['c_lexer', 'c_parser', 'c_ast'] +__version__ = '2.22' + +import io +from subprocess import check_output +from .c_parser import CParser + + +def preprocess_file(filename, cpp_path='cpp', cpp_args=''): + """ Preprocess a file using cpp. + + filename: + Name of the file you want to preprocess. + + cpp_path: + cpp_args: + Refer to the documentation of parse_file for the meaning of these + arguments. + + When successful, returns the preprocessed file's contents. + Errors from cpp will be printed out. + """ + path_list = [cpp_path] + if isinstance(cpp_args, list): + path_list += cpp_args + elif cpp_args != '': + path_list += [cpp_args] + path_list += [filename] + + try: + # Note the use of universal_newlines to treat all newlines + # as \n for Python's purpose + text = check_output(path_list, universal_newlines=True) + except OSError as e: + raise RuntimeError("Unable to invoke 'cpp'. " + + 'Make sure its path was passed correctly\n' + + ('Original error: %s' % e)) + + return text + + +def parse_file(filename, use_cpp=False, cpp_path='cpp', cpp_args='', + parser=None, encoding=None): + """ Parse a C file using pycparser. + + filename: + Name of the file you want to parse. + + use_cpp: + Set to True if you want to execute the C pre-processor + on the file prior to parsing it. + + cpp_path: + If use_cpp is True, this is the path to 'cpp' on your + system. If no path is provided, it attempts to just + execute 'cpp', so it must be in your PATH. + + cpp_args: + If use_cpp is True, set this to the command line arguments strings + to cpp. Be careful with quotes - it's best to pass a raw string + (r'') here. For example: + r'-I../utils/fake_libc_include' + If several arguments are required, pass a list of strings. + + encoding: + Encoding to use for the file to parse + + parser: + Optional parser object to be used instead of the default CParser + + When successful, an AST is returned. ParseError can be + thrown if the file doesn't parse successfully. + + Errors from cpp will be printed out. + """ + if use_cpp: + text = preprocess_file(filename, cpp_path, cpp_args) + else: + with io.open(filename, encoding=encoding) as f: + text = f.read() + + if parser is None: + parser = CParser() + return parser.parse(text, filename) diff --git a/.venv/lib/python3.11/site-packages/pycparser/_ast_gen.py b/.venv/lib/python3.11/site-packages/pycparser/_ast_gen.py new file mode 100644 index 0000000000000000000000000000000000000000..0f7d330ba694ec21e278264b90bfbe483ca2b7d3 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/_ast_gen.py @@ -0,0 +1,336 @@ +#----------------------------------------------------------------- +# _ast_gen.py +# +# Generates the AST Node classes from a specification given in +# a configuration file +# +# The design of this module was inspired by astgen.py from the +# Python 2.5 code-base. +# +# Eli Bendersky [https://eli.thegreenplace.net/] +# License: BSD +#----------------------------------------------------------------- +from string import Template + + +class ASTCodeGenerator(object): + def __init__(self, cfg_filename='_c_ast.cfg'): + """ Initialize the code generator from a configuration + file. + """ + self.cfg_filename = cfg_filename + self.node_cfg = [NodeCfg(name, contents) + for (name, contents) in self.parse_cfgfile(cfg_filename)] + + def generate(self, file=None): + """ Generates the code into file, an open file buffer. + """ + src = Template(_PROLOGUE_COMMENT).substitute( + cfg_filename=self.cfg_filename) + + src += _PROLOGUE_CODE + for node_cfg in self.node_cfg: + src += node_cfg.generate_source() + '\n\n' + + file.write(src) + + def parse_cfgfile(self, filename): + """ Parse the configuration file and yield pairs of + (name, contents) for each node. + """ + with open(filename, "r") as f: + for line in f: + line = line.strip() + if not line or line.startswith('#'): + continue + colon_i = line.find(':') + lbracket_i = line.find('[') + rbracket_i = line.find(']') + if colon_i < 1 or lbracket_i <= colon_i or rbracket_i <= lbracket_i: + raise RuntimeError("Invalid line in %s:\n%s\n" % (filename, line)) + + name = line[:colon_i] + val = line[lbracket_i + 1:rbracket_i] + vallist = [v.strip() for v in val.split(',')] if val else [] + yield name, vallist + + +class NodeCfg(object): + """ Node configuration. + + name: node name + contents: a list of contents - attributes and child nodes + See comment at the top of the configuration file for details. + """ + + def __init__(self, name, contents): + self.name = name + self.all_entries = [] + self.attr = [] + self.child = [] + self.seq_child = [] + + for entry in contents: + clean_entry = entry.rstrip('*') + self.all_entries.append(clean_entry) + + if entry.endswith('**'): + self.seq_child.append(clean_entry) + elif entry.endswith('*'): + self.child.append(clean_entry) + else: + self.attr.append(entry) + + def generate_source(self): + src = self._gen_init() + src += '\n' + self._gen_children() + src += '\n' + self._gen_iter() + src += '\n' + self._gen_attr_names() + return src + + def _gen_init(self): + src = "class %s(Node):\n" % self.name + + if self.all_entries: + args = ', '.join(self.all_entries) + slots = ', '.join("'{0}'".format(e) for e in self.all_entries) + slots += ", 'coord', '__weakref__'" + arglist = '(self, %s, coord=None)' % args + else: + slots = "'coord', '__weakref__'" + arglist = '(self, coord=None)' + + src += " __slots__ = (%s)\n" % slots + src += " def __init__%s:\n" % arglist + + for name in self.all_entries + ['coord']: + src += " self.%s = %s\n" % (name, name) + + return src + + def _gen_children(self): + src = ' def children(self):\n' + + if self.all_entries: + src += ' nodelist = []\n' + + for child in self.child: + src += ( + ' if self.%(child)s is not None:' + + ' nodelist.append(("%(child)s", self.%(child)s))\n') % ( + dict(child=child)) + + for seq_child in self.seq_child: + src += ( + ' for i, child in enumerate(self.%(child)s or []):\n' + ' nodelist.append(("%(child)s[%%d]" %% i, child))\n') % ( + dict(child=seq_child)) + + src += ' return tuple(nodelist)\n' + else: + src += ' return ()\n' + + return src + + def _gen_iter(self): + src = ' def __iter__(self):\n' + + if self.all_entries: + for child in self.child: + src += ( + ' if self.%(child)s is not None:\n' + + ' yield self.%(child)s\n') % (dict(child=child)) + + for seq_child in self.seq_child: + src += ( + ' for child in (self.%(child)s or []):\n' + ' yield child\n') % (dict(child=seq_child)) + + if not (self.child or self.seq_child): + # Empty generator + src += ( + ' return\n' + + ' yield\n') + else: + # Empty generator + src += ( + ' return\n' + + ' yield\n') + + return src + + def _gen_attr_names(self): + src = " attr_names = (" + ''.join("%r, " % nm for nm in self.attr) + ')' + return src + + +_PROLOGUE_COMMENT = \ +r'''#----------------------------------------------------------------- +# ** ATTENTION ** +# This code was automatically generated from the file: +# $cfg_filename +# +# Do not modify it directly. Modify the configuration file and +# run the generator again. +# ** ** *** ** ** +# +# pycparser: c_ast.py +# +# AST Node classes. +# +# Eli Bendersky [https://eli.thegreenplace.net/] +# License: BSD +#----------------------------------------------------------------- + +''' + +_PROLOGUE_CODE = r''' +import sys + +def _repr(obj): + """ + Get the representation of an object, with dedicated pprint-like format for lists. + """ + if isinstance(obj, list): + return '[' + (',\n '.join((_repr(e).replace('\n', '\n ') for e in obj))) + '\n]' + else: + return repr(obj) + +class Node(object): + __slots__ = () + """ Abstract base class for AST nodes. + """ + def __repr__(self): + """ Generates a python representation of the current node + """ + result = self.__class__.__name__ + '(' + + indent = '' + separator = '' + for name in self.__slots__[:-2]: + result += separator + result += indent + result += name + '=' + (_repr(getattr(self, name)).replace('\n', '\n ' + (' ' * (len(name) + len(self.__class__.__name__))))) + + separator = ',' + indent = '\n ' + (' ' * len(self.__class__.__name__)) + + result += indent + ')' + + return result + + def children(self): + """ A sequence of all children that are Nodes + """ + pass + + def show(self, buf=sys.stdout, offset=0, attrnames=False, nodenames=False, showcoord=False, _my_node_name=None): + """ Pretty print the Node and all its attributes and + children (recursively) to a buffer. + + buf: + Open IO buffer into which the Node is printed. + + offset: + Initial offset (amount of leading spaces) + + attrnames: + True if you want to see the attribute names in + name=value pairs. False to only see the values. + + nodenames: + True if you want to see the actual node names + within their parents. + + showcoord: + Do you want the coordinates of each Node to be + displayed. + """ + lead = ' ' * offset + if nodenames and _my_node_name is not None: + buf.write(lead + self.__class__.__name__+ ' <' + _my_node_name + '>: ') + else: + buf.write(lead + self.__class__.__name__+ ': ') + + if self.attr_names: + if attrnames: + nvlist = [(n, getattr(self,n)) for n in self.attr_names] + attrstr = ', '.join('%s=%s' % nv for nv in nvlist) + else: + vlist = [getattr(self, n) for n in self.attr_names] + attrstr = ', '.join('%s' % v for v in vlist) + buf.write(attrstr) + + if showcoord: + buf.write(' (at %s)' % self.coord) + buf.write('\n') + + for (child_name, child) in self.children(): + child.show( + buf, + offset=offset + 2, + attrnames=attrnames, + nodenames=nodenames, + showcoord=showcoord, + _my_node_name=child_name) + + +class NodeVisitor(object): + """ A base NodeVisitor class for visiting c_ast nodes. + Subclass it and define your own visit_XXX methods, where + XXX is the class name you want to visit with these + methods. + + For example: + + class ConstantVisitor(NodeVisitor): + def __init__(self): + self.values = [] + + def visit_Constant(self, node): + self.values.append(node.value) + + Creates a list of values of all the constant nodes + encountered below the given node. To use it: + + cv = ConstantVisitor() + cv.visit(node) + + Notes: + + * generic_visit() will be called for AST nodes for which + no visit_XXX method was defined. + * The children of nodes for which a visit_XXX was + defined will not be visited - if you need this, call + generic_visit() on the node. + You can use: + NodeVisitor.generic_visit(self, node) + * Modeled after Python's own AST visiting facilities + (the ast module of Python 3.0) + """ + + _method_cache = None + + def visit(self, node): + """ Visit a node. + """ + + if self._method_cache is None: + self._method_cache = {} + + visitor = self._method_cache.get(node.__class__.__name__, None) + if visitor is None: + method = 'visit_' + node.__class__.__name__ + visitor = getattr(self, method, self.generic_visit) + self._method_cache[node.__class__.__name__] = visitor + + return visitor(node) + + def generic_visit(self, node): + """ Called if no explicit visitor function exists for a + node. Implements preorder visiting of the node. + """ + for c in node: + self.visit(c) + +''' diff --git a/.venv/lib/python3.11/site-packages/pycparser/_build_tables.py b/.venv/lib/python3.11/site-packages/pycparser/_build_tables.py new file mode 100644 index 0000000000000000000000000000000000000000..4f3710795ca3f32e29d70d47e2a6447c00994fe4 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/_build_tables.py @@ -0,0 +1,40 @@ +#----------------------------------------------------------------- +# pycparser: _build_tables.py +# +# A dummy for generating the lexing/parsing tables and and +# compiling them into .pyc for faster execution in optimized mode. +# Also generates AST code from the configuration file. +# Should be called from the pycparser directory. +# +# Eli Bendersky [https://eli.thegreenplace.net/] +# License: BSD +#----------------------------------------------------------------- + +# Insert '.' and '..' as first entries to the search path for modules. +# Restricted environments like embeddable python do not include the +# current working directory on startup. +import importlib +import sys +sys.path[0:0] = ['.', '..'] + +# Generate c_ast.py +from _ast_gen import ASTCodeGenerator +ast_gen = ASTCodeGenerator('_c_ast.cfg') +ast_gen.generate(open('c_ast.py', 'w')) + +from pycparser import c_parser + +# Generates the tables +# +c_parser.CParser( + lex_optimize=True, + yacc_debug=False, + yacc_optimize=True) + +# Load to compile into .pyc +# +importlib.invalidate_caches() + +import lextab +import yacctab +import c_ast diff --git a/.venv/lib/python3.11/site-packages/pycparser/_c_ast.cfg b/.venv/lib/python3.11/site-packages/pycparser/_c_ast.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0626533e8adf517da897ec047c8deb6ad41c38c9 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/_c_ast.cfg @@ -0,0 +1,195 @@ +#----------------------------------------------------------------- +# pycparser: _c_ast.cfg +# +# Defines the AST Node classes used in pycparser. +# +# Each entry is a Node sub-class name, listing the attributes +# and child nodes of the class: +# * - a child node +# ** - a sequence of child nodes +# - an attribute +# +# Eli Bendersky [https://eli.thegreenplace.net/] +# License: BSD +#----------------------------------------------------------------- + +# ArrayDecl is a nested declaration of an array with the given type. +# dim: the dimension (for example, constant 42) +# dim_quals: list of dimension qualifiers, to support C99's allowing 'const' +# and 'static' within the array dimension in function declarations. +ArrayDecl: [type*, dim*, dim_quals] + +ArrayRef: [name*, subscript*] + +# op: =, +=, /= etc. +# +Assignment: [op, lvalue*, rvalue*] + +Alignas: [alignment*] + +BinaryOp: [op, left*, right*] + +Break: [] + +Case: [expr*, stmts**] + +Cast: [to_type*, expr*] + +# Compound statement in C99 is a list of block items (declarations or +# statements). +# +Compound: [block_items**] + +# Compound literal (anonymous aggregate) for C99. +# (type-name) {initializer_list} +# type: the typename +# init: InitList for the initializer list +# +CompoundLiteral: [type*, init*] + +# type: int, char, float, string, etc. +# +Constant: [type, value] + +Continue: [] + +# name: the variable being declared +# quals: list of qualifiers (const, volatile) +# funcspec: list function specifiers (i.e. inline in C99) +# storage: list of storage specifiers (extern, register, etc.) +# type: declaration type (probably nested with all the modifiers) +# init: initialization value, or None +# bitsize: bit field size, or None +# +Decl: [name, quals, align, storage, funcspec, type*, init*, bitsize*] + +DeclList: [decls**] + +Default: [stmts**] + +DoWhile: [cond*, stmt*] + +# Represents the ellipsis (...) parameter in a function +# declaration +# +EllipsisParam: [] + +# An empty statement (a semicolon ';' on its own) +# +EmptyStatement: [] + +# Enumeration type specifier +# name: an optional ID +# values: an EnumeratorList +# +Enum: [name, values*] + +# A name/value pair for enumeration values +# +Enumerator: [name, value*] + +# A list of enumerators +# +EnumeratorList: [enumerators**] + +# A list of expressions separated by the comma operator. +# +ExprList: [exprs**] + +# This is the top of the AST, representing a single C file (a +# translation unit in K&R jargon). It contains a list of +# "external-declaration"s, which is either declarations (Decl), +# Typedef or function definitions (FuncDef). +# +FileAST: [ext**] + +# for (init; cond; next) stmt +# +For: [init*, cond*, next*, stmt*] + +# name: Id +# args: ExprList +# +FuncCall: [name*, args*] + +# type (args) +# +FuncDecl: [args*, type*] + +# Function definition: a declarator for the function name and +# a body, which is a compound statement. +# There's an optional list of parameter declarations for old +# K&R-style definitions +# +FuncDef: [decl*, param_decls**, body*] + +Goto: [name] + +ID: [name] + +# Holder for types that are a simple identifier (e.g. the built +# ins void, char etc. and typedef-defined types) +# +IdentifierType: [names] + +If: [cond*, iftrue*, iffalse*] + +# An initialization list used for compound literals. +# +InitList: [exprs**] + +Label: [name, stmt*] + +# A named initializer for C99. +# The name of a NamedInitializer is a sequence of Nodes, because +# names can be hierarchical and contain constant expressions. +# +NamedInitializer: [name**, expr*] + +# a list of comma separated function parameter declarations +# +ParamList: [params**] + +PtrDecl: [quals, type*] + +Return: [expr*] + +StaticAssert: [cond*, message*] + +# name: struct tag name +# decls: declaration of members +# +Struct: [name, decls**] + +# type: . or -> +# name.field or name->field +# +StructRef: [name*, type, field*] + +Switch: [cond*, stmt*] + +# cond ? iftrue : iffalse +# +TernaryOp: [cond*, iftrue*, iffalse*] + +# A base type declaration +# +TypeDecl: [declname, quals, align, type*] + +# A typedef declaration. +# Very similar to Decl, but without some attributes +# +Typedef: [name, quals, storage, type*] + +Typename: [name, quals, align, type*] + +UnaryOp: [op, expr*] + +# name: union tag name +# decls: declaration of members +# +Union: [name, decls**] + +While: [cond*, stmt*] + +Pragma: [string] diff --git a/.venv/lib/python3.11/site-packages/pycparser/ast_transforms.py b/.venv/lib/python3.11/site-packages/pycparser/ast_transforms.py new file mode 100644 index 0000000000000000000000000000000000000000..367dcf54c57db47429fae8a67325237e7c048e17 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/ast_transforms.py @@ -0,0 +1,164 @@ +#------------------------------------------------------------------------------ +# pycparser: ast_transforms.py +# +# Some utilities used by the parser to create a friendlier AST. +# +# Eli Bendersky [https://eli.thegreenplace.net/] +# License: BSD +#------------------------------------------------------------------------------ + +from . import c_ast + + +def fix_switch_cases(switch_node): + """ The 'case' statements in a 'switch' come out of parsing with one + child node, so subsequent statements are just tucked to the parent + Compound. Additionally, consecutive (fall-through) case statements + come out messy. This is a peculiarity of the C grammar. The following: + + switch (myvar) { + case 10: + k = 10; + p = k + 1; + return 10; + case 20: + case 30: + return 20; + default: + break; + } + + Creates this tree (pseudo-dump): + + Switch + ID: myvar + Compound: + Case 10: + k = 10 + p = k + 1 + return 10 + Case 20: + Case 30: + return 20 + Default: + break + + The goal of this transform is to fix this mess, turning it into the + following: + + Switch + ID: myvar + Compound: + Case 10: + k = 10 + p = k + 1 + return 10 + Case 20: + Case 30: + return 20 + Default: + break + + A fixed AST node is returned. The argument may be modified. + """ + assert isinstance(switch_node, c_ast.Switch) + if not isinstance(switch_node.stmt, c_ast.Compound): + return switch_node + + # The new Compound child for the Switch, which will collect children in the + # correct order + new_compound = c_ast.Compound([], switch_node.stmt.coord) + + # The last Case/Default node + last_case = None + + # Goes over the children of the Compound below the Switch, adding them + # either directly below new_compound or below the last Case as appropriate + # (for `switch(cond) {}`, block_items would have been None) + for child in (switch_node.stmt.block_items or []): + if isinstance(child, (c_ast.Case, c_ast.Default)): + # If it's a Case/Default: + # 1. Add it to the Compound and mark as "last case" + # 2. If its immediate child is also a Case or Default, promote it + # to a sibling. + new_compound.block_items.append(child) + _extract_nested_case(child, new_compound.block_items) + last_case = new_compound.block_items[-1] + else: + # Other statements are added as children to the last case, if it + # exists. + if last_case is None: + new_compound.block_items.append(child) + else: + last_case.stmts.append(child) + + switch_node.stmt = new_compound + return switch_node + + +def _extract_nested_case(case_node, stmts_list): + """ Recursively extract consecutive Case statements that are made nested + by the parser and add them to the stmts_list. + """ + if isinstance(case_node.stmts[0], (c_ast.Case, c_ast.Default)): + stmts_list.append(case_node.stmts.pop()) + _extract_nested_case(stmts_list[-1], stmts_list) + + +def fix_atomic_specifiers(decl): + """ Atomic specifiers like _Atomic(type) are unusually structured, + conferring a qualifier upon the contained type. + + This function fixes a decl with atomic specifiers to have a sane AST + structure, by removing spurious Typename->TypeDecl pairs and attaching + the _Atomic qualifier in the right place. + """ + # There can be multiple levels of _Atomic in a decl; fix them until a + # fixed point is reached. + while True: + decl, found = _fix_atomic_specifiers_once(decl) + if not found: + break + + # Make sure to add an _Atomic qual on the topmost decl if needed. Also + # restore the declname on the innermost TypeDecl (it gets placed in the + # wrong place during construction). + typ = decl + while not isinstance(typ, c_ast.TypeDecl): + try: + typ = typ.type + except AttributeError: + return decl + if '_Atomic' in typ.quals and '_Atomic' not in decl.quals: + decl.quals.append('_Atomic') + if typ.declname is None: + typ.declname = decl.name + + return decl + + +def _fix_atomic_specifiers_once(decl): + """ Performs one 'fix' round of atomic specifiers. + Returns (modified_decl, found) where found is True iff a fix was made. + """ + parent = decl + grandparent = None + node = decl.type + while node is not None: + if isinstance(node, c_ast.Typename) and '_Atomic' in node.quals: + break + try: + grandparent = parent + parent = node + node = node.type + except AttributeError: + # If we've reached a node without a `type` field, it means we won't + # find what we're looking for at this point; give up the search + # and return the original decl unmodified. + return decl, False + + assert isinstance(parent, c_ast.TypeDecl) + grandparent.type = node.type + if '_Atomic' not in node.type.quals: + node.type.quals.append('_Atomic') + return decl, True diff --git a/.venv/lib/python3.11/site-packages/pycparser/c_ast.py b/.venv/lib/python3.11/site-packages/pycparser/c_ast.py new file mode 100644 index 0000000000000000000000000000000000000000..6575a2ad395a3fd43c44e296b010e6b33c7eefd0 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/c_ast.py @@ -0,0 +1,1125 @@ +#----------------------------------------------------------------- +# ** ATTENTION ** +# This code was automatically generated from the file: +# _c_ast.cfg +# +# Do not modify it directly. Modify the configuration file and +# run the generator again. +# ** ** *** ** ** +# +# pycparser: c_ast.py +# +# AST Node classes. +# +# Eli Bendersky [https://eli.thegreenplace.net/] +# License: BSD +#----------------------------------------------------------------- + + +import sys + +def _repr(obj): + """ + Get the representation of an object, with dedicated pprint-like format for lists. + """ + if isinstance(obj, list): + return '[' + (',\n '.join((_repr(e).replace('\n', '\n ') for e in obj))) + '\n]' + else: + return repr(obj) + +class Node(object): + __slots__ = () + """ Abstract base class for AST nodes. + """ + def __repr__(self): + """ Generates a python representation of the current node + """ + result = self.__class__.__name__ + '(' + + indent = '' + separator = '' + for name in self.__slots__[:-2]: + result += separator + result += indent + result += name + '=' + (_repr(getattr(self, name)).replace('\n', '\n ' + (' ' * (len(name) + len(self.__class__.__name__))))) + + separator = ',' + indent = '\n ' + (' ' * len(self.__class__.__name__)) + + result += indent + ')' + + return result + + def children(self): + """ A sequence of all children that are Nodes + """ + pass + + def show(self, buf=sys.stdout, offset=0, attrnames=False, nodenames=False, showcoord=False, _my_node_name=None): + """ Pretty print the Node and all its attributes and + children (recursively) to a buffer. + + buf: + Open IO buffer into which the Node is printed. + + offset: + Initial offset (amount of leading spaces) + + attrnames: + True if you want to see the attribute names in + name=value pairs. False to only see the values. + + nodenames: + True if you want to see the actual node names + within their parents. + + showcoord: + Do you want the coordinates of each Node to be + displayed. + """ + lead = ' ' * offset + if nodenames and _my_node_name is not None: + buf.write(lead + self.__class__.__name__+ ' <' + _my_node_name + '>: ') + else: + buf.write(lead + self.__class__.__name__+ ': ') + + if self.attr_names: + if attrnames: + nvlist = [(n, getattr(self,n)) for n in self.attr_names] + attrstr = ', '.join('%s=%s' % nv for nv in nvlist) + else: + vlist = [getattr(self, n) for n in self.attr_names] + attrstr = ', '.join('%s' % v for v in vlist) + buf.write(attrstr) + + if showcoord: + buf.write(' (at %s)' % self.coord) + buf.write('\n') + + for (child_name, child) in self.children(): + child.show( + buf, + offset=offset + 2, + attrnames=attrnames, + nodenames=nodenames, + showcoord=showcoord, + _my_node_name=child_name) + + +class NodeVisitor(object): + """ A base NodeVisitor class for visiting c_ast nodes. + Subclass it and define your own visit_XXX methods, where + XXX is the class name you want to visit with these + methods. + + For example: + + class ConstantVisitor(NodeVisitor): + def __init__(self): + self.values = [] + + def visit_Constant(self, node): + self.values.append(node.value) + + Creates a list of values of all the constant nodes + encountered below the given node. To use it: + + cv = ConstantVisitor() + cv.visit(node) + + Notes: + + * generic_visit() will be called for AST nodes for which + no visit_XXX method was defined. + * The children of nodes for which a visit_XXX was + defined will not be visited - if you need this, call + generic_visit() on the node. + You can use: + NodeVisitor.generic_visit(self, node) + * Modeled after Python's own AST visiting facilities + (the ast module of Python 3.0) + """ + + _method_cache = None + + def visit(self, node): + """ Visit a node. + """ + + if self._method_cache is None: + self._method_cache = {} + + visitor = self._method_cache.get(node.__class__.__name__, None) + if visitor is None: + method = 'visit_' + node.__class__.__name__ + visitor = getattr(self, method, self.generic_visit) + self._method_cache[node.__class__.__name__] = visitor + + return visitor(node) + + def generic_visit(self, node): + """ Called if no explicit visitor function exists for a + node. Implements preorder visiting of the node. + """ + for c in node: + self.visit(c) + +class ArrayDecl(Node): + __slots__ = ('type', 'dim', 'dim_quals', 'coord', '__weakref__') + def __init__(self, type, dim, dim_quals, coord=None): + self.type = type + self.dim = dim + self.dim_quals = dim_quals + self.coord = coord + + def children(self): + nodelist = [] + if self.type is not None: nodelist.append(("type", self.type)) + if self.dim is not None: nodelist.append(("dim", self.dim)) + return tuple(nodelist) + + def __iter__(self): + if self.type is not None: + yield self.type + if self.dim is not None: + yield self.dim + + attr_names = ('dim_quals', ) + +class ArrayRef(Node): + __slots__ = ('name', 'subscript', 'coord', '__weakref__') + def __init__(self, name, subscript, coord=None): + self.name = name + self.subscript = subscript + self.coord = coord + + def children(self): + nodelist = [] + if self.name is not None: nodelist.append(("name", self.name)) + if self.subscript is not None: nodelist.append(("subscript", self.subscript)) + return tuple(nodelist) + + def __iter__(self): + if self.name is not None: + yield self.name + if self.subscript is not None: + yield self.subscript + + attr_names = () + +class Assignment(Node): + __slots__ = ('op', 'lvalue', 'rvalue', 'coord', '__weakref__') + def __init__(self, op, lvalue, rvalue, coord=None): + self.op = op + self.lvalue = lvalue + self.rvalue = rvalue + self.coord = coord + + def children(self): + nodelist = [] + if self.lvalue is not None: nodelist.append(("lvalue", self.lvalue)) + if self.rvalue is not None: nodelist.append(("rvalue", self.rvalue)) + return tuple(nodelist) + + def __iter__(self): + if self.lvalue is not None: + yield self.lvalue + if self.rvalue is not None: + yield self.rvalue + + attr_names = ('op', ) + +class Alignas(Node): + __slots__ = ('alignment', 'coord', '__weakref__') + def __init__(self, alignment, coord=None): + self.alignment = alignment + self.coord = coord + + def children(self): + nodelist = [] + if self.alignment is not None: nodelist.append(("alignment", self.alignment)) + return tuple(nodelist) + + def __iter__(self): + if self.alignment is not None: + yield self.alignment + + attr_names = () + +class BinaryOp(Node): + __slots__ = ('op', 'left', 'right', 'coord', '__weakref__') + def __init__(self, op, left, right, coord=None): + self.op = op + self.left = left + self.right = right + self.coord = coord + + def children(self): + nodelist = [] + if self.left is not None: nodelist.append(("left", self.left)) + if self.right is not None: nodelist.append(("right", self.right)) + return tuple(nodelist) + + def __iter__(self): + if self.left is not None: + yield self.left + if self.right is not None: + yield self.right + + attr_names = ('op', ) + +class Break(Node): + __slots__ = ('coord', '__weakref__') + def __init__(self, coord=None): + self.coord = coord + + def children(self): + return () + + def __iter__(self): + return + yield + + attr_names = () + +class Case(Node): + __slots__ = ('expr', 'stmts', 'coord', '__weakref__') + def __init__(self, expr, stmts, coord=None): + self.expr = expr + self.stmts = stmts + self.coord = coord + + def children(self): + nodelist = [] + if self.expr is not None: nodelist.append(("expr", self.expr)) + for i, child in enumerate(self.stmts or []): + nodelist.append(("stmts[%d]" % i, child)) + return tuple(nodelist) + + def __iter__(self): + if self.expr is not None: + yield self.expr + for child in (self.stmts or []): + yield child + + attr_names = () + +class Cast(Node): + __slots__ = ('to_type', 'expr', 'coord', '__weakref__') + def __init__(self, to_type, expr, coord=None): + self.to_type = to_type + self.expr = expr + self.coord = coord + + def children(self): + nodelist = [] + if self.to_type is not None: nodelist.append(("to_type", self.to_type)) + if self.expr is not None: nodelist.append(("expr", self.expr)) + return tuple(nodelist) + + def __iter__(self): + if self.to_type is not None: + yield self.to_type + if self.expr is not None: + yield self.expr + + attr_names = () + +class Compound(Node): + __slots__ = ('block_items', 'coord', '__weakref__') + def __init__(self, block_items, coord=None): + self.block_items = block_items + self.coord = coord + + def children(self): + nodelist = [] + for i, child in enumerate(self.block_items or []): + nodelist.append(("block_items[%d]" % i, child)) + return tuple(nodelist) + + def __iter__(self): + for child in (self.block_items or []): + yield child + + attr_names = () + +class CompoundLiteral(Node): + __slots__ = ('type', 'init', 'coord', '__weakref__') + def __init__(self, type, init, coord=None): + self.type = type + self.init = init + self.coord = coord + + def children(self): + nodelist = [] + if self.type is not None: nodelist.append(("type", self.type)) + if self.init is not None: nodelist.append(("init", self.init)) + return tuple(nodelist) + + def __iter__(self): + if self.type is not None: + yield self.type + if self.init is not None: + yield self.init + + attr_names = () + +class Constant(Node): + __slots__ = ('type', 'value', 'coord', '__weakref__') + def __init__(self, type, value, coord=None): + self.type = type + self.value = value + self.coord = coord + + def children(self): + nodelist = [] + return tuple(nodelist) + + def __iter__(self): + return + yield + + attr_names = ('type', 'value', ) + +class Continue(Node): + __slots__ = ('coord', '__weakref__') + def __init__(self, coord=None): + self.coord = coord + + def children(self): + return () + + def __iter__(self): + return + yield + + attr_names = () + +class Decl(Node): + __slots__ = ('name', 'quals', 'align', 'storage', 'funcspec', 'type', 'init', 'bitsize', 'coord', '__weakref__') + def __init__(self, name, quals, align, storage, funcspec, type, init, bitsize, coord=None): + self.name = name + self.quals = quals + self.align = align + self.storage = storage + self.funcspec = funcspec + self.type = type + self.init = init + self.bitsize = bitsize + self.coord = coord + + def children(self): + nodelist = [] + if self.type is not None: nodelist.append(("type", self.type)) + if self.init is not None: nodelist.append(("init", self.init)) + if self.bitsize is not None: nodelist.append(("bitsize", self.bitsize)) + return tuple(nodelist) + + def __iter__(self): + if self.type is not None: + yield self.type + if self.init is not None: + yield self.init + if self.bitsize is not None: + yield self.bitsize + + attr_names = ('name', 'quals', 'align', 'storage', 'funcspec', ) + +class DeclList(Node): + __slots__ = ('decls', 'coord', '__weakref__') + def __init__(self, decls, coord=None): + self.decls = decls + self.coord = coord + + def children(self): + nodelist = [] + for i, child in enumerate(self.decls or []): + nodelist.append(("decls[%d]" % i, child)) + return tuple(nodelist) + + def __iter__(self): + for child in (self.decls or []): + yield child + + attr_names = () + +class Default(Node): + __slots__ = ('stmts', 'coord', '__weakref__') + def __init__(self, stmts, coord=None): + self.stmts = stmts + self.coord = coord + + def children(self): + nodelist = [] + for i, child in enumerate(self.stmts or []): + nodelist.append(("stmts[%d]" % i, child)) + return tuple(nodelist) + + def __iter__(self): + for child in (self.stmts or []): + yield child + + attr_names = () + +class DoWhile(Node): + __slots__ = ('cond', 'stmt', 'coord', '__weakref__') + def __init__(self, cond, stmt, coord=None): + self.cond = cond + self.stmt = stmt + self.coord = coord + + def children(self): + nodelist = [] + if self.cond is not None: nodelist.append(("cond", self.cond)) + if self.stmt is not None: nodelist.append(("stmt", self.stmt)) + return tuple(nodelist) + + def __iter__(self): + if self.cond is not None: + yield self.cond + if self.stmt is not None: + yield self.stmt + + attr_names = () + +class EllipsisParam(Node): + __slots__ = ('coord', '__weakref__') + def __init__(self, coord=None): + self.coord = coord + + def children(self): + return () + + def __iter__(self): + return + yield + + attr_names = () + +class EmptyStatement(Node): + __slots__ = ('coord', '__weakref__') + def __init__(self, coord=None): + self.coord = coord + + def children(self): + return () + + def __iter__(self): + return + yield + + attr_names = () + +class Enum(Node): + __slots__ = ('name', 'values', 'coord', '__weakref__') + def __init__(self, name, values, coord=None): + self.name = name + self.values = values + self.coord = coord + + def children(self): + nodelist = [] + if self.values is not None: nodelist.append(("values", self.values)) + return tuple(nodelist) + + def __iter__(self): + if self.values is not None: + yield self.values + + attr_names = ('name', ) + +class Enumerator(Node): + __slots__ = ('name', 'value', 'coord', '__weakref__') + def __init__(self, name, value, coord=None): + self.name = name + self.value = value + self.coord = coord + + def children(self): + nodelist = [] + if self.value is not None: nodelist.append(("value", self.value)) + return tuple(nodelist) + + def __iter__(self): + if self.value is not None: + yield self.value + + attr_names = ('name', ) + +class EnumeratorList(Node): + __slots__ = ('enumerators', 'coord', '__weakref__') + def __init__(self, enumerators, coord=None): + self.enumerators = enumerators + self.coord = coord + + def children(self): + nodelist = [] + for i, child in enumerate(self.enumerators or []): + nodelist.append(("enumerators[%d]" % i, child)) + return tuple(nodelist) + + def __iter__(self): + for child in (self.enumerators or []): + yield child + + attr_names = () + +class ExprList(Node): + __slots__ = ('exprs', 'coord', '__weakref__') + def __init__(self, exprs, coord=None): + self.exprs = exprs + self.coord = coord + + def children(self): + nodelist = [] + for i, child in enumerate(self.exprs or []): + nodelist.append(("exprs[%d]" % i, child)) + return tuple(nodelist) + + def __iter__(self): + for child in (self.exprs or []): + yield child + + attr_names = () + +class FileAST(Node): + __slots__ = ('ext', 'coord', '__weakref__') + def __init__(self, ext, coord=None): + self.ext = ext + self.coord = coord + + def children(self): + nodelist = [] + for i, child in enumerate(self.ext or []): + nodelist.append(("ext[%d]" % i, child)) + return tuple(nodelist) + + def __iter__(self): + for child in (self.ext or []): + yield child + + attr_names = () + +class For(Node): + __slots__ = ('init', 'cond', 'next', 'stmt', 'coord', '__weakref__') + def __init__(self, init, cond, next, stmt, coord=None): + self.init = init + self.cond = cond + self.next = next + self.stmt = stmt + self.coord = coord + + def children(self): + nodelist = [] + if self.init is not None: nodelist.append(("init", self.init)) + if self.cond is not None: nodelist.append(("cond", self.cond)) + if self.next is not None: nodelist.append(("next", self.next)) + if self.stmt is not None: nodelist.append(("stmt", self.stmt)) + return tuple(nodelist) + + def __iter__(self): + if self.init is not None: + yield self.init + if self.cond is not None: + yield self.cond + if self.next is not None: + yield self.next + if self.stmt is not None: + yield self.stmt + + attr_names = () + +class FuncCall(Node): + __slots__ = ('name', 'args', 'coord', '__weakref__') + def __init__(self, name, args, coord=None): + self.name = name + self.args = args + self.coord = coord + + def children(self): + nodelist = [] + if self.name is not None: nodelist.append(("name", self.name)) + if self.args is not None: nodelist.append(("args", self.args)) + return tuple(nodelist) + + def __iter__(self): + if self.name is not None: + yield self.name + if self.args is not None: + yield self.args + + attr_names = () + +class FuncDecl(Node): + __slots__ = ('args', 'type', 'coord', '__weakref__') + def __init__(self, args, type, coord=None): + self.args = args + self.type = type + self.coord = coord + + def children(self): + nodelist = [] + if self.args is not None: nodelist.append(("args", self.args)) + if self.type is not None: nodelist.append(("type", self.type)) + return tuple(nodelist) + + def __iter__(self): + if self.args is not None: + yield self.args + if self.type is not None: + yield self.type + + attr_names = () + +class FuncDef(Node): + __slots__ = ('decl', 'param_decls', 'body', 'coord', '__weakref__') + def __init__(self, decl, param_decls, body, coord=None): + self.decl = decl + self.param_decls = param_decls + self.body = body + self.coord = coord + + def children(self): + nodelist = [] + if self.decl is not None: nodelist.append(("decl", self.decl)) + if self.body is not None: nodelist.append(("body", self.body)) + for i, child in enumerate(self.param_decls or []): + nodelist.append(("param_decls[%d]" % i, child)) + return tuple(nodelist) + + def __iter__(self): + if self.decl is not None: + yield self.decl + if self.body is not None: + yield self.body + for child in (self.param_decls or []): + yield child + + attr_names = () + +class Goto(Node): + __slots__ = ('name', 'coord', '__weakref__') + def __init__(self, name, coord=None): + self.name = name + self.coord = coord + + def children(self): + nodelist = [] + return tuple(nodelist) + + def __iter__(self): + return + yield + + attr_names = ('name', ) + +class ID(Node): + __slots__ = ('name', 'coord', '__weakref__') + def __init__(self, name, coord=None): + self.name = name + self.coord = coord + + def children(self): + nodelist = [] + return tuple(nodelist) + + def __iter__(self): + return + yield + + attr_names = ('name', ) + +class IdentifierType(Node): + __slots__ = ('names', 'coord', '__weakref__') + def __init__(self, names, coord=None): + self.names = names + self.coord = coord + + def children(self): + nodelist = [] + return tuple(nodelist) + + def __iter__(self): + return + yield + + attr_names = ('names', ) + +class If(Node): + __slots__ = ('cond', 'iftrue', 'iffalse', 'coord', '__weakref__') + def __init__(self, cond, iftrue, iffalse, coord=None): + self.cond = cond + self.iftrue = iftrue + self.iffalse = iffalse + self.coord = coord + + def children(self): + nodelist = [] + if self.cond is not None: nodelist.append(("cond", self.cond)) + if self.iftrue is not None: nodelist.append(("iftrue", self.iftrue)) + if self.iffalse is not None: nodelist.append(("iffalse", self.iffalse)) + return tuple(nodelist) + + def __iter__(self): + if self.cond is not None: + yield self.cond + if self.iftrue is not None: + yield self.iftrue + if self.iffalse is not None: + yield self.iffalse + + attr_names = () + +class InitList(Node): + __slots__ = ('exprs', 'coord', '__weakref__') + def __init__(self, exprs, coord=None): + self.exprs = exprs + self.coord = coord + + def children(self): + nodelist = [] + for i, child in enumerate(self.exprs or []): + nodelist.append(("exprs[%d]" % i, child)) + return tuple(nodelist) + + def __iter__(self): + for child in (self.exprs or []): + yield child + + attr_names = () + +class Label(Node): + __slots__ = ('name', 'stmt', 'coord', '__weakref__') + def __init__(self, name, stmt, coord=None): + self.name = name + self.stmt = stmt + self.coord = coord + + def children(self): + nodelist = [] + if self.stmt is not None: nodelist.append(("stmt", self.stmt)) + return tuple(nodelist) + + def __iter__(self): + if self.stmt is not None: + yield self.stmt + + attr_names = ('name', ) + +class NamedInitializer(Node): + __slots__ = ('name', 'expr', 'coord', '__weakref__') + def __init__(self, name, expr, coord=None): + self.name = name + self.expr = expr + self.coord = coord + + def children(self): + nodelist = [] + if self.expr is not None: nodelist.append(("expr", self.expr)) + for i, child in enumerate(self.name or []): + nodelist.append(("name[%d]" % i, child)) + return tuple(nodelist) + + def __iter__(self): + if self.expr is not None: + yield self.expr + for child in (self.name or []): + yield child + + attr_names = () + +class ParamList(Node): + __slots__ = ('params', 'coord', '__weakref__') + def __init__(self, params, coord=None): + self.params = params + self.coord = coord + + def children(self): + nodelist = [] + for i, child in enumerate(self.params or []): + nodelist.append(("params[%d]" % i, child)) + return tuple(nodelist) + + def __iter__(self): + for child in (self.params or []): + yield child + + attr_names = () + +class PtrDecl(Node): + __slots__ = ('quals', 'type', 'coord', '__weakref__') + def __init__(self, quals, type, coord=None): + self.quals = quals + self.type = type + self.coord = coord + + def children(self): + nodelist = [] + if self.type is not None: nodelist.append(("type", self.type)) + return tuple(nodelist) + + def __iter__(self): + if self.type is not None: + yield self.type + + attr_names = ('quals', ) + +class Return(Node): + __slots__ = ('expr', 'coord', '__weakref__') + def __init__(self, expr, coord=None): + self.expr = expr + self.coord = coord + + def children(self): + nodelist = [] + if self.expr is not None: nodelist.append(("expr", self.expr)) + return tuple(nodelist) + + def __iter__(self): + if self.expr is not None: + yield self.expr + + attr_names = () + +class StaticAssert(Node): + __slots__ = ('cond', 'message', 'coord', '__weakref__') + def __init__(self, cond, message, coord=None): + self.cond = cond + self.message = message + self.coord = coord + + def children(self): + nodelist = [] + if self.cond is not None: nodelist.append(("cond", self.cond)) + if self.message is not None: nodelist.append(("message", self.message)) + return tuple(nodelist) + + def __iter__(self): + if self.cond is not None: + yield self.cond + if self.message is not None: + yield self.message + + attr_names = () + +class Struct(Node): + __slots__ = ('name', 'decls', 'coord', '__weakref__') + def __init__(self, name, decls, coord=None): + self.name = name + self.decls = decls + self.coord = coord + + def children(self): + nodelist = [] + for i, child in enumerate(self.decls or []): + nodelist.append(("decls[%d]" % i, child)) + return tuple(nodelist) + + def __iter__(self): + for child in (self.decls or []): + yield child + + attr_names = ('name', ) + +class StructRef(Node): + __slots__ = ('name', 'type', 'field', 'coord', '__weakref__') + def __init__(self, name, type, field, coord=None): + self.name = name + self.type = type + self.field = field + self.coord = coord + + def children(self): + nodelist = [] + if self.name is not None: nodelist.append(("name", self.name)) + if self.field is not None: nodelist.append(("field", self.field)) + return tuple(nodelist) + + def __iter__(self): + if self.name is not None: + yield self.name + if self.field is not None: + yield self.field + + attr_names = ('type', ) + +class Switch(Node): + __slots__ = ('cond', 'stmt', 'coord', '__weakref__') + def __init__(self, cond, stmt, coord=None): + self.cond = cond + self.stmt = stmt + self.coord = coord + + def children(self): + nodelist = [] + if self.cond is not None: nodelist.append(("cond", self.cond)) + if self.stmt is not None: nodelist.append(("stmt", self.stmt)) + return tuple(nodelist) + + def __iter__(self): + if self.cond is not None: + yield self.cond + if self.stmt is not None: + yield self.stmt + + attr_names = () + +class TernaryOp(Node): + __slots__ = ('cond', 'iftrue', 'iffalse', 'coord', '__weakref__') + def __init__(self, cond, iftrue, iffalse, coord=None): + self.cond = cond + self.iftrue = iftrue + self.iffalse = iffalse + self.coord = coord + + def children(self): + nodelist = [] + if self.cond is not None: nodelist.append(("cond", self.cond)) + if self.iftrue is not None: nodelist.append(("iftrue", self.iftrue)) + if self.iffalse is not None: nodelist.append(("iffalse", self.iffalse)) + return tuple(nodelist) + + def __iter__(self): + if self.cond is not None: + yield self.cond + if self.iftrue is not None: + yield self.iftrue + if self.iffalse is not None: + yield self.iffalse + + attr_names = () + +class TypeDecl(Node): + __slots__ = ('declname', 'quals', 'align', 'type', 'coord', '__weakref__') + def __init__(self, declname, quals, align, type, coord=None): + self.declname = declname + self.quals = quals + self.align = align + self.type = type + self.coord = coord + + def children(self): + nodelist = [] + if self.type is not None: nodelist.append(("type", self.type)) + return tuple(nodelist) + + def __iter__(self): + if self.type is not None: + yield self.type + + attr_names = ('declname', 'quals', 'align', ) + +class Typedef(Node): + __slots__ = ('name', 'quals', 'storage', 'type', 'coord', '__weakref__') + def __init__(self, name, quals, storage, type, coord=None): + self.name = name + self.quals = quals + self.storage = storage + self.type = type + self.coord = coord + + def children(self): + nodelist = [] + if self.type is not None: nodelist.append(("type", self.type)) + return tuple(nodelist) + + def __iter__(self): + if self.type is not None: + yield self.type + + attr_names = ('name', 'quals', 'storage', ) + +class Typename(Node): + __slots__ = ('name', 'quals', 'align', 'type', 'coord', '__weakref__') + def __init__(self, name, quals, align, type, coord=None): + self.name = name + self.quals = quals + self.align = align + self.type = type + self.coord = coord + + def children(self): + nodelist = [] + if self.type is not None: nodelist.append(("type", self.type)) + return tuple(nodelist) + + def __iter__(self): + if self.type is not None: + yield self.type + + attr_names = ('name', 'quals', 'align', ) + +class UnaryOp(Node): + __slots__ = ('op', 'expr', 'coord', '__weakref__') + def __init__(self, op, expr, coord=None): + self.op = op + self.expr = expr + self.coord = coord + + def children(self): + nodelist = [] + if self.expr is not None: nodelist.append(("expr", self.expr)) + return tuple(nodelist) + + def __iter__(self): + if self.expr is not None: + yield self.expr + + attr_names = ('op', ) + +class Union(Node): + __slots__ = ('name', 'decls', 'coord', '__weakref__') + def __init__(self, name, decls, coord=None): + self.name = name + self.decls = decls + self.coord = coord + + def children(self): + nodelist = [] + for i, child in enumerate(self.decls or []): + nodelist.append(("decls[%d]" % i, child)) + return tuple(nodelist) + + def __iter__(self): + for child in (self.decls or []): + yield child + + attr_names = ('name', ) + +class While(Node): + __slots__ = ('cond', 'stmt', 'coord', '__weakref__') + def __init__(self, cond, stmt, coord=None): + self.cond = cond + self.stmt = stmt + self.coord = coord + + def children(self): + nodelist = [] + if self.cond is not None: nodelist.append(("cond", self.cond)) + if self.stmt is not None: nodelist.append(("stmt", self.stmt)) + return tuple(nodelist) + + def __iter__(self): + if self.cond is not None: + yield self.cond + if self.stmt is not None: + yield self.stmt + + attr_names = () + +class Pragma(Node): + __slots__ = ('string', 'coord', '__weakref__') + def __init__(self, string, coord=None): + self.string = string + self.coord = coord + + def children(self): + nodelist = [] + return tuple(nodelist) + + def __iter__(self): + return + yield + + attr_names = ('string', ) + diff --git a/.venv/lib/python3.11/site-packages/pycparser/c_generator.py b/.venv/lib/python3.11/site-packages/pycparser/c_generator.py new file mode 100644 index 0000000000000000000000000000000000000000..1057b2c62e26feb74f2c1d0536de22140579fc8b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/c_generator.py @@ -0,0 +1,502 @@ +#------------------------------------------------------------------------------ +# pycparser: c_generator.py +# +# C code generator from pycparser AST nodes. +# +# Eli Bendersky [https://eli.thegreenplace.net/] +# License: BSD +#------------------------------------------------------------------------------ +from . import c_ast + + +class CGenerator(object): + """ Uses the same visitor pattern as c_ast.NodeVisitor, but modified to + return a value from each visit method, using string accumulation in + generic_visit. + """ + def __init__(self, reduce_parentheses=False): + """ Constructs C-code generator + + reduce_parentheses: + if True, eliminates needless parentheses on binary operators + """ + # Statements start with indentation of self.indent_level spaces, using + # the _make_indent method. + self.indent_level = 0 + self.reduce_parentheses = reduce_parentheses + + def _make_indent(self): + return ' ' * self.indent_level + + def visit(self, node): + method = 'visit_' + node.__class__.__name__ + return getattr(self, method, self.generic_visit)(node) + + def generic_visit(self, node): + if node is None: + return '' + else: + return ''.join(self.visit(c) for c_name, c in node.children()) + + def visit_Constant(self, n): + return n.value + + def visit_ID(self, n): + return n.name + + def visit_Pragma(self, n): + ret = '#pragma' + if n.string: + ret += ' ' + n.string + return ret + + def visit_ArrayRef(self, n): + arrref = self._parenthesize_unless_simple(n.name) + return arrref + '[' + self.visit(n.subscript) + ']' + + def visit_StructRef(self, n): + sref = self._parenthesize_unless_simple(n.name) + return sref + n.type + self.visit(n.field) + + def visit_FuncCall(self, n): + fref = self._parenthesize_unless_simple(n.name) + return fref + '(' + self.visit(n.args) + ')' + + def visit_UnaryOp(self, n): + if n.op == 'sizeof': + # Always parenthesize the argument of sizeof since it can be + # a name. + return 'sizeof(%s)' % self.visit(n.expr) + else: + operand = self._parenthesize_unless_simple(n.expr) + if n.op == 'p++': + return '%s++' % operand + elif n.op == 'p--': + return '%s--' % operand + else: + return '%s%s' % (n.op, operand) + + # Precedence map of binary operators: + precedence_map = { + # Should be in sync with c_parser.CParser.precedence + # Higher numbers are stronger binding + '||': 0, # weakest binding + '&&': 1, + '|': 2, + '^': 3, + '&': 4, + '==': 5, '!=': 5, + '>': 6, '>=': 6, '<': 6, '<=': 6, + '>>': 7, '<<': 7, + '+': 8, '-': 8, + '*': 9, '/': 9, '%': 9 # strongest binding + } + + def visit_BinaryOp(self, n): + # Note: all binary operators are left-to-right associative + # + # If `n.left.op` has a stronger or equally binding precedence in + # comparison to `n.op`, no parenthesis are needed for the left: + # e.g., `(a*b) + c` is equivalent to `a*b + c`, as well as + # `(a+b) - c` is equivalent to `a+b - c` (same precedence). + # If the left operator is weaker binding than the current, then + # parentheses are necessary: + # e.g., `(a+b) * c` is NOT equivalent to `a+b * c`. + lval_str = self._parenthesize_if( + n.left, + lambda d: not (self._is_simple_node(d) or + self.reduce_parentheses and isinstance(d, c_ast.BinaryOp) and + self.precedence_map[d.op] >= self.precedence_map[n.op])) + # If `n.right.op` has a stronger -but not equal- binding precedence, + # parenthesis can be omitted on the right: + # e.g., `a + (b*c)` is equivalent to `a + b*c`. + # If the right operator is weaker or equally binding, then parentheses + # are necessary: + # e.g., `a * (b+c)` is NOT equivalent to `a * b+c` and + # `a - (b+c)` is NOT equivalent to `a - b+c` (same precedence). + rval_str = self._parenthesize_if( + n.right, + lambda d: not (self._is_simple_node(d) or + self.reduce_parentheses and isinstance(d, c_ast.BinaryOp) and + self.precedence_map[d.op] > self.precedence_map[n.op])) + return '%s %s %s' % (lval_str, n.op, rval_str) + + def visit_Assignment(self, n): + rval_str = self._parenthesize_if( + n.rvalue, + lambda n: isinstance(n, c_ast.Assignment)) + return '%s %s %s' % (self.visit(n.lvalue), n.op, rval_str) + + def visit_IdentifierType(self, n): + return ' '.join(n.names) + + def _visit_expr(self, n): + if isinstance(n, c_ast.InitList): + return '{' + self.visit(n) + '}' + elif isinstance(n, c_ast.ExprList): + return '(' + self.visit(n) + ')' + else: + return self.visit(n) + + def visit_Decl(self, n, no_type=False): + # no_type is used when a Decl is part of a DeclList, where the type is + # explicitly only for the first declaration in a list. + # + s = n.name if no_type else self._generate_decl(n) + if n.bitsize: s += ' : ' + self.visit(n.bitsize) + if n.init: + s += ' = ' + self._visit_expr(n.init) + return s + + def visit_DeclList(self, n): + s = self.visit(n.decls[0]) + if len(n.decls) > 1: + s += ', ' + ', '.join(self.visit_Decl(decl, no_type=True) + for decl in n.decls[1:]) + return s + + def visit_Typedef(self, n): + s = '' + if n.storage: s += ' '.join(n.storage) + ' ' + s += self._generate_type(n.type) + return s + + def visit_Cast(self, n): + s = '(' + self._generate_type(n.to_type, emit_declname=False) + ')' + return s + ' ' + self._parenthesize_unless_simple(n.expr) + + def visit_ExprList(self, n): + visited_subexprs = [] + for expr in n.exprs: + visited_subexprs.append(self._visit_expr(expr)) + return ', '.join(visited_subexprs) + + def visit_InitList(self, n): + visited_subexprs = [] + for expr in n.exprs: + visited_subexprs.append(self._visit_expr(expr)) + return ', '.join(visited_subexprs) + + def visit_Enum(self, n): + return self._generate_struct_union_enum(n, name='enum') + + def visit_Alignas(self, n): + return '_Alignas({})'.format(self.visit(n.alignment)) + + def visit_Enumerator(self, n): + if not n.value: + return '{indent}{name},\n'.format( + indent=self._make_indent(), + name=n.name, + ) + else: + return '{indent}{name} = {value},\n'.format( + indent=self._make_indent(), + name=n.name, + value=self.visit(n.value), + ) + + def visit_FuncDef(self, n): + decl = self.visit(n.decl) + self.indent_level = 0 + body = self.visit(n.body) + if n.param_decls: + knrdecls = ';\n'.join(self.visit(p) for p in n.param_decls) + return decl + '\n' + knrdecls + ';\n' + body + '\n' + else: + return decl + '\n' + body + '\n' + + def visit_FileAST(self, n): + s = '' + for ext in n.ext: + if isinstance(ext, c_ast.FuncDef): + s += self.visit(ext) + elif isinstance(ext, c_ast.Pragma): + s += self.visit(ext) + '\n' + else: + s += self.visit(ext) + ';\n' + return s + + def visit_Compound(self, n): + s = self._make_indent() + '{\n' + self.indent_level += 2 + if n.block_items: + s += ''.join(self._generate_stmt(stmt) for stmt in n.block_items) + self.indent_level -= 2 + s += self._make_indent() + '}\n' + return s + + def visit_CompoundLiteral(self, n): + return '(' + self.visit(n.type) + '){' + self.visit(n.init) + '}' + + + def visit_EmptyStatement(self, n): + return ';' + + def visit_ParamList(self, n): + return ', '.join(self.visit(param) for param in n.params) + + def visit_Return(self, n): + s = 'return' + if n.expr: s += ' ' + self.visit(n.expr) + return s + ';' + + def visit_Break(self, n): + return 'break;' + + def visit_Continue(self, n): + return 'continue;' + + def visit_TernaryOp(self, n): + s = '(' + self._visit_expr(n.cond) + ') ? ' + s += '(' + self._visit_expr(n.iftrue) + ') : ' + s += '(' + self._visit_expr(n.iffalse) + ')' + return s + + def visit_If(self, n): + s = 'if (' + if n.cond: s += self.visit(n.cond) + s += ')\n' + s += self._generate_stmt(n.iftrue, add_indent=True) + if n.iffalse: + s += self._make_indent() + 'else\n' + s += self._generate_stmt(n.iffalse, add_indent=True) + return s + + def visit_For(self, n): + s = 'for (' + if n.init: s += self.visit(n.init) + s += ';' + if n.cond: s += ' ' + self.visit(n.cond) + s += ';' + if n.next: s += ' ' + self.visit(n.next) + s += ')\n' + s += self._generate_stmt(n.stmt, add_indent=True) + return s + + def visit_While(self, n): + s = 'while (' + if n.cond: s += self.visit(n.cond) + s += ')\n' + s += self._generate_stmt(n.stmt, add_indent=True) + return s + + def visit_DoWhile(self, n): + s = 'do\n' + s += self._generate_stmt(n.stmt, add_indent=True) + s += self._make_indent() + 'while (' + if n.cond: s += self.visit(n.cond) + s += ');' + return s + + def visit_StaticAssert(self, n): + s = '_Static_assert(' + s += self.visit(n.cond) + if n.message: + s += ',' + s += self.visit(n.message) + s += ')' + return s + + def visit_Switch(self, n): + s = 'switch (' + self.visit(n.cond) + ')\n' + s += self._generate_stmt(n.stmt, add_indent=True) + return s + + def visit_Case(self, n): + s = 'case ' + self.visit(n.expr) + ':\n' + for stmt in n.stmts: + s += self._generate_stmt(stmt, add_indent=True) + return s + + def visit_Default(self, n): + s = 'default:\n' + for stmt in n.stmts: + s += self._generate_stmt(stmt, add_indent=True) + return s + + def visit_Label(self, n): + return n.name + ':\n' + self._generate_stmt(n.stmt) + + def visit_Goto(self, n): + return 'goto ' + n.name + ';' + + def visit_EllipsisParam(self, n): + return '...' + + def visit_Struct(self, n): + return self._generate_struct_union_enum(n, 'struct') + + def visit_Typename(self, n): + return self._generate_type(n.type) + + def visit_Union(self, n): + return self._generate_struct_union_enum(n, 'union') + + def visit_NamedInitializer(self, n): + s = '' + for name in n.name: + if isinstance(name, c_ast.ID): + s += '.' + name.name + else: + s += '[' + self.visit(name) + ']' + s += ' = ' + self._visit_expr(n.expr) + return s + + def visit_FuncDecl(self, n): + return self._generate_type(n) + + def visit_ArrayDecl(self, n): + return self._generate_type(n, emit_declname=False) + + def visit_TypeDecl(self, n): + return self._generate_type(n, emit_declname=False) + + def visit_PtrDecl(self, n): + return self._generate_type(n, emit_declname=False) + + def _generate_struct_union_enum(self, n, name): + """ Generates code for structs, unions, and enums. name should be + 'struct', 'union', or 'enum'. + """ + if name in ('struct', 'union'): + members = n.decls + body_function = self._generate_struct_union_body + else: + assert name == 'enum' + members = None if n.values is None else n.values.enumerators + body_function = self._generate_enum_body + s = name + ' ' + (n.name or '') + if members is not None: + # None means no members + # Empty sequence means an empty list of members + s += '\n' + s += self._make_indent() + self.indent_level += 2 + s += '{\n' + s += body_function(members) + self.indent_level -= 2 + s += self._make_indent() + '}' + return s + + def _generate_struct_union_body(self, members): + return ''.join(self._generate_stmt(decl) for decl in members) + + def _generate_enum_body(self, members): + # `[:-2] + '\n'` removes the final `,` from the enumerator list + return ''.join(self.visit(value) for value in members)[:-2] + '\n' + + def _generate_stmt(self, n, add_indent=False): + """ Generation from a statement node. This method exists as a wrapper + for individual visit_* methods to handle different treatment of + some statements in this context. + """ + typ = type(n) + if add_indent: self.indent_level += 2 + indent = self._make_indent() + if add_indent: self.indent_level -= 2 + + if typ in ( + c_ast.Decl, c_ast.Assignment, c_ast.Cast, c_ast.UnaryOp, + c_ast.BinaryOp, c_ast.TernaryOp, c_ast.FuncCall, c_ast.ArrayRef, + c_ast.StructRef, c_ast.Constant, c_ast.ID, c_ast.Typedef, + c_ast.ExprList): + # These can also appear in an expression context so no semicolon + # is added to them automatically + # + return indent + self.visit(n) + ';\n' + elif typ in (c_ast.Compound,): + # No extra indentation required before the opening brace of a + # compound - because it consists of multiple lines it has to + # compute its own indentation. + # + return self.visit(n) + elif typ in (c_ast.If,): + return indent + self.visit(n) + else: + return indent + self.visit(n) + '\n' + + def _generate_decl(self, n): + """ Generation from a Decl node. + """ + s = '' + if n.funcspec: s = ' '.join(n.funcspec) + ' ' + if n.storage: s += ' '.join(n.storage) + ' ' + if n.align: s += self.visit(n.align[0]) + ' ' + s += self._generate_type(n.type) + return s + + def _generate_type(self, n, modifiers=[], emit_declname = True): + """ Recursive generation from a type node. n is the type node. + modifiers collects the PtrDecl, ArrayDecl and FuncDecl modifiers + encountered on the way down to a TypeDecl, to allow proper + generation from it. + """ + typ = type(n) + #~ print(n, modifiers) + + if typ == c_ast.TypeDecl: + s = '' + if n.quals: s += ' '.join(n.quals) + ' ' + s += self.visit(n.type) + + nstr = n.declname if n.declname and emit_declname else '' + # Resolve modifiers. + # Wrap in parens to distinguish pointer to array and pointer to + # function syntax. + # + for i, modifier in enumerate(modifiers): + if isinstance(modifier, c_ast.ArrayDecl): + if (i != 0 and + isinstance(modifiers[i - 1], c_ast.PtrDecl)): + nstr = '(' + nstr + ')' + nstr += '[' + if modifier.dim_quals: + nstr += ' '.join(modifier.dim_quals) + ' ' + nstr += self.visit(modifier.dim) + ']' + elif isinstance(modifier, c_ast.FuncDecl): + if (i != 0 and + isinstance(modifiers[i - 1], c_ast.PtrDecl)): + nstr = '(' + nstr + ')' + nstr += '(' + self.visit(modifier.args) + ')' + elif isinstance(modifier, c_ast.PtrDecl): + if modifier.quals: + nstr = '* %s%s' % (' '.join(modifier.quals), + ' ' + nstr if nstr else '') + else: + nstr = '*' + nstr + if nstr: s += ' ' + nstr + return s + elif typ == c_ast.Decl: + return self._generate_decl(n.type) + elif typ == c_ast.Typename: + return self._generate_type(n.type, emit_declname = emit_declname) + elif typ == c_ast.IdentifierType: + return ' '.join(n.names) + ' ' + elif typ in (c_ast.ArrayDecl, c_ast.PtrDecl, c_ast.FuncDecl): + return self._generate_type(n.type, modifiers + [n], + emit_declname = emit_declname) + else: + return self.visit(n) + + def _parenthesize_if(self, n, condition): + """ Visits 'n' and returns its string representation, parenthesized + if the condition function applied to the node returns True. + """ + s = self._visit_expr(n) + if condition(n): + return '(' + s + ')' + else: + return s + + def _parenthesize_unless_simple(self, n): + """ Common use case for _parenthesize_if + """ + return self._parenthesize_if(n, lambda d: not self._is_simple_node(d)) + + def _is_simple_node(self, n): + """ Returns True for nodes that are "simple" - i.e. nodes that always + have higher precedence than operators. + """ + return isinstance(n, (c_ast.Constant, c_ast.ID, c_ast.ArrayRef, + c_ast.StructRef, c_ast.FuncCall)) diff --git a/.venv/lib/python3.11/site-packages/pycparser/c_lexer.py b/.venv/lib/python3.11/site-packages/pycparser/c_lexer.py new file mode 100644 index 0000000000000000000000000000000000000000..22c64bc761ceb9916db4f33cc0f85357fd9a945a --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/c_lexer.py @@ -0,0 +1,555 @@ +#------------------------------------------------------------------------------ +# pycparser: c_lexer.py +# +# CLexer class: lexer for the C language +# +# Eli Bendersky [https://eli.thegreenplace.net/] +# License: BSD +#------------------------------------------------------------------------------ +import re + +from .ply import lex +from .ply.lex import TOKEN + + +class CLexer(object): + """ A lexer for the C language. After building it, set the + input text with input(), and call token() to get new + tokens. + + The public attribute filename can be set to an initial + filename, but the lexer will update it upon #line + directives. + """ + def __init__(self, error_func, on_lbrace_func, on_rbrace_func, + type_lookup_func): + """ Create a new Lexer. + + error_func: + An error function. Will be called with an error + message, line and column as arguments, in case of + an error during lexing. + + on_lbrace_func, on_rbrace_func: + Called when an LBRACE or RBRACE is encountered + (likely to push/pop type_lookup_func's scope) + + type_lookup_func: + A type lookup function. Given a string, it must + return True IFF this string is a name of a type + that was defined with a typedef earlier. + """ + self.error_func = error_func + self.on_lbrace_func = on_lbrace_func + self.on_rbrace_func = on_rbrace_func + self.type_lookup_func = type_lookup_func + self.filename = '' + + # Keeps track of the last token returned from self.token() + self.last_token = None + + # Allow either "# line" or "# " to support GCC's + # cpp output + # + self.line_pattern = re.compile(r'([ \t]*line\W)|([ \t]*\d+)') + self.pragma_pattern = re.compile(r'[ \t]*pragma\W') + + def build(self, **kwargs): + """ Builds the lexer from the specification. Must be + called after the lexer object is created. + + This method exists separately, because the PLY + manual warns against calling lex.lex inside + __init__ + """ + self.lexer = lex.lex(object=self, **kwargs) + + def reset_lineno(self): + """ Resets the internal line number counter of the lexer. + """ + self.lexer.lineno = 1 + + def input(self, text): + self.lexer.input(text) + + def token(self): + self.last_token = self.lexer.token() + return self.last_token + + def find_tok_column(self, token): + """ Find the column of the token in its line. + """ + last_cr = self.lexer.lexdata.rfind('\n', 0, token.lexpos) + return token.lexpos - last_cr + + ######################-- PRIVATE --###################### + + ## + ## Internal auxiliary methods + ## + def _error(self, msg, token): + location = self._make_tok_location(token) + self.error_func(msg, location[0], location[1]) + self.lexer.skip(1) + + def _make_tok_location(self, token): + return (token.lineno, self.find_tok_column(token)) + + ## + ## Reserved keywords + ## + keywords = ( + 'AUTO', 'BREAK', 'CASE', 'CHAR', 'CONST', + 'CONTINUE', 'DEFAULT', 'DO', 'DOUBLE', 'ELSE', 'ENUM', 'EXTERN', + 'FLOAT', 'FOR', 'GOTO', 'IF', 'INLINE', 'INT', 'LONG', + 'REGISTER', 'OFFSETOF', + 'RESTRICT', 'RETURN', 'SHORT', 'SIGNED', 'SIZEOF', 'STATIC', 'STRUCT', + 'SWITCH', 'TYPEDEF', 'UNION', 'UNSIGNED', 'VOID', + 'VOLATILE', 'WHILE', '__INT128', + ) + + keywords_new = ( + '_BOOL', '_COMPLEX', + '_NORETURN', '_THREAD_LOCAL', '_STATIC_ASSERT', + '_ATOMIC', '_ALIGNOF', '_ALIGNAS', + '_PRAGMA', + ) + + keyword_map = {} + + for keyword in keywords: + keyword_map[keyword.lower()] = keyword + + for keyword in keywords_new: + keyword_map[keyword[:2].upper() + keyword[2:].lower()] = keyword + + ## + ## All the tokens recognized by the lexer + ## + tokens = keywords + keywords_new + ( + # Identifiers + 'ID', + + # Type identifiers (identifiers previously defined as + # types with typedef) + 'TYPEID', + + # constants + 'INT_CONST_DEC', 'INT_CONST_OCT', 'INT_CONST_HEX', 'INT_CONST_BIN', 'INT_CONST_CHAR', + 'FLOAT_CONST', 'HEX_FLOAT_CONST', + 'CHAR_CONST', + 'WCHAR_CONST', + 'U8CHAR_CONST', + 'U16CHAR_CONST', + 'U32CHAR_CONST', + + # String literals + 'STRING_LITERAL', + 'WSTRING_LITERAL', + 'U8STRING_LITERAL', + 'U16STRING_LITERAL', + 'U32STRING_LITERAL', + + # Operators + 'PLUS', 'MINUS', 'TIMES', 'DIVIDE', 'MOD', + 'OR', 'AND', 'NOT', 'XOR', 'LSHIFT', 'RSHIFT', + 'LOR', 'LAND', 'LNOT', + 'LT', 'LE', 'GT', 'GE', 'EQ', 'NE', + + # Assignment + 'EQUALS', 'TIMESEQUAL', 'DIVEQUAL', 'MODEQUAL', + 'PLUSEQUAL', 'MINUSEQUAL', + 'LSHIFTEQUAL','RSHIFTEQUAL', 'ANDEQUAL', 'XOREQUAL', + 'OREQUAL', + + # Increment/decrement + 'PLUSPLUS', 'MINUSMINUS', + + # Structure dereference (->) + 'ARROW', + + # Conditional operator (?) + 'CONDOP', + + # Delimiters + 'LPAREN', 'RPAREN', # ( ) + 'LBRACKET', 'RBRACKET', # [ ] + 'LBRACE', 'RBRACE', # { } + 'COMMA', 'PERIOD', # . , + 'SEMI', 'COLON', # ; : + + # Ellipsis (...) + 'ELLIPSIS', + + # pre-processor + 'PPHASH', # '#' + 'PPPRAGMA', # 'pragma' + 'PPPRAGMASTR', + ) + + ## + ## Regexes for use in tokens + ## + ## + + # valid C identifiers (K&R2: A.2.3), plus '$' (supported by some compilers) + identifier = r'[a-zA-Z_$][0-9a-zA-Z_$]*' + + hex_prefix = '0[xX]' + hex_digits = '[0-9a-fA-F]+' + bin_prefix = '0[bB]' + bin_digits = '[01]+' + + # integer constants (K&R2: A.2.5.1) + integer_suffix_opt = r'(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?' + decimal_constant = '(0'+integer_suffix_opt+')|([1-9][0-9]*'+integer_suffix_opt+')' + octal_constant = '0[0-7]*'+integer_suffix_opt + hex_constant = hex_prefix+hex_digits+integer_suffix_opt + bin_constant = bin_prefix+bin_digits+integer_suffix_opt + + bad_octal_constant = '0[0-7]*[89]' + + # character constants (K&R2: A.2.5.2) + # Note: a-zA-Z and '.-~^_!=&;,' are allowed as escape chars to support #line + # directives with Windows paths as filenames (..\..\dir\file) + # For the same reason, decimal_escape allows all digit sequences. We want to + # parse all correct code, even if it means to sometimes parse incorrect + # code. + # + # The original regexes were taken verbatim from the C syntax definition, + # and were later modified to avoid worst-case exponential running time. + # + # simple_escape = r"""([a-zA-Z._~!=&\^\-\\?'"])""" + # decimal_escape = r"""(\d+)""" + # hex_escape = r"""(x[0-9a-fA-F]+)""" + # bad_escape = r"""([\\][^a-zA-Z._~^!=&\^\-\\?'"x0-7])""" + # + # The following modifications were made to avoid the ambiguity that allowed backtracking: + # (https://github.com/eliben/pycparser/issues/61) + # + # - \x was removed from simple_escape, unless it was not followed by a hex digit, to avoid ambiguity with hex_escape. + # - hex_escape allows one or more hex characters, but requires that the next character(if any) is not hex + # - decimal_escape allows one or more decimal characters, but requires that the next character(if any) is not a decimal + # - bad_escape does not allow any decimals (8-9), to avoid conflicting with the permissive decimal_escape. + # + # Without this change, python's `re` module would recursively try parsing each ambiguous escape sequence in multiple ways. + # e.g. `\123` could be parsed as `\1`+`23`, `\12`+`3`, and `\123`. + + simple_escape = r"""([a-wyzA-Z._~!=&\^\-\\?'"]|x(?![0-9a-fA-F]))""" + decimal_escape = r"""(\d+)(?!\d)""" + hex_escape = r"""(x[0-9a-fA-F]+)(?![0-9a-fA-F])""" + bad_escape = r"""([\\][^a-zA-Z._~^!=&\^\-\\?'"x0-9])""" + + escape_sequence = r"""(\\("""+simple_escape+'|'+decimal_escape+'|'+hex_escape+'))' + + # This complicated regex with lookahead might be slow for strings, so because all of the valid escapes (including \x) allowed + # 0 or more non-escaped characters after the first character, simple_escape+decimal_escape+hex_escape got simplified to + + escape_sequence_start_in_string = r"""(\\[0-9a-zA-Z._~!=&\^\-\\?'"])""" + + cconst_char = r"""([^'\\\n]|"""+escape_sequence+')' + char_const = "'"+cconst_char+"'" + wchar_const = 'L'+char_const + u8char_const = 'u8'+char_const + u16char_const = 'u'+char_const + u32char_const = 'U'+char_const + multicharacter_constant = "'"+cconst_char+"{2,4}'" + unmatched_quote = "('"+cconst_char+"*\\n)|('"+cconst_char+"*$)" + bad_char_const = r"""('"""+cconst_char+"""[^'\n]+')|('')|('"""+bad_escape+r"""[^'\n]*')""" + + # string literals (K&R2: A.2.6) + string_char = r"""([^"\\\n]|"""+escape_sequence_start_in_string+')' + string_literal = '"'+string_char+'*"' + wstring_literal = 'L'+string_literal + u8string_literal = 'u8'+string_literal + u16string_literal = 'u'+string_literal + u32string_literal = 'U'+string_literal + bad_string_literal = '"'+string_char+'*'+bad_escape+string_char+'*"' + + # floating constants (K&R2: A.2.5.3) + exponent_part = r"""([eE][-+]?[0-9]+)""" + fractional_constant = r"""([0-9]*\.[0-9]+)|([0-9]+\.)""" + floating_constant = '(((('+fractional_constant+')'+exponent_part+'?)|([0-9]+'+exponent_part+'))[FfLl]?)' + binary_exponent_part = r'''([pP][+-]?[0-9]+)''' + hex_fractional_constant = '((('+hex_digits+r""")?\."""+hex_digits+')|('+hex_digits+r"""\.))""" + hex_floating_constant = '('+hex_prefix+'('+hex_digits+'|'+hex_fractional_constant+')'+binary_exponent_part+'[FfLl]?)' + + ## + ## Lexer states: used for preprocessor \n-terminated directives + ## + states = ( + # ppline: preprocessor line directives + # + ('ppline', 'exclusive'), + + # pppragma: pragma + # + ('pppragma', 'exclusive'), + ) + + def t_PPHASH(self, t): + r'[ \t]*\#' + if self.line_pattern.match(t.lexer.lexdata, pos=t.lexer.lexpos): + t.lexer.begin('ppline') + self.pp_line = self.pp_filename = None + elif self.pragma_pattern.match(t.lexer.lexdata, pos=t.lexer.lexpos): + t.lexer.begin('pppragma') + else: + t.type = 'PPHASH' + return t + + ## + ## Rules for the ppline state + ## + @TOKEN(string_literal) + def t_ppline_FILENAME(self, t): + if self.pp_line is None: + self._error('filename before line number in #line', t) + else: + self.pp_filename = t.value.lstrip('"').rstrip('"') + + @TOKEN(decimal_constant) + def t_ppline_LINE_NUMBER(self, t): + if self.pp_line is None: + self.pp_line = t.value + else: + # Ignore: GCC's cpp sometimes inserts a numeric flag + # after the file name + pass + + def t_ppline_NEWLINE(self, t): + r'\n' + if self.pp_line is None: + self._error('line number missing in #line', t) + else: + self.lexer.lineno = int(self.pp_line) + + if self.pp_filename is not None: + self.filename = self.pp_filename + + t.lexer.begin('INITIAL') + + def t_ppline_PPLINE(self, t): + r'line' + pass + + t_ppline_ignore = ' \t' + + def t_ppline_error(self, t): + self._error('invalid #line directive', t) + + ## + ## Rules for the pppragma state + ## + def t_pppragma_NEWLINE(self, t): + r'\n' + t.lexer.lineno += 1 + t.lexer.begin('INITIAL') + + def t_pppragma_PPPRAGMA(self, t): + r'pragma' + return t + + t_pppragma_ignore = ' \t' + + def t_pppragma_STR(self, t): + '.+' + t.type = 'PPPRAGMASTR' + return t + + def t_pppragma_error(self, t): + self._error('invalid #pragma directive', t) + + ## + ## Rules for the normal state + ## + t_ignore = ' \t' + + # Newlines + def t_NEWLINE(self, t): + r'\n+' + t.lexer.lineno += t.value.count("\n") + + # Operators + t_PLUS = r'\+' + t_MINUS = r'-' + t_TIMES = r'\*' + t_DIVIDE = r'/' + t_MOD = r'%' + t_OR = r'\|' + t_AND = r'&' + t_NOT = r'~' + t_XOR = r'\^' + t_LSHIFT = r'<<' + t_RSHIFT = r'>>' + t_LOR = r'\|\|' + t_LAND = r'&&' + t_LNOT = r'!' + t_LT = r'<' + t_GT = r'>' + t_LE = r'<=' + t_GE = r'>=' + t_EQ = r'==' + t_NE = r'!=' + + # Assignment operators + t_EQUALS = r'=' + t_TIMESEQUAL = r'\*=' + t_DIVEQUAL = r'/=' + t_MODEQUAL = r'%=' + t_PLUSEQUAL = r'\+=' + t_MINUSEQUAL = r'-=' + t_LSHIFTEQUAL = r'<<=' + t_RSHIFTEQUAL = r'>>=' + t_ANDEQUAL = r'&=' + t_OREQUAL = r'\|=' + t_XOREQUAL = r'\^=' + + # Increment/decrement + t_PLUSPLUS = r'\+\+' + t_MINUSMINUS = r'--' + + # -> + t_ARROW = r'->' + + # ? + t_CONDOP = r'\?' + + # Delimiters + t_LPAREN = r'\(' + t_RPAREN = r'\)' + t_LBRACKET = r'\[' + t_RBRACKET = r'\]' + t_COMMA = r',' + t_PERIOD = r'\.' + t_SEMI = r';' + t_COLON = r':' + t_ELLIPSIS = r'\.\.\.' + + # Scope delimiters + # To see why on_lbrace_func is needed, consider: + # typedef char TT; + # void foo(int TT) { TT = 10; } + # TT x = 5; + # Outside the function, TT is a typedef, but inside (starting and ending + # with the braces) it's a parameter. The trouble begins with yacc's + # lookahead token. If we open a new scope in brace_open, then TT has + # already been read and incorrectly interpreted as TYPEID. So, we need + # to open and close scopes from within the lexer. + # Similar for the TT immediately outside the end of the function. + # + @TOKEN(r'\{') + def t_LBRACE(self, t): + self.on_lbrace_func() + return t + @TOKEN(r'\}') + def t_RBRACE(self, t): + self.on_rbrace_func() + return t + + t_STRING_LITERAL = string_literal + + # The following floating and integer constants are defined as + # functions to impose a strict order (otherwise, decimal + # is placed before the others because its regex is longer, + # and this is bad) + # + @TOKEN(floating_constant) + def t_FLOAT_CONST(self, t): + return t + + @TOKEN(hex_floating_constant) + def t_HEX_FLOAT_CONST(self, t): + return t + + @TOKEN(hex_constant) + def t_INT_CONST_HEX(self, t): + return t + + @TOKEN(bin_constant) + def t_INT_CONST_BIN(self, t): + return t + + @TOKEN(bad_octal_constant) + def t_BAD_CONST_OCT(self, t): + msg = "Invalid octal constant" + self._error(msg, t) + + @TOKEN(octal_constant) + def t_INT_CONST_OCT(self, t): + return t + + @TOKEN(decimal_constant) + def t_INT_CONST_DEC(self, t): + return t + + # Must come before bad_char_const, to prevent it from + # catching valid char constants as invalid + # + @TOKEN(multicharacter_constant) + def t_INT_CONST_CHAR(self, t): + return t + + @TOKEN(char_const) + def t_CHAR_CONST(self, t): + return t + + @TOKEN(wchar_const) + def t_WCHAR_CONST(self, t): + return t + + @TOKEN(u8char_const) + def t_U8CHAR_CONST(self, t): + return t + + @TOKEN(u16char_const) + def t_U16CHAR_CONST(self, t): + return t + + @TOKEN(u32char_const) + def t_U32CHAR_CONST(self, t): + return t + + @TOKEN(unmatched_quote) + def t_UNMATCHED_QUOTE(self, t): + msg = "Unmatched '" + self._error(msg, t) + + @TOKEN(bad_char_const) + def t_BAD_CHAR_CONST(self, t): + msg = "Invalid char constant %s" % t.value + self._error(msg, t) + + @TOKEN(wstring_literal) + def t_WSTRING_LITERAL(self, t): + return t + + @TOKEN(u8string_literal) + def t_U8STRING_LITERAL(self, t): + return t + + @TOKEN(u16string_literal) + def t_U16STRING_LITERAL(self, t): + return t + + @TOKEN(u32string_literal) + def t_U32STRING_LITERAL(self, t): + return t + + # unmatched string literals are caught by the preprocessor + + @TOKEN(bad_string_literal) + def t_BAD_STRING_LITERAL(self, t): + msg = "String contains invalid escape code" + self._error(msg, t) + + @TOKEN(identifier) + def t_ID(self, t): + t.type = self.keyword_map.get(t.value, "ID") + if t.type == 'ID' and self.type_lookup_func(t.value): + t.type = "TYPEID" + return t + + def t_error(self, t): + msg = 'Illegal character %s' % repr(t.value[0]) + self._error(msg, t) diff --git a/.venv/lib/python3.11/site-packages/pycparser/c_parser.py b/.venv/lib/python3.11/site-packages/pycparser/c_parser.py new file mode 100644 index 0000000000000000000000000000000000000000..d31574a5a1d31c144cdbf9901dfdfe22cc2c6086 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/c_parser.py @@ -0,0 +1,1950 @@ +#------------------------------------------------------------------------------ +# pycparser: c_parser.py +# +# CParser class: Parser and AST builder for the C language +# +# Eli Bendersky [https://eli.thegreenplace.net/] +# License: BSD +#------------------------------------------------------------------------------ +from .ply import yacc + +from . import c_ast +from .c_lexer import CLexer +from .plyparser import PLYParser, ParseError, parameterized, template +from .ast_transforms import fix_switch_cases, fix_atomic_specifiers + + +@template +class CParser(PLYParser): + def __init__( + self, + lex_optimize=True, + lexer=CLexer, + lextab='pycparser.lextab', + yacc_optimize=True, + yacctab='pycparser.yacctab', + yacc_debug=False, + taboutputdir=''): + """ Create a new CParser. + + Some arguments for controlling the debug/optimization + level of the parser are provided. The defaults are + tuned for release/performance mode. + The simple rules for using them are: + *) When tweaking CParser/CLexer, set these to False + *) When releasing a stable parser, set to True + + lex_optimize: + Set to False when you're modifying the lexer. + Otherwise, changes in the lexer won't be used, if + some lextab.py file exists. + When releasing with a stable lexer, set to True + to save the re-generation of the lexer table on + each run. + + lexer: + Set this parameter to define the lexer to use if + you're not using the default CLexer. + + lextab: + Points to the lex table that's used for optimized + mode. Only if you're modifying the lexer and want + some tests to avoid re-generating the table, make + this point to a local lex table file (that's been + earlier generated with lex_optimize=True) + + yacc_optimize: + Set to False when you're modifying the parser. + Otherwise, changes in the parser won't be used, if + some parsetab.py file exists. + When releasing with a stable parser, set to True + to save the re-generation of the parser table on + each run. + + yacctab: + Points to the yacc table that's used for optimized + mode. Only if you're modifying the parser, make + this point to a local yacc table file + + yacc_debug: + Generate a parser.out file that explains how yacc + built the parsing table from the grammar. + + taboutputdir: + Set this parameter to control the location of generated + lextab and yacctab files. + """ + self.clex = lexer( + error_func=self._lex_error_func, + on_lbrace_func=self._lex_on_lbrace_func, + on_rbrace_func=self._lex_on_rbrace_func, + type_lookup_func=self._lex_type_lookup_func) + + self.clex.build( + optimize=lex_optimize, + lextab=lextab, + outputdir=taboutputdir) + self.tokens = self.clex.tokens + + rules_with_opt = [ + 'abstract_declarator', + 'assignment_expression', + 'declaration_list', + 'declaration_specifiers_no_type', + 'designation', + 'expression', + 'identifier_list', + 'init_declarator_list', + 'id_init_declarator_list', + 'initializer_list', + 'parameter_type_list', + 'block_item_list', + 'type_qualifier_list', + 'struct_declarator_list' + ] + + for rule in rules_with_opt: + self._create_opt_rule(rule) + + self.cparser = yacc.yacc( + module=self, + start='translation_unit_or_empty', + debug=yacc_debug, + optimize=yacc_optimize, + tabmodule=yacctab, + outputdir=taboutputdir) + + # Stack of scopes for keeping track of symbols. _scope_stack[-1] is + # the current (topmost) scope. Each scope is a dictionary that + # specifies whether a name is a type. If _scope_stack[n][name] is + # True, 'name' is currently a type in the scope. If it's False, + # 'name' is used in the scope but not as a type (for instance, if we + # saw: int name; + # If 'name' is not a key in _scope_stack[n] then 'name' was not defined + # in this scope at all. + self._scope_stack = [dict()] + + # Keeps track of the last token given to yacc (the lookahead token) + self._last_yielded_token = None + + def parse(self, text, filename='', debug=False): + """ Parses C code and returns an AST. + + text: + A string containing the C source code + + filename: + Name of the file being parsed (for meaningful + error messages) + + debug: + Debug flag to YACC + """ + self.clex.filename = filename + self.clex.reset_lineno() + self._scope_stack = [dict()] + self._last_yielded_token = None + return self.cparser.parse( + input=text, + lexer=self.clex, + debug=debug) + + ######################-- PRIVATE --###################### + + def _push_scope(self): + self._scope_stack.append(dict()) + + def _pop_scope(self): + assert len(self._scope_stack) > 1 + self._scope_stack.pop() + + def _add_typedef_name(self, name, coord): + """ Add a new typedef name (ie a TYPEID) to the current scope + """ + if not self._scope_stack[-1].get(name, True): + self._parse_error( + "Typedef %r previously declared as non-typedef " + "in this scope" % name, coord) + self._scope_stack[-1][name] = True + + def _add_identifier(self, name, coord): + """ Add a new object, function, or enum member name (ie an ID) to the + current scope + """ + if self._scope_stack[-1].get(name, False): + self._parse_error( + "Non-typedef %r previously declared as typedef " + "in this scope" % name, coord) + self._scope_stack[-1][name] = False + + def _is_type_in_scope(self, name): + """ Is *name* a typedef-name in the current scope? + """ + for scope in reversed(self._scope_stack): + # If name is an identifier in this scope it shadows typedefs in + # higher scopes. + in_scope = scope.get(name) + if in_scope is not None: return in_scope + return False + + def _lex_error_func(self, msg, line, column): + self._parse_error(msg, self._coord(line, column)) + + def _lex_on_lbrace_func(self): + self._push_scope() + + def _lex_on_rbrace_func(self): + self._pop_scope() + + def _lex_type_lookup_func(self, name): + """ Looks up types that were previously defined with + typedef. + Passed to the lexer for recognizing identifiers that + are types. + """ + is_type = self._is_type_in_scope(name) + return is_type + + def _get_yacc_lookahead_token(self): + """ We need access to yacc's lookahead token in certain cases. + This is the last token yacc requested from the lexer, so we + ask the lexer. + """ + return self.clex.last_token + + # To understand what's going on here, read sections A.8.5 and + # A.8.6 of K&R2 very carefully. + # + # A C type consists of a basic type declaration, with a list + # of modifiers. For example: + # + # int *c[5]; + # + # The basic declaration here is 'int c', and the pointer and + # the array are the modifiers. + # + # Basic declarations are represented by TypeDecl (from module c_ast) and the + # modifiers are FuncDecl, PtrDecl and ArrayDecl. + # + # The standard states that whenever a new modifier is parsed, it should be + # added to the end of the list of modifiers. For example: + # + # K&R2 A.8.6.2: Array Declarators + # + # In a declaration T D where D has the form + # D1 [constant-expression-opt] + # and the type of the identifier in the declaration T D1 is + # "type-modifier T", the type of the + # identifier of D is "type-modifier array of T" + # + # This is what this method does. The declarator it receives + # can be a list of declarators ending with TypeDecl. It + # tacks the modifier to the end of this list, just before + # the TypeDecl. + # + # Additionally, the modifier may be a list itself. This is + # useful for pointers, that can come as a chain from the rule + # p_pointer. In this case, the whole modifier list is spliced + # into the new location. + def _type_modify_decl(self, decl, modifier): + """ Tacks a type modifier on a declarator, and returns + the modified declarator. + + Note: the declarator and modifier may be modified + """ + #~ print '****' + #~ decl.show(offset=3) + #~ modifier.show(offset=3) + #~ print '****' + + modifier_head = modifier + modifier_tail = modifier + + # The modifier may be a nested list. Reach its tail. + while modifier_tail.type: + modifier_tail = modifier_tail.type + + # If the decl is a basic type, just tack the modifier onto it. + if isinstance(decl, c_ast.TypeDecl): + modifier_tail.type = decl + return modifier + else: + # Otherwise, the decl is a list of modifiers. Reach + # its tail and splice the modifier onto the tail, + # pointing to the underlying basic type. + decl_tail = decl + + while not isinstance(decl_tail.type, c_ast.TypeDecl): + decl_tail = decl_tail.type + + modifier_tail.type = decl_tail.type + decl_tail.type = modifier_head + return decl + + # Due to the order in which declarators are constructed, + # they have to be fixed in order to look like a normal AST. + # + # When a declaration arrives from syntax construction, it has + # these problems: + # * The innermost TypeDecl has no type (because the basic + # type is only known at the uppermost declaration level) + # * The declaration has no variable name, since that is saved + # in the innermost TypeDecl + # * The typename of the declaration is a list of type + # specifiers, and not a node. Here, basic identifier types + # should be separated from more complex types like enums + # and structs. + # + # This method fixes these problems. + def _fix_decl_name_type(self, decl, typename): + """ Fixes a declaration. Modifies decl. + """ + # Reach the underlying basic type + # + type = decl + while not isinstance(type, c_ast.TypeDecl): + type = type.type + + decl.name = type.declname + type.quals = decl.quals[:] + + # The typename is a list of types. If any type in this + # list isn't an IdentifierType, it must be the only + # type in the list (it's illegal to declare "int enum ..") + # If all the types are basic, they're collected in the + # IdentifierType holder. + for tn in typename: + if not isinstance(tn, c_ast.IdentifierType): + if len(typename) > 1: + self._parse_error( + "Invalid multiple types specified", tn.coord) + else: + type.type = tn + return decl + + if not typename: + # Functions default to returning int + # + if not isinstance(decl.type, c_ast.FuncDecl): + self._parse_error( + "Missing type in declaration", decl.coord) + type.type = c_ast.IdentifierType( + ['int'], + coord=decl.coord) + else: + # At this point, we know that typename is a list of IdentifierType + # nodes. Concatenate all the names into a single list. + # + type.type = c_ast.IdentifierType( + [name for id in typename for name in id.names], + coord=typename[0].coord) + return decl + + def _add_declaration_specifier(self, declspec, newspec, kind, append=False): + """ Declaration specifiers are represented by a dictionary + with the entries: + * qual: a list of type qualifiers + * storage: a list of storage type qualifiers + * type: a list of type specifiers + * function: a list of function specifiers + * alignment: a list of alignment specifiers + + This method is given a declaration specifier, and a + new specifier of a given kind. + If `append` is True, the new specifier is added to the end of + the specifiers list, otherwise it's added at the beginning. + Returns the declaration specifier, with the new + specifier incorporated. + """ + spec = declspec or dict(qual=[], storage=[], type=[], function=[], alignment=[]) + + if append: + spec[kind].append(newspec) + else: + spec[kind].insert(0, newspec) + + return spec + + def _build_declarations(self, spec, decls, typedef_namespace=False): + """ Builds a list of declarations all sharing the given specifiers. + If typedef_namespace is true, each declared name is added + to the "typedef namespace", which also includes objects, + functions, and enum constants. + """ + is_typedef = 'typedef' in spec['storage'] + declarations = [] + + # Bit-fields are allowed to be unnamed. + if decls[0].get('bitsize') is not None: + pass + + # When redeclaring typedef names as identifiers in inner scopes, a + # problem can occur where the identifier gets grouped into + # spec['type'], leaving decl as None. This can only occur for the + # first declarator. + elif decls[0]['decl'] is None: + if len(spec['type']) < 2 or len(spec['type'][-1].names) != 1 or \ + not self._is_type_in_scope(spec['type'][-1].names[0]): + coord = '?' + for t in spec['type']: + if hasattr(t, 'coord'): + coord = t.coord + break + self._parse_error('Invalid declaration', coord) + + # Make this look as if it came from "direct_declarator:ID" + decls[0]['decl'] = c_ast.TypeDecl( + declname=spec['type'][-1].names[0], + type=None, + quals=None, + align=spec['alignment'], + coord=spec['type'][-1].coord) + # Remove the "new" type's name from the end of spec['type'] + del spec['type'][-1] + + # A similar problem can occur where the declaration ends up looking + # like an abstract declarator. Give it a name if this is the case. + elif not isinstance(decls[0]['decl'], ( + c_ast.Enum, c_ast.Struct, c_ast.Union, c_ast.IdentifierType)): + decls_0_tail = decls[0]['decl'] + while not isinstance(decls_0_tail, c_ast.TypeDecl): + decls_0_tail = decls_0_tail.type + if decls_0_tail.declname is None: + decls_0_tail.declname = spec['type'][-1].names[0] + del spec['type'][-1] + + for decl in decls: + assert decl['decl'] is not None + if is_typedef: + declaration = c_ast.Typedef( + name=None, + quals=spec['qual'], + storage=spec['storage'], + type=decl['decl'], + coord=decl['decl'].coord) + else: + declaration = c_ast.Decl( + name=None, + quals=spec['qual'], + align=spec['alignment'], + storage=spec['storage'], + funcspec=spec['function'], + type=decl['decl'], + init=decl.get('init'), + bitsize=decl.get('bitsize'), + coord=decl['decl'].coord) + + if isinstance(declaration.type, ( + c_ast.Enum, c_ast.Struct, c_ast.Union, + c_ast.IdentifierType)): + fixed_decl = declaration + else: + fixed_decl = self._fix_decl_name_type(declaration, spec['type']) + + # Add the type name defined by typedef to a + # symbol table (for usage in the lexer) + if typedef_namespace: + if is_typedef: + self._add_typedef_name(fixed_decl.name, fixed_decl.coord) + else: + self._add_identifier(fixed_decl.name, fixed_decl.coord) + + fixed_decl = fix_atomic_specifiers(fixed_decl) + declarations.append(fixed_decl) + + return declarations + + def _build_function_definition(self, spec, decl, param_decls, body): + """ Builds a function definition. + """ + if 'typedef' in spec['storage']: + self._parse_error("Invalid typedef", decl.coord) + + declaration = self._build_declarations( + spec=spec, + decls=[dict(decl=decl, init=None)], + typedef_namespace=True)[0] + + return c_ast.FuncDef( + decl=declaration, + param_decls=param_decls, + body=body, + coord=decl.coord) + + def _select_struct_union_class(self, token): + """ Given a token (either STRUCT or UNION), selects the + appropriate AST class. + """ + if token == 'struct': + return c_ast.Struct + else: + return c_ast.Union + + ## + ## Precedence and associativity of operators + ## + # If this changes, c_generator.CGenerator.precedence_map needs to change as + # well + precedence = ( + ('left', 'LOR'), + ('left', 'LAND'), + ('left', 'OR'), + ('left', 'XOR'), + ('left', 'AND'), + ('left', 'EQ', 'NE'), + ('left', 'GT', 'GE', 'LT', 'LE'), + ('left', 'RSHIFT', 'LSHIFT'), + ('left', 'PLUS', 'MINUS'), + ('left', 'TIMES', 'DIVIDE', 'MOD') + ) + + ## + ## Grammar productions + ## Implementation of the BNF defined in K&R2 A.13 + ## + + # Wrapper around a translation unit, to allow for empty input. + # Not strictly part of the C99 Grammar, but useful in practice. + def p_translation_unit_or_empty(self, p): + """ translation_unit_or_empty : translation_unit + | empty + """ + if p[1] is None: + p[0] = c_ast.FileAST([]) + else: + p[0] = c_ast.FileAST(p[1]) + + def p_translation_unit_1(self, p): + """ translation_unit : external_declaration + """ + # Note: external_declaration is already a list + p[0] = p[1] + + def p_translation_unit_2(self, p): + """ translation_unit : translation_unit external_declaration + """ + p[1].extend(p[2]) + p[0] = p[1] + + # Declarations always come as lists (because they can be + # several in one line), so we wrap the function definition + # into a list as well, to make the return value of + # external_declaration homogeneous. + def p_external_declaration_1(self, p): + """ external_declaration : function_definition + """ + p[0] = [p[1]] + + def p_external_declaration_2(self, p): + """ external_declaration : declaration + """ + p[0] = p[1] + + def p_external_declaration_3(self, p): + """ external_declaration : pp_directive + | pppragma_directive + """ + p[0] = [p[1]] + + def p_external_declaration_4(self, p): + """ external_declaration : SEMI + """ + p[0] = [] + + def p_external_declaration_5(self, p): + """ external_declaration : static_assert + """ + p[0] = p[1] + + def p_static_assert_declaration(self, p): + """ static_assert : _STATIC_ASSERT LPAREN constant_expression COMMA unified_string_literal RPAREN + | _STATIC_ASSERT LPAREN constant_expression RPAREN + """ + if len(p) == 5: + p[0] = [c_ast.StaticAssert(p[3], None, self._token_coord(p, 1))] + else: + p[0] = [c_ast.StaticAssert(p[3], p[5], self._token_coord(p, 1))] + + def p_pp_directive(self, p): + """ pp_directive : PPHASH + """ + self._parse_error('Directives not supported yet', + self._token_coord(p, 1)) + + # This encompasses two types of C99-compatible pragmas: + # - The #pragma directive: + # # pragma character_sequence + # - The _Pragma unary operator: + # _Pragma ( " string_literal " ) + def p_pppragma_directive(self, p): + """ pppragma_directive : PPPRAGMA + | PPPRAGMA PPPRAGMASTR + | _PRAGMA LPAREN unified_string_literal RPAREN + """ + if len(p) == 5: + p[0] = c_ast.Pragma(p[3], self._token_coord(p, 2)) + elif len(p) == 3: + p[0] = c_ast.Pragma(p[2], self._token_coord(p, 2)) + else: + p[0] = c_ast.Pragma("", self._token_coord(p, 1)) + + def p_pppragma_directive_list(self, p): + """ pppragma_directive_list : pppragma_directive + | pppragma_directive_list pppragma_directive + """ + p[0] = [p[1]] if len(p) == 2 else p[1] + [p[2]] + + # In function definitions, the declarator can be followed by + # a declaration list, for old "K&R style" function definitios. + def p_function_definition_1(self, p): + """ function_definition : id_declarator declaration_list_opt compound_statement + """ + # no declaration specifiers - 'int' becomes the default type + spec = dict( + qual=[], + alignment=[], + storage=[], + type=[c_ast.IdentifierType(['int'], + coord=self._token_coord(p, 1))], + function=[]) + + p[0] = self._build_function_definition( + spec=spec, + decl=p[1], + param_decls=p[2], + body=p[3]) + + def p_function_definition_2(self, p): + """ function_definition : declaration_specifiers id_declarator declaration_list_opt compound_statement + """ + spec = p[1] + + p[0] = self._build_function_definition( + spec=spec, + decl=p[2], + param_decls=p[3], + body=p[4]) + + # Note, according to C18 A.2.2 6.7.10 static_assert-declaration _Static_assert + # is a declaration, not a statement. We additionally recognise it as a statement + # to fix parsing of _Static_assert inside the functions. + # + def p_statement(self, p): + """ statement : labeled_statement + | expression_statement + | compound_statement + | selection_statement + | iteration_statement + | jump_statement + | pppragma_directive + | static_assert + """ + p[0] = p[1] + + # A pragma is generally considered a decorator rather than an actual + # statement. Still, for the purposes of analyzing an abstract syntax tree of + # C code, pragma's should not be ignored and were previously treated as a + # statement. This presents a problem for constructs that take a statement + # such as labeled_statements, selection_statements, and + # iteration_statements, causing a misleading structure in the AST. For + # example, consider the following C code. + # + # for (int i = 0; i < 3; i++) + # #pragma omp critical + # sum += 1; + # + # This code will compile and execute "sum += 1;" as the body of the for + # loop. Previous implementations of PyCParser would render the AST for this + # block of code as follows: + # + # For: + # DeclList: + # Decl: i, [], [], [] + # TypeDecl: i, [] + # IdentifierType: ['int'] + # Constant: int, 0 + # BinaryOp: < + # ID: i + # Constant: int, 3 + # UnaryOp: p++ + # ID: i + # Pragma: omp critical + # Assignment: += + # ID: sum + # Constant: int, 1 + # + # This AST misleadingly takes the Pragma as the body of the loop and the + # assignment then becomes a sibling of the loop. + # + # To solve edge cases like these, the pragmacomp_or_statement rule groups + # a pragma and its following statement (which would otherwise be orphaned) + # using a compound block, effectively turning the above code into: + # + # for (int i = 0; i < 3; i++) { + # #pragma omp critical + # sum += 1; + # } + def p_pragmacomp_or_statement(self, p): + """ pragmacomp_or_statement : pppragma_directive_list statement + | statement + """ + if len(p) == 3: + p[0] = c_ast.Compound( + block_items=p[1]+[p[2]], + coord=self._token_coord(p, 1)) + else: + p[0] = p[1] + + # In C, declarations can come several in a line: + # int x, *px, romulo = 5; + # + # However, for the AST, we will split them to separate Decl + # nodes. + # + # This rule splits its declarations and always returns a list + # of Decl nodes, even if it's one element long. + # + def p_decl_body(self, p): + """ decl_body : declaration_specifiers init_declarator_list_opt + | declaration_specifiers_no_type id_init_declarator_list_opt + """ + spec = p[1] + + # p[2] (init_declarator_list_opt) is either a list or None + # + if p[2] is None: + # By the standard, you must have at least one declarator unless + # declaring a structure tag, a union tag, or the members of an + # enumeration. + # + ty = spec['type'] + s_u_or_e = (c_ast.Struct, c_ast.Union, c_ast.Enum) + if len(ty) == 1 and isinstance(ty[0], s_u_or_e): + decls = [c_ast.Decl( + name=None, + quals=spec['qual'], + align=spec['alignment'], + storage=spec['storage'], + funcspec=spec['function'], + type=ty[0], + init=None, + bitsize=None, + coord=ty[0].coord)] + + # However, this case can also occur on redeclared identifiers in + # an inner scope. The trouble is that the redeclared type's name + # gets grouped into declaration_specifiers; _build_declarations + # compensates for this. + # + else: + decls = self._build_declarations( + spec=spec, + decls=[dict(decl=None, init=None)], + typedef_namespace=True) + + else: + decls = self._build_declarations( + spec=spec, + decls=p[2], + typedef_namespace=True) + + p[0] = decls + + # The declaration has been split to a decl_body sub-rule and + # SEMI, because having them in a single rule created a problem + # for defining typedefs. + # + # If a typedef line was directly followed by a line using the + # type defined with the typedef, the type would not be + # recognized. This is because to reduce the declaration rule, + # the parser's lookahead asked for the token after SEMI, which + # was the type from the next line, and the lexer had no chance + # to see the updated type symbol table. + # + # Splitting solves this problem, because after seeing SEMI, + # the parser reduces decl_body, which actually adds the new + # type into the table to be seen by the lexer before the next + # line is reached. + def p_declaration(self, p): + """ declaration : decl_body SEMI + """ + p[0] = p[1] + + # Since each declaration is a list of declarations, this + # rule will combine all the declarations and return a single + # list + # + def p_declaration_list(self, p): + """ declaration_list : declaration + | declaration_list declaration + """ + p[0] = p[1] if len(p) == 2 else p[1] + p[2] + + # To know when declaration-specifiers end and declarators begin, + # we require declaration-specifiers to have at least one + # type-specifier, and disallow typedef-names after we've seen any + # type-specifier. These are both required by the spec. + # + def p_declaration_specifiers_no_type_1(self, p): + """ declaration_specifiers_no_type : type_qualifier declaration_specifiers_no_type_opt + """ + p[0] = self._add_declaration_specifier(p[2], p[1], 'qual') + + def p_declaration_specifiers_no_type_2(self, p): + """ declaration_specifiers_no_type : storage_class_specifier declaration_specifiers_no_type_opt + """ + p[0] = self._add_declaration_specifier(p[2], p[1], 'storage') + + def p_declaration_specifiers_no_type_3(self, p): + """ declaration_specifiers_no_type : function_specifier declaration_specifiers_no_type_opt + """ + p[0] = self._add_declaration_specifier(p[2], p[1], 'function') + + # Without this, `typedef _Atomic(T) U` will parse incorrectly because the + # _Atomic qualifier will match, instead of the specifier. + def p_declaration_specifiers_no_type_4(self, p): + """ declaration_specifiers_no_type : atomic_specifier declaration_specifiers_no_type_opt + """ + p[0] = self._add_declaration_specifier(p[2], p[1], 'type') + + def p_declaration_specifiers_no_type_5(self, p): + """ declaration_specifiers_no_type : alignment_specifier declaration_specifiers_no_type_opt + """ + p[0] = self._add_declaration_specifier(p[2], p[1], 'alignment') + + def p_declaration_specifiers_1(self, p): + """ declaration_specifiers : declaration_specifiers type_qualifier + """ + p[0] = self._add_declaration_specifier(p[1], p[2], 'qual', append=True) + + def p_declaration_specifiers_2(self, p): + """ declaration_specifiers : declaration_specifiers storage_class_specifier + """ + p[0] = self._add_declaration_specifier(p[1], p[2], 'storage', append=True) + + def p_declaration_specifiers_3(self, p): + """ declaration_specifiers : declaration_specifiers function_specifier + """ + p[0] = self._add_declaration_specifier(p[1], p[2], 'function', append=True) + + def p_declaration_specifiers_4(self, p): + """ declaration_specifiers : declaration_specifiers type_specifier_no_typeid + """ + p[0] = self._add_declaration_specifier(p[1], p[2], 'type', append=True) + + def p_declaration_specifiers_5(self, p): + """ declaration_specifiers : type_specifier + """ + p[0] = self._add_declaration_specifier(None, p[1], 'type') + + def p_declaration_specifiers_6(self, p): + """ declaration_specifiers : declaration_specifiers_no_type type_specifier + """ + p[0] = self._add_declaration_specifier(p[1], p[2], 'type', append=True) + + def p_declaration_specifiers_7(self, p): + """ declaration_specifiers : declaration_specifiers alignment_specifier + """ + p[0] = self._add_declaration_specifier(p[1], p[2], 'alignment', append=True) + + def p_storage_class_specifier(self, p): + """ storage_class_specifier : AUTO + | REGISTER + | STATIC + | EXTERN + | TYPEDEF + | _THREAD_LOCAL + """ + p[0] = p[1] + + def p_function_specifier(self, p): + """ function_specifier : INLINE + | _NORETURN + """ + p[0] = p[1] + + def p_type_specifier_no_typeid(self, p): + """ type_specifier_no_typeid : VOID + | _BOOL + | CHAR + | SHORT + | INT + | LONG + | FLOAT + | DOUBLE + | _COMPLEX + | SIGNED + | UNSIGNED + | __INT128 + """ + p[0] = c_ast.IdentifierType([p[1]], coord=self._token_coord(p, 1)) + + def p_type_specifier(self, p): + """ type_specifier : typedef_name + | enum_specifier + | struct_or_union_specifier + | type_specifier_no_typeid + | atomic_specifier + """ + p[0] = p[1] + + # See section 6.7.2.4 of the C11 standard. + def p_atomic_specifier(self, p): + """ atomic_specifier : _ATOMIC LPAREN type_name RPAREN + """ + typ = p[3] + typ.quals.append('_Atomic') + p[0] = typ + + def p_type_qualifier(self, p): + """ type_qualifier : CONST + | RESTRICT + | VOLATILE + | _ATOMIC + """ + p[0] = p[1] + + def p_init_declarator_list(self, p): + """ init_declarator_list : init_declarator + | init_declarator_list COMMA init_declarator + """ + p[0] = p[1] + [p[3]] if len(p) == 4 else [p[1]] + + # Returns a {decl= : init=} dictionary + # If there's no initializer, uses None + # + def p_init_declarator(self, p): + """ init_declarator : declarator + | declarator EQUALS initializer + """ + p[0] = dict(decl=p[1], init=(p[3] if len(p) > 2 else None)) + + def p_id_init_declarator_list(self, p): + """ id_init_declarator_list : id_init_declarator + | id_init_declarator_list COMMA init_declarator + """ + p[0] = p[1] + [p[3]] if len(p) == 4 else [p[1]] + + def p_id_init_declarator(self, p): + """ id_init_declarator : id_declarator + | id_declarator EQUALS initializer + """ + p[0] = dict(decl=p[1], init=(p[3] if len(p) > 2 else None)) + + # Require at least one type specifier in a specifier-qualifier-list + # + def p_specifier_qualifier_list_1(self, p): + """ specifier_qualifier_list : specifier_qualifier_list type_specifier_no_typeid + """ + p[0] = self._add_declaration_specifier(p[1], p[2], 'type', append=True) + + def p_specifier_qualifier_list_2(self, p): + """ specifier_qualifier_list : specifier_qualifier_list type_qualifier + """ + p[0] = self._add_declaration_specifier(p[1], p[2], 'qual', append=True) + + def p_specifier_qualifier_list_3(self, p): + """ specifier_qualifier_list : type_specifier + """ + p[0] = self._add_declaration_specifier(None, p[1], 'type') + + def p_specifier_qualifier_list_4(self, p): + """ specifier_qualifier_list : type_qualifier_list type_specifier + """ + p[0] = dict(qual=p[1], alignment=[], storage=[], type=[p[2]], function=[]) + + def p_specifier_qualifier_list_5(self, p): + """ specifier_qualifier_list : alignment_specifier + """ + p[0] = dict(qual=[], alignment=[p[1]], storage=[], type=[], function=[]) + + def p_specifier_qualifier_list_6(self, p): + """ specifier_qualifier_list : specifier_qualifier_list alignment_specifier + """ + p[0] = self._add_declaration_specifier(p[1], p[2], 'alignment') + + # TYPEID is allowed here (and in other struct/enum related tag names), because + # struct/enum tags reside in their own namespace and can be named the same as types + # + def p_struct_or_union_specifier_1(self, p): + """ struct_or_union_specifier : struct_or_union ID + | struct_or_union TYPEID + """ + klass = self._select_struct_union_class(p[1]) + # None means no list of members + p[0] = klass( + name=p[2], + decls=None, + coord=self._token_coord(p, 2)) + + def p_struct_or_union_specifier_2(self, p): + """ struct_or_union_specifier : struct_or_union brace_open struct_declaration_list brace_close + | struct_or_union brace_open brace_close + """ + klass = self._select_struct_union_class(p[1]) + if len(p) == 4: + # Empty sequence means an empty list of members + p[0] = klass( + name=None, + decls=[], + coord=self._token_coord(p, 2)) + else: + p[0] = klass( + name=None, + decls=p[3], + coord=self._token_coord(p, 2)) + + + def p_struct_or_union_specifier_3(self, p): + """ struct_or_union_specifier : struct_or_union ID brace_open struct_declaration_list brace_close + | struct_or_union ID brace_open brace_close + | struct_or_union TYPEID brace_open struct_declaration_list brace_close + | struct_or_union TYPEID brace_open brace_close + """ + klass = self._select_struct_union_class(p[1]) + if len(p) == 5: + # Empty sequence means an empty list of members + p[0] = klass( + name=p[2], + decls=[], + coord=self._token_coord(p, 2)) + else: + p[0] = klass( + name=p[2], + decls=p[4], + coord=self._token_coord(p, 2)) + + def p_struct_or_union(self, p): + """ struct_or_union : STRUCT + | UNION + """ + p[0] = p[1] + + # Combine all declarations into a single list + # + def p_struct_declaration_list(self, p): + """ struct_declaration_list : struct_declaration + | struct_declaration_list struct_declaration + """ + if len(p) == 2: + p[0] = p[1] or [] + else: + p[0] = p[1] + (p[2] or []) + + def p_struct_declaration_1(self, p): + """ struct_declaration : specifier_qualifier_list struct_declarator_list_opt SEMI + """ + spec = p[1] + assert 'typedef' not in spec['storage'] + + if p[2] is not None: + decls = self._build_declarations( + spec=spec, + decls=p[2]) + + elif len(spec['type']) == 1: + # Anonymous struct/union, gcc extension, C1x feature. + # Although the standard only allows structs/unions here, I see no + # reason to disallow other types since some compilers have typedefs + # here, and pycparser isn't about rejecting all invalid code. + # + node = spec['type'][0] + if isinstance(node, c_ast.Node): + decl_type = node + else: + decl_type = c_ast.IdentifierType(node) + + decls = self._build_declarations( + spec=spec, + decls=[dict(decl=decl_type)]) + + else: + # Structure/union members can have the same names as typedefs. + # The trouble is that the member's name gets grouped into + # specifier_qualifier_list; _build_declarations compensates. + # + decls = self._build_declarations( + spec=spec, + decls=[dict(decl=None, init=None)]) + + p[0] = decls + + def p_struct_declaration_2(self, p): + """ struct_declaration : SEMI + """ + p[0] = None + + def p_struct_declaration_3(self, p): + """ struct_declaration : pppragma_directive + """ + p[0] = [p[1]] + + def p_struct_declarator_list(self, p): + """ struct_declarator_list : struct_declarator + | struct_declarator_list COMMA struct_declarator + """ + p[0] = p[1] + [p[3]] if len(p) == 4 else [p[1]] + + # struct_declarator passes up a dict with the keys: decl (for + # the underlying declarator) and bitsize (for the bitsize) + # + def p_struct_declarator_1(self, p): + """ struct_declarator : declarator + """ + p[0] = {'decl': p[1], 'bitsize': None} + + def p_struct_declarator_2(self, p): + """ struct_declarator : declarator COLON constant_expression + | COLON constant_expression + """ + if len(p) > 3: + p[0] = {'decl': p[1], 'bitsize': p[3]} + else: + p[0] = {'decl': c_ast.TypeDecl(None, None, None, None), 'bitsize': p[2]} + + def p_enum_specifier_1(self, p): + """ enum_specifier : ENUM ID + | ENUM TYPEID + """ + p[0] = c_ast.Enum(p[2], None, self._token_coord(p, 1)) + + def p_enum_specifier_2(self, p): + """ enum_specifier : ENUM brace_open enumerator_list brace_close + """ + p[0] = c_ast.Enum(None, p[3], self._token_coord(p, 1)) + + def p_enum_specifier_3(self, p): + """ enum_specifier : ENUM ID brace_open enumerator_list brace_close + | ENUM TYPEID brace_open enumerator_list brace_close + """ + p[0] = c_ast.Enum(p[2], p[4], self._token_coord(p, 1)) + + def p_enumerator_list(self, p): + """ enumerator_list : enumerator + | enumerator_list COMMA + | enumerator_list COMMA enumerator + """ + if len(p) == 2: + p[0] = c_ast.EnumeratorList([p[1]], p[1].coord) + elif len(p) == 3: + p[0] = p[1] + else: + p[1].enumerators.append(p[3]) + p[0] = p[1] + + def p_alignment_specifier(self, p): + """ alignment_specifier : _ALIGNAS LPAREN type_name RPAREN + | _ALIGNAS LPAREN constant_expression RPAREN + """ + p[0] = c_ast.Alignas(p[3], self._token_coord(p, 1)) + + def p_enumerator(self, p): + """ enumerator : ID + | ID EQUALS constant_expression + """ + if len(p) == 2: + enumerator = c_ast.Enumerator( + p[1], None, + self._token_coord(p, 1)) + else: + enumerator = c_ast.Enumerator( + p[1], p[3], + self._token_coord(p, 1)) + self._add_identifier(enumerator.name, enumerator.coord) + + p[0] = enumerator + + def p_declarator(self, p): + """ declarator : id_declarator + | typeid_declarator + """ + p[0] = p[1] + + @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) + def p_xxx_declarator_1(self, p): + """ xxx_declarator : direct_xxx_declarator + """ + p[0] = p[1] + + @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) + def p_xxx_declarator_2(self, p): + """ xxx_declarator : pointer direct_xxx_declarator + """ + p[0] = self._type_modify_decl(p[2], p[1]) + + @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) + def p_direct_xxx_declarator_1(self, p): + """ direct_xxx_declarator : yyy + """ + p[0] = c_ast.TypeDecl( + declname=p[1], + type=None, + quals=None, + align=None, + coord=self._token_coord(p, 1)) + + @parameterized(('id', 'ID'), ('typeid', 'TYPEID')) + def p_direct_xxx_declarator_2(self, p): + """ direct_xxx_declarator : LPAREN xxx_declarator RPAREN + """ + p[0] = p[2] + + @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) + def p_direct_xxx_declarator_3(self, p): + """ direct_xxx_declarator : direct_xxx_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET + """ + quals = (p[3] if len(p) > 5 else []) or [] + # Accept dimension qualifiers + # Per C99 6.7.5.3 p7 + arr = c_ast.ArrayDecl( + type=None, + dim=p[4] if len(p) > 5 else p[3], + dim_quals=quals, + coord=p[1].coord) + + p[0] = self._type_modify_decl(decl=p[1], modifier=arr) + + @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) + def p_direct_xxx_declarator_4(self, p): + """ direct_xxx_declarator : direct_xxx_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET + | direct_xxx_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET + """ + # Using slice notation for PLY objects doesn't work in Python 3 for the + # version of PLY embedded with pycparser; see PLY Google Code issue 30. + # Work around that here by listing the two elements separately. + listed_quals = [item if isinstance(item, list) else [item] + for item in [p[3],p[4]]] + dim_quals = [qual for sublist in listed_quals for qual in sublist + if qual is not None] + arr = c_ast.ArrayDecl( + type=None, + dim=p[5], + dim_quals=dim_quals, + coord=p[1].coord) + + p[0] = self._type_modify_decl(decl=p[1], modifier=arr) + + # Special for VLAs + # + @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) + def p_direct_xxx_declarator_5(self, p): + """ direct_xxx_declarator : direct_xxx_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET + """ + arr = c_ast.ArrayDecl( + type=None, + dim=c_ast.ID(p[4], self._token_coord(p, 4)), + dim_quals=p[3] if p[3] is not None else [], + coord=p[1].coord) + + p[0] = self._type_modify_decl(decl=p[1], modifier=arr) + + @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) + def p_direct_xxx_declarator_6(self, p): + """ direct_xxx_declarator : direct_xxx_declarator LPAREN parameter_type_list RPAREN + | direct_xxx_declarator LPAREN identifier_list_opt RPAREN + """ + func = c_ast.FuncDecl( + args=p[3], + type=None, + coord=p[1].coord) + + # To see why _get_yacc_lookahead_token is needed, consider: + # typedef char TT; + # void foo(int TT) { TT = 10; } + # Outside the function, TT is a typedef, but inside (starting and + # ending with the braces) it's a parameter. The trouble begins with + # yacc's lookahead token. We don't know if we're declaring or + # defining a function until we see LBRACE, but if we wait for yacc to + # trigger a rule on that token, then TT will have already been read + # and incorrectly interpreted as TYPEID. We need to add the + # parameters to the scope the moment the lexer sees LBRACE. + # + if self._get_yacc_lookahead_token().type == "LBRACE": + if func.args is not None: + for param in func.args.params: + if isinstance(param, c_ast.EllipsisParam): break + self._add_identifier(param.name, param.coord) + + p[0] = self._type_modify_decl(decl=p[1], modifier=func) + + def p_pointer(self, p): + """ pointer : TIMES type_qualifier_list_opt + | TIMES type_qualifier_list_opt pointer + """ + coord = self._token_coord(p, 1) + # Pointer decls nest from inside out. This is important when different + # levels have different qualifiers. For example: + # + # char * const * p; + # + # Means "pointer to const pointer to char" + # + # While: + # + # char ** const p; + # + # Means "const pointer to pointer to char" + # + # So when we construct PtrDecl nestings, the leftmost pointer goes in + # as the most nested type. + nested_type = c_ast.PtrDecl(quals=p[2] or [], type=None, coord=coord) + if len(p) > 3: + tail_type = p[3] + while tail_type.type is not None: + tail_type = tail_type.type + tail_type.type = nested_type + p[0] = p[3] + else: + p[0] = nested_type + + def p_type_qualifier_list(self, p): + """ type_qualifier_list : type_qualifier + | type_qualifier_list type_qualifier + """ + p[0] = [p[1]] if len(p) == 2 else p[1] + [p[2]] + + def p_parameter_type_list(self, p): + """ parameter_type_list : parameter_list + | parameter_list COMMA ELLIPSIS + """ + if len(p) > 2: + p[1].params.append(c_ast.EllipsisParam(self._token_coord(p, 3))) + + p[0] = p[1] + + def p_parameter_list(self, p): + """ parameter_list : parameter_declaration + | parameter_list COMMA parameter_declaration + """ + if len(p) == 2: # single parameter + p[0] = c_ast.ParamList([p[1]], p[1].coord) + else: + p[1].params.append(p[3]) + p[0] = p[1] + + # From ISO/IEC 9899:TC2, 6.7.5.3.11: + # "If, in a parameter declaration, an identifier can be treated either + # as a typedef name or as a parameter name, it shall be taken as a + # typedef name." + # + # Inside a parameter declaration, once we've reduced declaration specifiers, + # if we shift in an LPAREN and see a TYPEID, it could be either an abstract + # declarator or a declarator nested inside parens. This rule tells us to + # always treat it as an abstract declarator. Therefore, we only accept + # `id_declarator`s and `typeid_noparen_declarator`s. + def p_parameter_declaration_1(self, p): + """ parameter_declaration : declaration_specifiers id_declarator + | declaration_specifiers typeid_noparen_declarator + """ + spec = p[1] + if not spec['type']: + spec['type'] = [c_ast.IdentifierType(['int'], + coord=self._token_coord(p, 1))] + p[0] = self._build_declarations( + spec=spec, + decls=[dict(decl=p[2])])[0] + + def p_parameter_declaration_2(self, p): + """ parameter_declaration : declaration_specifiers abstract_declarator_opt + """ + spec = p[1] + if not spec['type']: + spec['type'] = [c_ast.IdentifierType(['int'], + coord=self._token_coord(p, 1))] + + # Parameters can have the same names as typedefs. The trouble is that + # the parameter's name gets grouped into declaration_specifiers, making + # it look like an old-style declaration; compensate. + # + if len(spec['type']) > 1 and len(spec['type'][-1].names) == 1 and \ + self._is_type_in_scope(spec['type'][-1].names[0]): + decl = self._build_declarations( + spec=spec, + decls=[dict(decl=p[2], init=None)])[0] + + # This truly is an old-style parameter declaration + # + else: + decl = c_ast.Typename( + name='', + quals=spec['qual'], + align=None, + type=p[2] or c_ast.TypeDecl(None, None, None, None), + coord=self._token_coord(p, 2)) + typename = spec['type'] + decl = self._fix_decl_name_type(decl, typename) + + p[0] = decl + + def p_identifier_list(self, p): + """ identifier_list : identifier + | identifier_list COMMA identifier + """ + if len(p) == 2: # single parameter + p[0] = c_ast.ParamList([p[1]], p[1].coord) + else: + p[1].params.append(p[3]) + p[0] = p[1] + + def p_initializer_1(self, p): + """ initializer : assignment_expression + """ + p[0] = p[1] + + def p_initializer_2(self, p): + """ initializer : brace_open initializer_list_opt brace_close + | brace_open initializer_list COMMA brace_close + """ + if p[2] is None: + p[0] = c_ast.InitList([], self._token_coord(p, 1)) + else: + p[0] = p[2] + + def p_initializer_list(self, p): + """ initializer_list : designation_opt initializer + | initializer_list COMMA designation_opt initializer + """ + if len(p) == 3: # single initializer + init = p[2] if p[1] is None else c_ast.NamedInitializer(p[1], p[2]) + p[0] = c_ast.InitList([init], p[2].coord) + else: + init = p[4] if p[3] is None else c_ast.NamedInitializer(p[3], p[4]) + p[1].exprs.append(init) + p[0] = p[1] + + def p_designation(self, p): + """ designation : designator_list EQUALS + """ + p[0] = p[1] + + # Designators are represented as a list of nodes, in the order in which + # they're written in the code. + # + def p_designator_list(self, p): + """ designator_list : designator + | designator_list designator + """ + p[0] = [p[1]] if len(p) == 2 else p[1] + [p[2]] + + def p_designator(self, p): + """ designator : LBRACKET constant_expression RBRACKET + | PERIOD identifier + """ + p[0] = p[2] + + def p_type_name(self, p): + """ type_name : specifier_qualifier_list abstract_declarator_opt + """ + typename = c_ast.Typename( + name='', + quals=p[1]['qual'][:], + align=None, + type=p[2] or c_ast.TypeDecl(None, None, None, None), + coord=self._token_coord(p, 2)) + + p[0] = self._fix_decl_name_type(typename, p[1]['type']) + + def p_abstract_declarator_1(self, p): + """ abstract_declarator : pointer + """ + dummytype = c_ast.TypeDecl(None, None, None, None) + p[0] = self._type_modify_decl( + decl=dummytype, + modifier=p[1]) + + def p_abstract_declarator_2(self, p): + """ abstract_declarator : pointer direct_abstract_declarator + """ + p[0] = self._type_modify_decl(p[2], p[1]) + + def p_abstract_declarator_3(self, p): + """ abstract_declarator : direct_abstract_declarator + """ + p[0] = p[1] + + # Creating and using direct_abstract_declarator_opt here + # instead of listing both direct_abstract_declarator and the + # lack of it in the beginning of _1 and _2 caused two + # shift/reduce errors. + # + def p_direct_abstract_declarator_1(self, p): + """ direct_abstract_declarator : LPAREN abstract_declarator RPAREN """ + p[0] = p[2] + + def p_direct_abstract_declarator_2(self, p): + """ direct_abstract_declarator : direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKET + """ + arr = c_ast.ArrayDecl( + type=None, + dim=p[3], + dim_quals=[], + coord=p[1].coord) + + p[0] = self._type_modify_decl(decl=p[1], modifier=arr) + + def p_direct_abstract_declarator_3(self, p): + """ direct_abstract_declarator : LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET + """ + quals = (p[2] if len(p) > 4 else []) or [] + p[0] = c_ast.ArrayDecl( + type=c_ast.TypeDecl(None, None, None, None), + dim=p[3] if len(p) > 4 else p[2], + dim_quals=quals, + coord=self._token_coord(p, 1)) + + def p_direct_abstract_declarator_4(self, p): + """ direct_abstract_declarator : direct_abstract_declarator LBRACKET TIMES RBRACKET + """ + arr = c_ast.ArrayDecl( + type=None, + dim=c_ast.ID(p[3], self._token_coord(p, 3)), + dim_quals=[], + coord=p[1].coord) + + p[0] = self._type_modify_decl(decl=p[1], modifier=arr) + + def p_direct_abstract_declarator_5(self, p): + """ direct_abstract_declarator : LBRACKET TIMES RBRACKET + """ + p[0] = c_ast.ArrayDecl( + type=c_ast.TypeDecl(None, None, None, None), + dim=c_ast.ID(p[3], self._token_coord(p, 3)), + dim_quals=[], + coord=self._token_coord(p, 1)) + + def p_direct_abstract_declarator_6(self, p): + """ direct_abstract_declarator : direct_abstract_declarator LPAREN parameter_type_list_opt RPAREN + """ + func = c_ast.FuncDecl( + args=p[3], + type=None, + coord=p[1].coord) + + p[0] = self._type_modify_decl(decl=p[1], modifier=func) + + def p_direct_abstract_declarator_7(self, p): + """ direct_abstract_declarator : LPAREN parameter_type_list_opt RPAREN + """ + p[0] = c_ast.FuncDecl( + args=p[2], + type=c_ast.TypeDecl(None, None, None, None), + coord=self._token_coord(p, 1)) + + # declaration is a list, statement isn't. To make it consistent, block_item + # will always be a list + # + def p_block_item(self, p): + """ block_item : declaration + | statement + """ + p[0] = p[1] if isinstance(p[1], list) else [p[1]] + + # Since we made block_item a list, this just combines lists + # + def p_block_item_list(self, p): + """ block_item_list : block_item + | block_item_list block_item + """ + # Empty block items (plain ';') produce [None], so ignore them + p[0] = p[1] if (len(p) == 2 or p[2] == [None]) else p[1] + p[2] + + def p_compound_statement_1(self, p): + """ compound_statement : brace_open block_item_list_opt brace_close """ + p[0] = c_ast.Compound( + block_items=p[2], + coord=self._token_coord(p, 1)) + + def p_labeled_statement_1(self, p): + """ labeled_statement : ID COLON pragmacomp_or_statement """ + p[0] = c_ast.Label(p[1], p[3], self._token_coord(p, 1)) + + def p_labeled_statement_2(self, p): + """ labeled_statement : CASE constant_expression COLON pragmacomp_or_statement """ + p[0] = c_ast.Case(p[2], [p[4]], self._token_coord(p, 1)) + + def p_labeled_statement_3(self, p): + """ labeled_statement : DEFAULT COLON pragmacomp_or_statement """ + p[0] = c_ast.Default([p[3]], self._token_coord(p, 1)) + + def p_selection_statement_1(self, p): + """ selection_statement : IF LPAREN expression RPAREN pragmacomp_or_statement """ + p[0] = c_ast.If(p[3], p[5], None, self._token_coord(p, 1)) + + def p_selection_statement_2(self, p): + """ selection_statement : IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statement """ + p[0] = c_ast.If(p[3], p[5], p[7], self._token_coord(p, 1)) + + def p_selection_statement_3(self, p): + """ selection_statement : SWITCH LPAREN expression RPAREN pragmacomp_or_statement """ + p[0] = fix_switch_cases( + c_ast.Switch(p[3], p[5], self._token_coord(p, 1))) + + def p_iteration_statement_1(self, p): + """ iteration_statement : WHILE LPAREN expression RPAREN pragmacomp_or_statement """ + p[0] = c_ast.While(p[3], p[5], self._token_coord(p, 1)) + + def p_iteration_statement_2(self, p): + """ iteration_statement : DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMI """ + p[0] = c_ast.DoWhile(p[5], p[2], self._token_coord(p, 1)) + + def p_iteration_statement_3(self, p): + """ iteration_statement : FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement """ + p[0] = c_ast.For(p[3], p[5], p[7], p[9], self._token_coord(p, 1)) + + def p_iteration_statement_4(self, p): + """ iteration_statement : FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement """ + p[0] = c_ast.For(c_ast.DeclList(p[3], self._token_coord(p, 1)), + p[4], p[6], p[8], self._token_coord(p, 1)) + + def p_jump_statement_1(self, p): + """ jump_statement : GOTO ID SEMI """ + p[0] = c_ast.Goto(p[2], self._token_coord(p, 1)) + + def p_jump_statement_2(self, p): + """ jump_statement : BREAK SEMI """ + p[0] = c_ast.Break(self._token_coord(p, 1)) + + def p_jump_statement_3(self, p): + """ jump_statement : CONTINUE SEMI """ + p[0] = c_ast.Continue(self._token_coord(p, 1)) + + def p_jump_statement_4(self, p): + """ jump_statement : RETURN expression SEMI + | RETURN SEMI + """ + p[0] = c_ast.Return(p[2] if len(p) == 4 else None, self._token_coord(p, 1)) + + def p_expression_statement(self, p): + """ expression_statement : expression_opt SEMI """ + if p[1] is None: + p[0] = c_ast.EmptyStatement(self._token_coord(p, 2)) + else: + p[0] = p[1] + + def p_expression(self, p): + """ expression : assignment_expression + | expression COMMA assignment_expression + """ + if len(p) == 2: + p[0] = p[1] + else: + if not isinstance(p[1], c_ast.ExprList): + p[1] = c_ast.ExprList([p[1]], p[1].coord) + + p[1].exprs.append(p[3]) + p[0] = p[1] + + def p_parenthesized_compound_expression(self, p): + """ assignment_expression : LPAREN compound_statement RPAREN """ + p[0] = p[2] + + def p_typedef_name(self, p): + """ typedef_name : TYPEID """ + p[0] = c_ast.IdentifierType([p[1]], coord=self._token_coord(p, 1)) + + def p_assignment_expression(self, p): + """ assignment_expression : conditional_expression + | unary_expression assignment_operator assignment_expression + """ + if len(p) == 2: + p[0] = p[1] + else: + p[0] = c_ast.Assignment(p[2], p[1], p[3], p[1].coord) + + # K&R2 defines these as many separate rules, to encode + # precedence and associativity. Why work hard ? I'll just use + # the built in precedence/associativity specification feature + # of PLY. (see precedence declaration above) + # + def p_assignment_operator(self, p): + """ assignment_operator : EQUALS + | XOREQUAL + | TIMESEQUAL + | DIVEQUAL + | MODEQUAL + | PLUSEQUAL + | MINUSEQUAL + | LSHIFTEQUAL + | RSHIFTEQUAL + | ANDEQUAL + | OREQUAL + """ + p[0] = p[1] + + def p_constant_expression(self, p): + """ constant_expression : conditional_expression """ + p[0] = p[1] + + def p_conditional_expression(self, p): + """ conditional_expression : binary_expression + | binary_expression CONDOP expression COLON conditional_expression + """ + if len(p) == 2: + p[0] = p[1] + else: + p[0] = c_ast.TernaryOp(p[1], p[3], p[5], p[1].coord) + + def p_binary_expression(self, p): + """ binary_expression : cast_expression + | binary_expression TIMES binary_expression + | binary_expression DIVIDE binary_expression + | binary_expression MOD binary_expression + | binary_expression PLUS binary_expression + | binary_expression MINUS binary_expression + | binary_expression RSHIFT binary_expression + | binary_expression LSHIFT binary_expression + | binary_expression LT binary_expression + | binary_expression LE binary_expression + | binary_expression GE binary_expression + | binary_expression GT binary_expression + | binary_expression EQ binary_expression + | binary_expression NE binary_expression + | binary_expression AND binary_expression + | binary_expression OR binary_expression + | binary_expression XOR binary_expression + | binary_expression LAND binary_expression + | binary_expression LOR binary_expression + """ + if len(p) == 2: + p[0] = p[1] + else: + p[0] = c_ast.BinaryOp(p[2], p[1], p[3], p[1].coord) + + def p_cast_expression_1(self, p): + """ cast_expression : unary_expression """ + p[0] = p[1] + + def p_cast_expression_2(self, p): + """ cast_expression : LPAREN type_name RPAREN cast_expression """ + p[0] = c_ast.Cast(p[2], p[4], self._token_coord(p, 1)) + + def p_unary_expression_1(self, p): + """ unary_expression : postfix_expression """ + p[0] = p[1] + + def p_unary_expression_2(self, p): + """ unary_expression : PLUSPLUS unary_expression + | MINUSMINUS unary_expression + | unary_operator cast_expression + """ + p[0] = c_ast.UnaryOp(p[1], p[2], p[2].coord) + + def p_unary_expression_3(self, p): + """ unary_expression : SIZEOF unary_expression + | SIZEOF LPAREN type_name RPAREN + | _ALIGNOF LPAREN type_name RPAREN + """ + p[0] = c_ast.UnaryOp( + p[1], + p[2] if len(p) == 3 else p[3], + self._token_coord(p, 1)) + + def p_unary_operator(self, p): + """ unary_operator : AND + | TIMES + | PLUS + | MINUS + | NOT + | LNOT + """ + p[0] = p[1] + + def p_postfix_expression_1(self, p): + """ postfix_expression : primary_expression """ + p[0] = p[1] + + def p_postfix_expression_2(self, p): + """ postfix_expression : postfix_expression LBRACKET expression RBRACKET """ + p[0] = c_ast.ArrayRef(p[1], p[3], p[1].coord) + + def p_postfix_expression_3(self, p): + """ postfix_expression : postfix_expression LPAREN argument_expression_list RPAREN + | postfix_expression LPAREN RPAREN + """ + p[0] = c_ast.FuncCall(p[1], p[3] if len(p) == 5 else None, p[1].coord) + + def p_postfix_expression_4(self, p): + """ postfix_expression : postfix_expression PERIOD ID + | postfix_expression PERIOD TYPEID + | postfix_expression ARROW ID + | postfix_expression ARROW TYPEID + """ + field = c_ast.ID(p[3], self._token_coord(p, 3)) + p[0] = c_ast.StructRef(p[1], p[2], field, p[1].coord) + + def p_postfix_expression_5(self, p): + """ postfix_expression : postfix_expression PLUSPLUS + | postfix_expression MINUSMINUS + """ + p[0] = c_ast.UnaryOp('p' + p[2], p[1], p[1].coord) + + def p_postfix_expression_6(self, p): + """ postfix_expression : LPAREN type_name RPAREN brace_open initializer_list brace_close + | LPAREN type_name RPAREN brace_open initializer_list COMMA brace_close + """ + p[0] = c_ast.CompoundLiteral(p[2], p[5]) + + def p_primary_expression_1(self, p): + """ primary_expression : identifier """ + p[0] = p[1] + + def p_primary_expression_2(self, p): + """ primary_expression : constant """ + p[0] = p[1] + + def p_primary_expression_3(self, p): + """ primary_expression : unified_string_literal + | unified_wstring_literal + """ + p[0] = p[1] + + def p_primary_expression_4(self, p): + """ primary_expression : LPAREN expression RPAREN """ + p[0] = p[2] + + def p_primary_expression_5(self, p): + """ primary_expression : OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPAREN + """ + coord = self._token_coord(p, 1) + p[0] = c_ast.FuncCall(c_ast.ID(p[1], coord), + c_ast.ExprList([p[3], p[5]], coord), + coord) + + def p_offsetof_member_designator(self, p): + """ offsetof_member_designator : identifier + | offsetof_member_designator PERIOD identifier + | offsetof_member_designator LBRACKET expression RBRACKET + """ + if len(p) == 2: + p[0] = p[1] + elif len(p) == 4: + p[0] = c_ast.StructRef(p[1], p[2], p[3], p[1].coord) + elif len(p) == 5: + p[0] = c_ast.ArrayRef(p[1], p[3], p[1].coord) + else: + raise NotImplementedError("Unexpected parsing state. len(p): %u" % len(p)) + + def p_argument_expression_list(self, p): + """ argument_expression_list : assignment_expression + | argument_expression_list COMMA assignment_expression + """ + if len(p) == 2: # single expr + p[0] = c_ast.ExprList([p[1]], p[1].coord) + else: + p[1].exprs.append(p[3]) + p[0] = p[1] + + def p_identifier(self, p): + """ identifier : ID """ + p[0] = c_ast.ID(p[1], self._token_coord(p, 1)) + + def p_constant_1(self, p): + """ constant : INT_CONST_DEC + | INT_CONST_OCT + | INT_CONST_HEX + | INT_CONST_BIN + | INT_CONST_CHAR + """ + uCount = 0 + lCount = 0 + for x in p[1][-3:]: + if x in ('l', 'L'): + lCount += 1 + elif x in ('u', 'U'): + uCount += 1 + t = '' + if uCount > 1: + raise ValueError('Constant cannot have more than one u/U suffix.') + elif lCount > 2: + raise ValueError('Constant cannot have more than two l/L suffix.') + prefix = 'unsigned ' * uCount + 'long ' * lCount + p[0] = c_ast.Constant( + prefix + 'int', p[1], self._token_coord(p, 1)) + + def p_constant_2(self, p): + """ constant : FLOAT_CONST + | HEX_FLOAT_CONST + """ + if 'x' in p[1].lower(): + t = 'float' + else: + if p[1][-1] in ('f', 'F'): + t = 'float' + elif p[1][-1] in ('l', 'L'): + t = 'long double' + else: + t = 'double' + + p[0] = c_ast.Constant( + t, p[1], self._token_coord(p, 1)) + + def p_constant_3(self, p): + """ constant : CHAR_CONST + | WCHAR_CONST + | U8CHAR_CONST + | U16CHAR_CONST + | U32CHAR_CONST + """ + p[0] = c_ast.Constant( + 'char', p[1], self._token_coord(p, 1)) + + # The "unified" string and wstring literal rules are for supporting + # concatenation of adjacent string literals. + # I.e. "hello " "world" is seen by the C compiler as a single string literal + # with the value "hello world" + # + def p_unified_string_literal(self, p): + """ unified_string_literal : STRING_LITERAL + | unified_string_literal STRING_LITERAL + """ + if len(p) == 2: # single literal + p[0] = c_ast.Constant( + 'string', p[1], self._token_coord(p, 1)) + else: + p[1].value = p[1].value[:-1] + p[2][1:] + p[0] = p[1] + + def p_unified_wstring_literal(self, p): + """ unified_wstring_literal : WSTRING_LITERAL + | U8STRING_LITERAL + | U16STRING_LITERAL + | U32STRING_LITERAL + | unified_wstring_literal WSTRING_LITERAL + | unified_wstring_literal U8STRING_LITERAL + | unified_wstring_literal U16STRING_LITERAL + | unified_wstring_literal U32STRING_LITERAL + """ + if len(p) == 2: # single literal + p[0] = c_ast.Constant( + 'string', p[1], self._token_coord(p, 1)) + else: + p[1].value = p[1].value.rstrip()[:-1] + p[2][2:] + p[0] = p[1] + + def p_brace_open(self, p): + """ brace_open : LBRACE + """ + p[0] = p[1] + p.set_lineno(0, p.lineno(1)) + + def p_brace_close(self, p): + """ brace_close : RBRACE + """ + p[0] = p[1] + p.set_lineno(0, p.lineno(1)) + + def p_empty(self, p): + 'empty : ' + p[0] = None + + def p_error(self, p): + # If error recovery is added here in the future, make sure + # _get_yacc_lookahead_token still works! + # + if p: + self._parse_error( + 'before: %s' % p.value, + self._coord(lineno=p.lineno, + column=self.clex.find_tok_column(p))) + else: + self._parse_error('At end of input', self.clex.filename) diff --git a/.venv/lib/python3.11/site-packages/pycparser/lextab.py b/.venv/lib/python3.11/site-packages/pycparser/lextab.py new file mode 100644 index 0000000000000000000000000000000000000000..aeb5c152d1ed8f072f308e0a896948796605e033 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/lextab.py @@ -0,0 +1,10 @@ +# lextab.py. This file automatically created by PLY (version 3.10). Don't edit! +_tabversion = '3.10' +_lextokens = set(('AND', 'ANDEQUAL', 'ARROW', 'AUTO', 'BREAK', 'CASE', 'CHAR', 'CHAR_CONST', 'COLON', 'COMMA', 'CONDOP', 'CONST', 'CONTINUE', 'DEFAULT', 'DIVEQUAL', 'DIVIDE', 'DO', 'DOUBLE', 'ELLIPSIS', 'ELSE', 'ENUM', 'EQ', 'EQUALS', 'EXTERN', 'FLOAT', 'FLOAT_CONST', 'FOR', 'GE', 'GOTO', 'GT', 'HEX_FLOAT_CONST', 'ID', 'IF', 'INLINE', 'INT', 'INT_CONST_BIN', 'INT_CONST_CHAR', 'INT_CONST_DEC', 'INT_CONST_HEX', 'INT_CONST_OCT', 'LAND', 'LBRACE', 'LBRACKET', 'LE', 'LNOT', 'LONG', 'LOR', 'LPAREN', 'LSHIFT', 'LSHIFTEQUAL', 'LT', 'MINUS', 'MINUSEQUAL', 'MINUSMINUS', 'MOD', 'MODEQUAL', 'NE', 'NOT', 'OFFSETOF', 'OR', 'OREQUAL', 'PERIOD', 'PLUS', 'PLUSEQUAL', 'PLUSPLUS', 'PPHASH', 'PPPRAGMA', 'PPPRAGMASTR', 'RBRACE', 'RBRACKET', 'REGISTER', 'RESTRICT', 'RETURN', 'RPAREN', 'RSHIFT', 'RSHIFTEQUAL', 'SEMI', 'SHORT', 'SIGNED', 'SIZEOF', 'STATIC', 'STRING_LITERAL', 'STRUCT', 'SWITCH', 'TIMES', 'TIMESEQUAL', 'TYPEDEF', 'TYPEID', 'U16CHAR_CONST', 'U16STRING_LITERAL', 'U32CHAR_CONST', 'U32STRING_LITERAL', 'U8CHAR_CONST', 'U8STRING_LITERAL', 'UNION', 'UNSIGNED', 'VOID', 'VOLATILE', 'WCHAR_CONST', 'WHILE', 'WSTRING_LITERAL', 'XOR', 'XOREQUAL', '_ALIGNAS', '_ALIGNOF', '_ATOMIC', '_BOOL', '_COMPLEX', '_NORETURN', '_PRAGMA', '_STATIC_ASSERT', '_THREAD_LOCAL', '__INT128')) +_lexreflags = 64 +_lexliterals = '' +_lexstateinfo = {'INITIAL': 'inclusive', 'ppline': 'exclusive', 'pppragma': 'exclusive'} +_lexstatere = {'INITIAL': [('(?P[ \\t]*\\#)|(?P\\n+)|(?P\\{)|(?P\\})|(?P((((([0-9]*\\.[0-9]+)|([0-9]+\\.))([eE][-+]?[0-9]+)?)|([0-9]+([eE][-+]?[0-9]+)))[FfLl]?))|(?P(0[xX]([0-9a-fA-F]+|((([0-9a-fA-F]+)?\\.[0-9a-fA-F]+)|([0-9a-fA-F]+\\.)))([pP][+-]?[0-9]+)[FfLl]?))|(?P0[xX][0-9a-fA-F]+(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|(?P0[bB][01]+(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|(?P0[0-7]*[89])|(?P0[0-7]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|(?P(0(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|([1-9][0-9]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?))|(?P\'([^\'\\\\\\n]|(\\\\(([a-wyzA-Z._~!=&\\^\\-\\\\?\'"]|x(?![0-9a-fA-F]))|(\\d+)(?!\\d)|(x[0-9a-fA-F]+)(?![0-9a-fA-F])))){2,4}\')|(?P\'([^\'\\\\\\n]|(\\\\(([a-wyzA-Z._~!=&\\^\\-\\\\?\'"]|x(?![0-9a-fA-F]))|(\\d+)(?!\\d)|(x[0-9a-fA-F]+)(?![0-9a-fA-F]))))\')|(?PL\'([^\'\\\\\\n]|(\\\\(([a-wyzA-Z._~!=&\\^\\-\\\\?\'"]|x(?![0-9a-fA-F]))|(\\d+)(?!\\d)|(x[0-9a-fA-F]+)(?![0-9a-fA-F]))))\')|(?Pu8\'([^\'\\\\\\n]|(\\\\(([a-wyzA-Z._~!=&\\^\\-\\\\?\'"]|x(?![0-9a-fA-F]))|(\\d+)(?!\\d)|(x[0-9a-fA-F]+)(?![0-9a-fA-F]))))\')|(?Pu\'([^\'\\\\\\n]|(\\\\(([a-wyzA-Z._~!=&\\^\\-\\\\?\'"]|x(?![0-9a-fA-F]))|(\\d+)(?!\\d)|(x[0-9a-fA-F]+)(?![0-9a-fA-F]))))\')|(?PU\'([^\'\\\\\\n]|(\\\\(([a-wyzA-Z._~!=&\\^\\-\\\\?\'"]|x(?![0-9a-fA-F]))|(\\d+)(?!\\d)|(x[0-9a-fA-F]+)(?![0-9a-fA-F]))))\')|(?P(\'([^\'\\\\\\n]|(\\\\(([a-wyzA-Z._~!=&\\^\\-\\\\?\'"]|x(?![0-9a-fA-F]))|(\\d+)(?!\\d)|(x[0-9a-fA-F]+)(?![0-9a-fA-F]))))*\\n)|(\'([^\'\\\\\\n]|(\\\\(([a-wyzA-Z._~!=&\\^\\-\\\\?\'"]|x(?![0-9a-fA-F]))|(\\d+)(?!\\d)|(x[0-9a-fA-F]+)(?![0-9a-fA-F]))))*$))|(?P(\'([^\'\\\\\\n]|(\\\\(([a-wyzA-Z._~!=&\\^\\-\\\\?\'"]|x(?![0-9a-fA-F]))|(\\d+)(?!\\d)|(x[0-9a-fA-F]+)(?![0-9a-fA-F]))))[^\'\n]+\')|(\'\')|(\'([\\\\][^a-zA-Z._~^!=&\\^\\-\\\\?\'"x0-9])[^\'\\n]*\'))|(?PL"([^"\\\\\\n]|(\\\\[0-9a-zA-Z._~!=&\\^\\-\\\\?\'"]))*")|(?Pu8"([^"\\\\\\n]|(\\\\[0-9a-zA-Z._~!=&\\^\\-\\\\?\'"]))*")|(?Pu"([^"\\\\\\n]|(\\\\[0-9a-zA-Z._~!=&\\^\\-\\\\?\'"]))*")|(?PU"([^"\\\\\\n]|(\\\\[0-9a-zA-Z._~!=&\\^\\-\\\\?\'"]))*")|(?P"([^"\\\\\\n]|(\\\\[0-9a-zA-Z._~!=&\\^\\-\\\\?\'"]))*([\\\\][^a-zA-Z._~^!=&\\^\\-\\\\?\'"x0-9])([^"\\\\\\n]|(\\\\[0-9a-zA-Z._~!=&\\^\\-\\\\?\'"]))*")|(?P[a-zA-Z_$][0-9a-zA-Z_$]*)|(?P"([^"\\\\\\n]|(\\\\[0-9a-zA-Z._~!=&\\^\\-\\\\?\'"]))*")|(?P\\.\\.\\.)|(?P\\|\\|)|(?P\\+\\+)|(?P<<=)|(?P\\|=)|(?P\\+=)|(?P>>=)|(?P\\*=)|(?P\\^=)|(?P&=)|(?P->)|(?P\\?)|(?P/=)|(?P==)|(?P>=)|(?P&&)|(?P\\[)|(?P<=)|(?P\\()|(?P<<)|(?P-=)|(?P--)|(?P%=)|(?P!=)|(?P\\|)|(?P\\.)|(?P\\+)|(?P\\])|(?P\\))|(?P>>)|(?P\\*)|(?P\\^)|(?P&)|(?P:)|(?P,)|(?P/)|(?P=)|(?P>)|(?P!)|(?P<)|(?P-)|(?P%)|(?P~)|(?P;)', [None, ('t_PPHASH', 'PPHASH'), ('t_NEWLINE', 'NEWLINE'), ('t_LBRACE', 'LBRACE'), ('t_RBRACE', 'RBRACE'), ('t_FLOAT_CONST', 'FLOAT_CONST'), None, None, None, None, None, None, None, None, None, ('t_HEX_FLOAT_CONST', 'HEX_FLOAT_CONST'), None, None, None, None, None, None, None, ('t_INT_CONST_HEX', 'INT_CONST_HEX'), None, None, None, None, None, None, None, ('t_INT_CONST_BIN', 'INT_CONST_BIN'), None, None, None, None, None, None, None, ('t_BAD_CONST_OCT', 'BAD_CONST_OCT'), ('t_INT_CONST_OCT', 'INT_CONST_OCT'), None, None, None, None, None, None, None, ('t_INT_CONST_DEC', 'INT_CONST_DEC'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_INT_CONST_CHAR', 'INT_CONST_CHAR'), None, None, None, None, None, None, ('t_CHAR_CONST', 'CHAR_CONST'), None, None, None, None, None, None, ('t_WCHAR_CONST', 'WCHAR_CONST'), None, None, None, None, None, None, ('t_U8CHAR_CONST', 'U8CHAR_CONST'), None, None, None, None, None, None, ('t_U16CHAR_CONST', 'U16CHAR_CONST'), None, None, None, None, None, None, ('t_U32CHAR_CONST', 'U32CHAR_CONST'), None, None, None, None, None, None, ('t_UNMATCHED_QUOTE', 'UNMATCHED_QUOTE'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_BAD_CHAR_CONST', 'BAD_CHAR_CONST'), None, None, None, None, None, None, None, None, None, None, ('t_WSTRING_LITERAL', 'WSTRING_LITERAL'), None, None, ('t_U8STRING_LITERAL', 'U8STRING_LITERAL'), None, None, ('t_U16STRING_LITERAL', 'U16STRING_LITERAL'), None, None, ('t_U32STRING_LITERAL', 'U32STRING_LITERAL'), None, None, ('t_BAD_STRING_LITERAL', 'BAD_STRING_LITERAL'), None, None, None, None, None, ('t_ID', 'ID'), (None, 'STRING_LITERAL'), None, None, (None, 'ELLIPSIS'), (None, 'LOR'), (None, 'PLUSPLUS'), (None, 'LSHIFTEQUAL'), (None, 'OREQUAL'), (None, 'PLUSEQUAL'), (None, 'RSHIFTEQUAL'), (None, 'TIMESEQUAL'), (None, 'XOREQUAL'), (None, 'ANDEQUAL'), (None, 'ARROW'), (None, 'CONDOP'), (None, 'DIVEQUAL'), (None, 'EQ'), (None, 'GE'), (None, 'LAND'), (None, 'LBRACKET'), (None, 'LE'), (None, 'LPAREN'), (None, 'LSHIFT'), (None, 'MINUSEQUAL'), (None, 'MINUSMINUS'), (None, 'MODEQUAL'), (None, 'NE'), (None, 'OR'), (None, 'PERIOD'), (None, 'PLUS'), (None, 'RBRACKET'), (None, 'RPAREN'), (None, 'RSHIFT'), (None, 'TIMES'), (None, 'XOR'), (None, 'AND'), (None, 'COLON'), (None, 'COMMA'), (None, 'DIVIDE'), (None, 'EQUALS'), (None, 'GT'), (None, 'LNOT'), (None, 'LT'), (None, 'MINUS'), (None, 'MOD'), (None, 'NOT'), (None, 'SEMI')])], 'ppline': [('(?P"([^"\\\\\\n]|(\\\\[0-9a-zA-Z._~!=&\\^\\-\\\\?\'"]))*")|(?P(0(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|([1-9][0-9]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?))|(?P\\n)|(?Pline)', [None, ('t_ppline_FILENAME', 'FILENAME'), None, None, ('t_ppline_LINE_NUMBER', 'LINE_NUMBER'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_ppline_NEWLINE', 'NEWLINE'), ('t_ppline_PPLINE', 'PPLINE')])], 'pppragma': [('(?P\\n)|(?Ppragma)|(?P.+)', [None, ('t_pppragma_NEWLINE', 'NEWLINE'), ('t_pppragma_PPPRAGMA', 'PPPRAGMA'), ('t_pppragma_STR', 'STR')])]} +_lexstateignore = {'INITIAL': ' \t', 'ppline': ' \t', 'pppragma': ' \t'} +_lexstateerrorf = {'INITIAL': 't_error', 'ppline': 't_ppline_error', 'pppragma': 't_pppragma_error'} +_lexstateeoff = {} diff --git a/.venv/lib/python3.11/site-packages/pycparser/ply/cpp.py b/.venv/lib/python3.11/site-packages/pycparser/ply/cpp.py new file mode 100644 index 0000000000000000000000000000000000000000..86273eac77a5b404cb41cf4d2650d8a37415fb67 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/ply/cpp.py @@ -0,0 +1,905 @@ +# ----------------------------------------------------------------------------- +# cpp.py +# +# Author: David Beazley (http://www.dabeaz.com) +# Copyright (C) 2017 +# All rights reserved +# +# This module implements an ANSI-C style lexical preprocessor for PLY. +# ----------------------------------------------------------------------------- +import sys + +# Some Python 3 compatibility shims +if sys.version_info.major < 3: + STRING_TYPES = (str, unicode) +else: + STRING_TYPES = str + xrange = range + +# ----------------------------------------------------------------------------- +# Default preprocessor lexer definitions. These tokens are enough to get +# a basic preprocessor working. Other modules may import these if they want +# ----------------------------------------------------------------------------- + +tokens = ( + 'CPP_ID','CPP_INTEGER', 'CPP_FLOAT', 'CPP_STRING', 'CPP_CHAR', 'CPP_WS', 'CPP_COMMENT1', 'CPP_COMMENT2', 'CPP_POUND','CPP_DPOUND' +) + +literals = "+-*/%|&~^<>=!?()[]{}.,;:\\\'\"" + +# Whitespace +def t_CPP_WS(t): + r'\s+' + t.lexer.lineno += t.value.count("\n") + return t + +t_CPP_POUND = r'\#' +t_CPP_DPOUND = r'\#\#' + +# Identifier +t_CPP_ID = r'[A-Za-z_][\w_]*' + +# Integer literal +def CPP_INTEGER(t): + r'(((((0x)|(0X))[0-9a-fA-F]+)|(\d+))([uU][lL]|[lL][uU]|[uU]|[lL])?)' + return t + +t_CPP_INTEGER = CPP_INTEGER + +# Floating literal +t_CPP_FLOAT = r'((\d+)(\.\d+)(e(\+|-)?(\d+))? | (\d+)e(\+|-)?(\d+))([lL]|[fF])?' + +# String literal +def t_CPP_STRING(t): + r'\"([^\\\n]|(\\(.|\n)))*?\"' + t.lexer.lineno += t.value.count("\n") + return t + +# Character constant 'c' or L'c' +def t_CPP_CHAR(t): + r'(L)?\'([^\\\n]|(\\(.|\n)))*?\'' + t.lexer.lineno += t.value.count("\n") + return t + +# Comment +def t_CPP_COMMENT1(t): + r'(/\*(.|\n)*?\*/)' + ncr = t.value.count("\n") + t.lexer.lineno += ncr + # replace with one space or a number of '\n' + t.type = 'CPP_WS'; t.value = '\n' * ncr if ncr else ' ' + return t + +# Line comment +def t_CPP_COMMENT2(t): + r'(//.*?(\n|$))' + # replace with '/n' + t.type = 'CPP_WS'; t.value = '\n' + return t + +def t_error(t): + t.type = t.value[0] + t.value = t.value[0] + t.lexer.skip(1) + return t + +import re +import copy +import time +import os.path + +# ----------------------------------------------------------------------------- +# trigraph() +# +# Given an input string, this function replaces all trigraph sequences. +# The following mapping is used: +# +# ??= # +# ??/ \ +# ??' ^ +# ??( [ +# ??) ] +# ??! | +# ??< { +# ??> } +# ??- ~ +# ----------------------------------------------------------------------------- + +_trigraph_pat = re.compile(r'''\?\?[=/\'\(\)\!<>\-]''') +_trigraph_rep = { + '=':'#', + '/':'\\', + "'":'^', + '(':'[', + ')':']', + '!':'|', + '<':'{', + '>':'}', + '-':'~' +} + +def trigraph(input): + return _trigraph_pat.sub(lambda g: _trigraph_rep[g.group()[-1]],input) + +# ------------------------------------------------------------------ +# Macro object +# +# This object holds information about preprocessor macros +# +# .name - Macro name (string) +# .value - Macro value (a list of tokens) +# .arglist - List of argument names +# .variadic - Boolean indicating whether or not variadic macro +# .vararg - Name of the variadic parameter +# +# When a macro is created, the macro replacement token sequence is +# pre-scanned and used to create patch lists that are later used +# during macro expansion +# ------------------------------------------------------------------ + +class Macro(object): + def __init__(self,name,value,arglist=None,variadic=False): + self.name = name + self.value = value + self.arglist = arglist + self.variadic = variadic + if variadic: + self.vararg = arglist[-1] + self.source = None + +# ------------------------------------------------------------------ +# Preprocessor object +# +# Object representing a preprocessor. Contains macro definitions, +# include directories, and other information +# ------------------------------------------------------------------ + +class Preprocessor(object): + def __init__(self,lexer=None): + if lexer is None: + lexer = lex.lexer + self.lexer = lexer + self.macros = { } + self.path = [] + self.temp_path = [] + + # Probe the lexer for selected tokens + self.lexprobe() + + tm = time.localtime() + self.define("__DATE__ \"%s\"" % time.strftime("%b %d %Y",tm)) + self.define("__TIME__ \"%s\"" % time.strftime("%H:%M:%S",tm)) + self.parser = None + + # ----------------------------------------------------------------------------- + # tokenize() + # + # Utility function. Given a string of text, tokenize into a list of tokens + # ----------------------------------------------------------------------------- + + def tokenize(self,text): + tokens = [] + self.lexer.input(text) + while True: + tok = self.lexer.token() + if not tok: break + tokens.append(tok) + return tokens + + # --------------------------------------------------------------------- + # error() + # + # Report a preprocessor error/warning of some kind + # ---------------------------------------------------------------------- + + def error(self,file,line,msg): + print("%s:%d %s" % (file,line,msg)) + + # ---------------------------------------------------------------------- + # lexprobe() + # + # This method probes the preprocessor lexer object to discover + # the token types of symbols that are important to the preprocessor. + # If this works right, the preprocessor will simply "work" + # with any suitable lexer regardless of how tokens have been named. + # ---------------------------------------------------------------------- + + def lexprobe(self): + + # Determine the token type for identifiers + self.lexer.input("identifier") + tok = self.lexer.token() + if not tok or tok.value != "identifier": + print("Couldn't determine identifier type") + else: + self.t_ID = tok.type + + # Determine the token type for integers + self.lexer.input("12345") + tok = self.lexer.token() + if not tok or int(tok.value) != 12345: + print("Couldn't determine integer type") + else: + self.t_INTEGER = tok.type + self.t_INTEGER_TYPE = type(tok.value) + + # Determine the token type for strings enclosed in double quotes + self.lexer.input("\"filename\"") + tok = self.lexer.token() + if not tok or tok.value != "\"filename\"": + print("Couldn't determine string type") + else: + self.t_STRING = tok.type + + # Determine the token type for whitespace--if any + self.lexer.input(" ") + tok = self.lexer.token() + if not tok or tok.value != " ": + self.t_SPACE = None + else: + self.t_SPACE = tok.type + + # Determine the token type for newlines + self.lexer.input("\n") + tok = self.lexer.token() + if not tok or tok.value != "\n": + self.t_NEWLINE = None + print("Couldn't determine token for newlines") + else: + self.t_NEWLINE = tok.type + + self.t_WS = (self.t_SPACE, self.t_NEWLINE) + + # Check for other characters used by the preprocessor + chars = [ '<','>','#','##','\\','(',')',',','.'] + for c in chars: + self.lexer.input(c) + tok = self.lexer.token() + if not tok or tok.value != c: + print("Unable to lex '%s' required for preprocessor" % c) + + # ---------------------------------------------------------------------- + # add_path() + # + # Adds a search path to the preprocessor. + # ---------------------------------------------------------------------- + + def add_path(self,path): + self.path.append(path) + + # ---------------------------------------------------------------------- + # group_lines() + # + # Given an input string, this function splits it into lines. Trailing whitespace + # is removed. Any line ending with \ is grouped with the next line. This + # function forms the lowest level of the preprocessor---grouping into text into + # a line-by-line format. + # ---------------------------------------------------------------------- + + def group_lines(self,input): + lex = self.lexer.clone() + lines = [x.rstrip() for x in input.splitlines()] + for i in xrange(len(lines)): + j = i+1 + while lines[i].endswith('\\') and (j < len(lines)): + lines[i] = lines[i][:-1]+lines[j] + lines[j] = "" + j += 1 + + input = "\n".join(lines) + lex.input(input) + lex.lineno = 1 + + current_line = [] + while True: + tok = lex.token() + if not tok: + break + current_line.append(tok) + if tok.type in self.t_WS and '\n' in tok.value: + yield current_line + current_line = [] + + if current_line: + yield current_line + + # ---------------------------------------------------------------------- + # tokenstrip() + # + # Remove leading/trailing whitespace tokens from a token list + # ---------------------------------------------------------------------- + + def tokenstrip(self,tokens): + i = 0 + while i < len(tokens) and tokens[i].type in self.t_WS: + i += 1 + del tokens[:i] + i = len(tokens)-1 + while i >= 0 and tokens[i].type in self.t_WS: + i -= 1 + del tokens[i+1:] + return tokens + + + # ---------------------------------------------------------------------- + # collect_args() + # + # Collects comma separated arguments from a list of tokens. The arguments + # must be enclosed in parenthesis. Returns a tuple (tokencount,args,positions) + # where tokencount is the number of tokens consumed, args is a list of arguments, + # and positions is a list of integers containing the starting index of each + # argument. Each argument is represented by a list of tokens. + # + # When collecting arguments, leading and trailing whitespace is removed + # from each argument. + # + # This function properly handles nested parenthesis and commas---these do not + # define new arguments. + # ---------------------------------------------------------------------- + + def collect_args(self,tokenlist): + args = [] + positions = [] + current_arg = [] + nesting = 1 + tokenlen = len(tokenlist) + + # Search for the opening '('. + i = 0 + while (i < tokenlen) and (tokenlist[i].type in self.t_WS): + i += 1 + + if (i < tokenlen) and (tokenlist[i].value == '('): + positions.append(i+1) + else: + self.error(self.source,tokenlist[0].lineno,"Missing '(' in macro arguments") + return 0, [], [] + + i += 1 + + while i < tokenlen: + t = tokenlist[i] + if t.value == '(': + current_arg.append(t) + nesting += 1 + elif t.value == ')': + nesting -= 1 + if nesting == 0: + if current_arg: + args.append(self.tokenstrip(current_arg)) + positions.append(i) + return i+1,args,positions + current_arg.append(t) + elif t.value == ',' and nesting == 1: + args.append(self.tokenstrip(current_arg)) + positions.append(i+1) + current_arg = [] + else: + current_arg.append(t) + i += 1 + + # Missing end argument + self.error(self.source,tokenlist[-1].lineno,"Missing ')' in macro arguments") + return 0, [],[] + + # ---------------------------------------------------------------------- + # macro_prescan() + # + # Examine the macro value (token sequence) and identify patch points + # This is used to speed up macro expansion later on---we'll know + # right away where to apply patches to the value to form the expansion + # ---------------------------------------------------------------------- + + def macro_prescan(self,macro): + macro.patch = [] # Standard macro arguments + macro.str_patch = [] # String conversion expansion + macro.var_comma_patch = [] # Variadic macro comma patch + i = 0 + while i < len(macro.value): + if macro.value[i].type == self.t_ID and macro.value[i].value in macro.arglist: + argnum = macro.arglist.index(macro.value[i].value) + # Conversion of argument to a string + if i > 0 and macro.value[i-1].value == '#': + macro.value[i] = copy.copy(macro.value[i]) + macro.value[i].type = self.t_STRING + del macro.value[i-1] + macro.str_patch.append((argnum,i-1)) + continue + # Concatenation + elif (i > 0 and macro.value[i-1].value == '##'): + macro.patch.append(('c',argnum,i-1)) + del macro.value[i-1] + continue + elif ((i+1) < len(macro.value) and macro.value[i+1].value == '##'): + macro.patch.append(('c',argnum,i)) + i += 1 + continue + # Standard expansion + else: + macro.patch.append(('e',argnum,i)) + elif macro.value[i].value == '##': + if macro.variadic and (i > 0) and (macro.value[i-1].value == ',') and \ + ((i+1) < len(macro.value)) and (macro.value[i+1].type == self.t_ID) and \ + (macro.value[i+1].value == macro.vararg): + macro.var_comma_patch.append(i-1) + i += 1 + macro.patch.sort(key=lambda x: x[2],reverse=True) + + # ---------------------------------------------------------------------- + # macro_expand_args() + # + # Given a Macro and list of arguments (each a token list), this method + # returns an expanded version of a macro. The return value is a token sequence + # representing the replacement macro tokens + # ---------------------------------------------------------------------- + + def macro_expand_args(self,macro,args): + # Make a copy of the macro token sequence + rep = [copy.copy(_x) for _x in macro.value] + + # Make string expansion patches. These do not alter the length of the replacement sequence + + str_expansion = {} + for argnum, i in macro.str_patch: + if argnum not in str_expansion: + str_expansion[argnum] = ('"%s"' % "".join([x.value for x in args[argnum]])).replace("\\","\\\\") + rep[i] = copy.copy(rep[i]) + rep[i].value = str_expansion[argnum] + + # Make the variadic macro comma patch. If the variadic macro argument is empty, we get rid + comma_patch = False + if macro.variadic and not args[-1]: + for i in macro.var_comma_patch: + rep[i] = None + comma_patch = True + + # Make all other patches. The order of these matters. It is assumed that the patch list + # has been sorted in reverse order of patch location since replacements will cause the + # size of the replacement sequence to expand from the patch point. + + expanded = { } + for ptype, argnum, i in macro.patch: + # Concatenation. Argument is left unexpanded + if ptype == 'c': + rep[i:i+1] = args[argnum] + # Normal expansion. Argument is macro expanded first + elif ptype == 'e': + if argnum not in expanded: + expanded[argnum] = self.expand_macros(args[argnum]) + rep[i:i+1] = expanded[argnum] + + # Get rid of removed comma if necessary + if comma_patch: + rep = [_i for _i in rep if _i] + + return rep + + + # ---------------------------------------------------------------------- + # expand_macros() + # + # Given a list of tokens, this function performs macro expansion. + # The expanded argument is a dictionary that contains macros already + # expanded. This is used to prevent infinite recursion. + # ---------------------------------------------------------------------- + + def expand_macros(self,tokens,expanded=None): + if expanded is None: + expanded = {} + i = 0 + while i < len(tokens): + t = tokens[i] + if t.type == self.t_ID: + if t.value in self.macros and t.value not in expanded: + # Yes, we found a macro match + expanded[t.value] = True + + m = self.macros[t.value] + if not m.arglist: + # A simple macro + ex = self.expand_macros([copy.copy(_x) for _x in m.value],expanded) + for e in ex: + e.lineno = t.lineno + tokens[i:i+1] = ex + i += len(ex) + else: + # A macro with arguments + j = i + 1 + while j < len(tokens) and tokens[j].type in self.t_WS: + j += 1 + if tokens[j].value == '(': + tokcount,args,positions = self.collect_args(tokens[j:]) + if not m.variadic and len(args) != len(m.arglist): + self.error(self.source,t.lineno,"Macro %s requires %d arguments" % (t.value,len(m.arglist))) + i = j + tokcount + elif m.variadic and len(args) < len(m.arglist)-1: + if len(m.arglist) > 2: + self.error(self.source,t.lineno,"Macro %s must have at least %d arguments" % (t.value, len(m.arglist)-1)) + else: + self.error(self.source,t.lineno,"Macro %s must have at least %d argument" % (t.value, len(m.arglist)-1)) + i = j + tokcount + else: + if m.variadic: + if len(args) == len(m.arglist)-1: + args.append([]) + else: + args[len(m.arglist)-1] = tokens[j+positions[len(m.arglist)-1]:j+tokcount-1] + del args[len(m.arglist):] + + # Get macro replacement text + rep = self.macro_expand_args(m,args) + rep = self.expand_macros(rep,expanded) + for r in rep: + r.lineno = t.lineno + tokens[i:j+tokcount] = rep + i += len(rep) + del expanded[t.value] + continue + elif t.value == '__LINE__': + t.type = self.t_INTEGER + t.value = self.t_INTEGER_TYPE(t.lineno) + + i += 1 + return tokens + + # ---------------------------------------------------------------------- + # evalexpr() + # + # Evaluate an expression token sequence for the purposes of evaluating + # integral expressions. + # ---------------------------------------------------------------------- + + def evalexpr(self,tokens): + # tokens = tokenize(line) + # Search for defined macros + i = 0 + while i < len(tokens): + if tokens[i].type == self.t_ID and tokens[i].value == 'defined': + j = i + 1 + needparen = False + result = "0L" + while j < len(tokens): + if tokens[j].type in self.t_WS: + j += 1 + continue + elif tokens[j].type == self.t_ID: + if tokens[j].value in self.macros: + result = "1L" + else: + result = "0L" + if not needparen: break + elif tokens[j].value == '(': + needparen = True + elif tokens[j].value == ')': + break + else: + self.error(self.source,tokens[i].lineno,"Malformed defined()") + j += 1 + tokens[i].type = self.t_INTEGER + tokens[i].value = self.t_INTEGER_TYPE(result) + del tokens[i+1:j+1] + i += 1 + tokens = self.expand_macros(tokens) + for i,t in enumerate(tokens): + if t.type == self.t_ID: + tokens[i] = copy.copy(t) + tokens[i].type = self.t_INTEGER + tokens[i].value = self.t_INTEGER_TYPE("0L") + elif t.type == self.t_INTEGER: + tokens[i] = copy.copy(t) + # Strip off any trailing suffixes + tokens[i].value = str(tokens[i].value) + while tokens[i].value[-1] not in "0123456789abcdefABCDEF": + tokens[i].value = tokens[i].value[:-1] + + expr = "".join([str(x.value) for x in tokens]) + expr = expr.replace("&&"," and ") + expr = expr.replace("||"," or ") + expr = expr.replace("!"," not ") + try: + result = eval(expr) + except Exception: + self.error(self.source,tokens[0].lineno,"Couldn't evaluate expression") + result = 0 + return result + + # ---------------------------------------------------------------------- + # parsegen() + # + # Parse an input string/ + # ---------------------------------------------------------------------- + def parsegen(self,input,source=None): + + # Replace trigraph sequences + t = trigraph(input) + lines = self.group_lines(t) + + if not source: + source = "" + + self.define("__FILE__ \"%s\"" % source) + + self.source = source + chunk = [] + enable = True + iftrigger = False + ifstack = [] + + for x in lines: + for i,tok in enumerate(x): + if tok.type not in self.t_WS: break + if tok.value == '#': + # Preprocessor directive + + # insert necessary whitespace instead of eaten tokens + for tok in x: + if tok.type in self.t_WS and '\n' in tok.value: + chunk.append(tok) + + dirtokens = self.tokenstrip(x[i+1:]) + if dirtokens: + name = dirtokens[0].value + args = self.tokenstrip(dirtokens[1:]) + else: + name = "" + args = [] + + if name == 'define': + if enable: + for tok in self.expand_macros(chunk): + yield tok + chunk = [] + self.define(args) + elif name == 'include': + if enable: + for tok in self.expand_macros(chunk): + yield tok + chunk = [] + oldfile = self.macros['__FILE__'] + for tok in self.include(args): + yield tok + self.macros['__FILE__'] = oldfile + self.source = source + elif name == 'undef': + if enable: + for tok in self.expand_macros(chunk): + yield tok + chunk = [] + self.undef(args) + elif name == 'ifdef': + ifstack.append((enable,iftrigger)) + if enable: + if not args[0].value in self.macros: + enable = False + iftrigger = False + else: + iftrigger = True + elif name == 'ifndef': + ifstack.append((enable,iftrigger)) + if enable: + if args[0].value in self.macros: + enable = False + iftrigger = False + else: + iftrigger = True + elif name == 'if': + ifstack.append((enable,iftrigger)) + if enable: + result = self.evalexpr(args) + if not result: + enable = False + iftrigger = False + else: + iftrigger = True + elif name == 'elif': + if ifstack: + if ifstack[-1][0]: # We only pay attention if outer "if" allows this + if enable: # If already true, we flip enable False + enable = False + elif not iftrigger: # If False, but not triggered yet, we'll check expression + result = self.evalexpr(args) + if result: + enable = True + iftrigger = True + else: + self.error(self.source,dirtokens[0].lineno,"Misplaced #elif") + + elif name == 'else': + if ifstack: + if ifstack[-1][0]: + if enable: + enable = False + elif not iftrigger: + enable = True + iftrigger = True + else: + self.error(self.source,dirtokens[0].lineno,"Misplaced #else") + + elif name == 'endif': + if ifstack: + enable,iftrigger = ifstack.pop() + else: + self.error(self.source,dirtokens[0].lineno,"Misplaced #endif") + else: + # Unknown preprocessor directive + pass + + else: + # Normal text + if enable: + chunk.extend(x) + + for tok in self.expand_macros(chunk): + yield tok + chunk = [] + + # ---------------------------------------------------------------------- + # include() + # + # Implementation of file-inclusion + # ---------------------------------------------------------------------- + + def include(self,tokens): + # Try to extract the filename and then process an include file + if not tokens: + return + if tokens: + if tokens[0].value != '<' and tokens[0].type != self.t_STRING: + tokens = self.expand_macros(tokens) + + if tokens[0].value == '<': + # Include <...> + i = 1 + while i < len(tokens): + if tokens[i].value == '>': + break + i += 1 + else: + print("Malformed #include <...>") + return + filename = "".join([x.value for x in tokens[1:i]]) + path = self.path + [""] + self.temp_path + elif tokens[0].type == self.t_STRING: + filename = tokens[0].value[1:-1] + path = self.temp_path + [""] + self.path + else: + print("Malformed #include statement") + return + for p in path: + iname = os.path.join(p,filename) + try: + data = open(iname,"r").read() + dname = os.path.dirname(iname) + if dname: + self.temp_path.insert(0,dname) + for tok in self.parsegen(data,filename): + yield tok + if dname: + del self.temp_path[0] + break + except IOError: + pass + else: + print("Couldn't find '%s'" % filename) + + # ---------------------------------------------------------------------- + # define() + # + # Define a new macro + # ---------------------------------------------------------------------- + + def define(self,tokens): + if isinstance(tokens,STRING_TYPES): + tokens = self.tokenize(tokens) + + linetok = tokens + try: + name = linetok[0] + if len(linetok) > 1: + mtype = linetok[1] + else: + mtype = None + if not mtype: + m = Macro(name.value,[]) + self.macros[name.value] = m + elif mtype.type in self.t_WS: + # A normal macro + m = Macro(name.value,self.tokenstrip(linetok[2:])) + self.macros[name.value] = m + elif mtype.value == '(': + # A macro with arguments + tokcount, args, positions = self.collect_args(linetok[1:]) + variadic = False + for a in args: + if variadic: + print("No more arguments may follow a variadic argument") + break + astr = "".join([str(_i.value) for _i in a]) + if astr == "...": + variadic = True + a[0].type = self.t_ID + a[0].value = '__VA_ARGS__' + variadic = True + del a[1:] + continue + elif astr[-3:] == "..." and a[0].type == self.t_ID: + variadic = True + del a[1:] + # If, for some reason, "." is part of the identifier, strip off the name for the purposes + # of macro expansion + if a[0].value[-3:] == '...': + a[0].value = a[0].value[:-3] + continue + if len(a) > 1 or a[0].type != self.t_ID: + print("Invalid macro argument") + break + else: + mvalue = self.tokenstrip(linetok[1+tokcount:]) + i = 0 + while i < len(mvalue): + if i+1 < len(mvalue): + if mvalue[i].type in self.t_WS and mvalue[i+1].value == '##': + del mvalue[i] + continue + elif mvalue[i].value == '##' and mvalue[i+1].type in self.t_WS: + del mvalue[i+1] + i += 1 + m = Macro(name.value,mvalue,[x[0].value for x in args],variadic) + self.macro_prescan(m) + self.macros[name.value] = m + else: + print("Bad macro definition") + except LookupError: + print("Bad macro definition") + + # ---------------------------------------------------------------------- + # undef() + # + # Undefine a macro + # ---------------------------------------------------------------------- + + def undef(self,tokens): + id = tokens[0].value + try: + del self.macros[id] + except LookupError: + pass + + # ---------------------------------------------------------------------- + # parse() + # + # Parse input text. + # ---------------------------------------------------------------------- + def parse(self,input,source=None,ignore={}): + self.ignore = ignore + self.parser = self.parsegen(input,source) + + # ---------------------------------------------------------------------- + # token() + # + # Method to return individual tokens + # ---------------------------------------------------------------------- + def token(self): + try: + while True: + tok = next(self.parser) + if tok.type not in self.ignore: return tok + except StopIteration: + self.parser = None + return None + +if __name__ == '__main__': + import ply.lex as lex + lexer = lex.lex() + + # Run a preprocessor + import sys + f = open(sys.argv[1]) + input = f.read() + + p = Preprocessor(lexer) + p.parse(input,sys.argv[1]) + while True: + tok = p.token() + if not tok: break + print(p.source, tok) diff --git a/.venv/lib/python3.11/site-packages/pycparser/ply/yacc.py b/.venv/lib/python3.11/site-packages/pycparser/ply/yacc.py new file mode 100644 index 0000000000000000000000000000000000000000..20b4f2863cc7193ad4b779a30375c865495fa50c --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/ply/yacc.py @@ -0,0 +1,3494 @@ +# ----------------------------------------------------------------------------- +# ply: yacc.py +# +# Copyright (C) 2001-2017 +# David M. Beazley (Dabeaz LLC) +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# * Neither the name of the David Beazley or Dabeaz LLC may be used to +# endorse or promote products derived from this software without +# specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# ----------------------------------------------------------------------------- +# +# This implements an LR parser that is constructed from grammar rules defined +# as Python functions. The grammer is specified by supplying the BNF inside +# Python documentation strings. The inspiration for this technique was borrowed +# from John Aycock's Spark parsing system. PLY might be viewed as cross between +# Spark and the GNU bison utility. +# +# The current implementation is only somewhat object-oriented. The +# LR parser itself is defined in terms of an object (which allows multiple +# parsers to co-exist). However, most of the variables used during table +# construction are defined in terms of global variables. Users shouldn't +# notice unless they are trying to define multiple parsers at the same +# time using threads (in which case they should have their head examined). +# +# This implementation supports both SLR and LALR(1) parsing. LALR(1) +# support was originally implemented by Elias Ioup (ezioup@alumni.uchicago.edu), +# using the algorithm found in Aho, Sethi, and Ullman "Compilers: Principles, +# Techniques, and Tools" (The Dragon Book). LALR(1) has since been replaced +# by the more efficient DeRemer and Pennello algorithm. +# +# :::::::: WARNING ::::::: +# +# Construction of LR parsing tables is fairly complicated and expensive. +# To make this module run fast, a *LOT* of work has been put into +# optimization---often at the expensive of readability and what might +# consider to be good Python "coding style." Modify the code at your +# own risk! +# ---------------------------------------------------------------------------- + +import re +import types +import sys +import os.path +import inspect +import base64 +import warnings + +__version__ = '3.10' +__tabversion__ = '3.10' + +#----------------------------------------------------------------------------- +# === User configurable parameters === +# +# Change these to modify the default behavior of yacc (if you wish) +#----------------------------------------------------------------------------- + +yaccdebug = True # Debugging mode. If set, yacc generates a + # a 'parser.out' file in the current directory + +debug_file = 'parser.out' # Default name of the debugging file +tab_module = 'parsetab' # Default name of the table module +default_lr = 'LALR' # Default LR table generation method + +error_count = 3 # Number of symbols that must be shifted to leave recovery mode + +yaccdevel = False # Set to True if developing yacc. This turns off optimized + # implementations of certain functions. + +resultlimit = 40 # Size limit of results when running in debug mode. + +pickle_protocol = 0 # Protocol to use when writing pickle files + +# String type-checking compatibility +if sys.version_info[0] < 3: + string_types = basestring +else: + string_types = str + +MAXINT = sys.maxsize + +# This object is a stand-in for a logging object created by the +# logging module. PLY will use this by default to create things +# such as the parser.out file. If a user wants more detailed +# information, they can create their own logging object and pass +# it into PLY. + +class PlyLogger(object): + def __init__(self, f): + self.f = f + + def debug(self, msg, *args, **kwargs): + self.f.write((msg % args) + '\n') + + info = debug + + def warning(self, msg, *args, **kwargs): + self.f.write('WARNING: ' + (msg % args) + '\n') + + def error(self, msg, *args, **kwargs): + self.f.write('ERROR: ' + (msg % args) + '\n') + + critical = debug + +# Null logger is used when no output is generated. Does nothing. +class NullLogger(object): + def __getattribute__(self, name): + return self + + def __call__(self, *args, **kwargs): + return self + +# Exception raised for yacc-related errors +class YaccError(Exception): + pass + +# Format the result message that the parser produces when running in debug mode. +def format_result(r): + repr_str = repr(r) + if '\n' in repr_str: + repr_str = repr(repr_str) + if len(repr_str) > resultlimit: + repr_str = repr_str[:resultlimit] + ' ...' + result = '<%s @ 0x%x> (%s)' % (type(r).__name__, id(r), repr_str) + return result + +# Format stack entries when the parser is running in debug mode +def format_stack_entry(r): + repr_str = repr(r) + if '\n' in repr_str: + repr_str = repr(repr_str) + if len(repr_str) < 16: + return repr_str + else: + return '<%s @ 0x%x>' % (type(r).__name__, id(r)) + +# Panic mode error recovery support. This feature is being reworked--much of the +# code here is to offer a deprecation/backwards compatible transition + +_errok = None +_token = None +_restart = None +_warnmsg = '''PLY: Don't use global functions errok(), token(), and restart() in p_error(). +Instead, invoke the methods on the associated parser instance: + + def p_error(p): + ... + # Use parser.errok(), parser.token(), parser.restart() + ... + + parser = yacc.yacc() +''' + +def errok(): + warnings.warn(_warnmsg) + return _errok() + +def restart(): + warnings.warn(_warnmsg) + return _restart() + +def token(): + warnings.warn(_warnmsg) + return _token() + +# Utility function to call the p_error() function with some deprecation hacks +def call_errorfunc(errorfunc, token, parser): + global _errok, _token, _restart + _errok = parser.errok + _token = parser.token + _restart = parser.restart + r = errorfunc(token) + try: + del _errok, _token, _restart + except NameError: + pass + return r + +#----------------------------------------------------------------------------- +# === LR Parsing Engine === +# +# The following classes are used for the LR parser itself. These are not +# used during table construction and are independent of the actual LR +# table generation algorithm +#----------------------------------------------------------------------------- + +# This class is used to hold non-terminal grammar symbols during parsing. +# It normally has the following attributes set: +# .type = Grammar symbol type +# .value = Symbol value +# .lineno = Starting line number +# .endlineno = Ending line number (optional, set automatically) +# .lexpos = Starting lex position +# .endlexpos = Ending lex position (optional, set automatically) + +class YaccSymbol: + def __str__(self): + return self.type + + def __repr__(self): + return str(self) + +# This class is a wrapper around the objects actually passed to each +# grammar rule. Index lookup and assignment actually assign the +# .value attribute of the underlying YaccSymbol object. +# The lineno() method returns the line number of a given +# item (or 0 if not defined). The linespan() method returns +# a tuple of (startline,endline) representing the range of lines +# for a symbol. The lexspan() method returns a tuple (lexpos,endlexpos) +# representing the range of positional information for a symbol. + +class YaccProduction: + def __init__(self, s, stack=None): + self.slice = s + self.stack = stack + self.lexer = None + self.parser = None + + def __getitem__(self, n): + if isinstance(n, slice): + return [s.value for s in self.slice[n]] + elif n >= 0: + return self.slice[n].value + else: + return self.stack[n].value + + def __setitem__(self, n, v): + self.slice[n].value = v + + def __getslice__(self, i, j): + return [s.value for s in self.slice[i:j]] + + def __len__(self): + return len(self.slice) + + def lineno(self, n): + return getattr(self.slice[n], 'lineno', 0) + + def set_lineno(self, n, lineno): + self.slice[n].lineno = lineno + + def linespan(self, n): + startline = getattr(self.slice[n], 'lineno', 0) + endline = getattr(self.slice[n], 'endlineno', startline) + return startline, endline + + def lexpos(self, n): + return getattr(self.slice[n], 'lexpos', 0) + + def lexspan(self, n): + startpos = getattr(self.slice[n], 'lexpos', 0) + endpos = getattr(self.slice[n], 'endlexpos', startpos) + return startpos, endpos + + def error(self): + raise SyntaxError + +# ----------------------------------------------------------------------------- +# == LRParser == +# +# The LR Parsing engine. +# ----------------------------------------------------------------------------- + +class LRParser: + def __init__(self, lrtab, errorf): + self.productions = lrtab.lr_productions + self.action = lrtab.lr_action + self.goto = lrtab.lr_goto + self.errorfunc = errorf + self.set_defaulted_states() + self.errorok = True + + def errok(self): + self.errorok = True + + def restart(self): + del self.statestack[:] + del self.symstack[:] + sym = YaccSymbol() + sym.type = '$end' + self.symstack.append(sym) + self.statestack.append(0) + + # Defaulted state support. + # This method identifies parser states where there is only one possible reduction action. + # For such states, the parser can make a choose to make a rule reduction without consuming + # the next look-ahead token. This delayed invocation of the tokenizer can be useful in + # certain kinds of advanced parsing situations where the lexer and parser interact with + # each other or change states (i.e., manipulation of scope, lexer states, etc.). + # + # See: https://www.gnu.org/software/bison/manual/html_node/Default-Reductions.html#Default-Reductions + def set_defaulted_states(self): + self.defaulted_states = {} + for state, actions in self.action.items(): + rules = list(actions.values()) + if len(rules) == 1 and rules[0] < 0: + self.defaulted_states[state] = rules[0] + + def disable_defaulted_states(self): + self.defaulted_states = {} + + def parse(self, input=None, lexer=None, debug=False, tracking=False, tokenfunc=None): + if debug or yaccdevel: + if isinstance(debug, int): + debug = PlyLogger(sys.stderr) + return self.parsedebug(input, lexer, debug, tracking, tokenfunc) + elif tracking: + return self.parseopt(input, lexer, debug, tracking, tokenfunc) + else: + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + + + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + # parsedebug(). + # + # This is the debugging enabled version of parse(). All changes made to the + # parsing engine should be made here. Optimized versions of this function + # are automatically created by the ply/ygen.py script. This script cuts out + # sections enclosed in markers such as this: + # + # #--! DEBUG + # statements + # #--! DEBUG + # + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + def parsedebug(self, input=None, lexer=None, debug=False, tracking=False, tokenfunc=None): + #--! parsedebug-start + lookahead = None # Current lookahead symbol + lookaheadstack = [] # Stack of lookahead symbols + actions = self.action # Local reference to action table (to avoid lookup on self.) + goto = self.goto # Local reference to goto table (to avoid lookup on self.) + prod = self.productions # Local reference to production list (to avoid lookup on self.) + defaulted_states = self.defaulted_states # Local reference to defaulted states + pslice = YaccProduction(None) # Production object passed to grammar rules + errorcount = 0 # Used during error recovery + + #--! DEBUG + debug.info('PLY: PARSE DEBUG START') + #--! DEBUG + + # If no lexer was given, we will try to use the lex module + if not lexer: + from . import lex + lexer = lex.lexer + + # Set up the lexer and parser objects on pslice + pslice.lexer = lexer + pslice.parser = self + + # If input was supplied, pass to lexer + if input is not None: + lexer.input(input) + + if tokenfunc is None: + # Tokenize function + get_token = lexer.token + else: + get_token = tokenfunc + + # Set the parser() token method (sometimes used in error recovery) + self.token = get_token + + # Set up the state and symbol stacks + + statestack = [] # Stack of parsing states + self.statestack = statestack + symstack = [] # Stack of grammar symbols + self.symstack = symstack + + pslice.stack = symstack # Put in the production + errtoken = None # Err token + + # The start state is assumed to be (0,$end) + + statestack.append(0) + sym = YaccSymbol() + sym.type = '$end' + symstack.append(sym) + state = 0 + while True: + # Get the next symbol on the input. If a lookahead symbol + # is already set, we just use that. Otherwise, we'll pull + # the next token off of the lookaheadstack or from the lexer + + #--! DEBUG + debug.debug('') + debug.debug('State : %s', state) + #--! DEBUG + + if state not in defaulted_states: + if not lookahead: + if not lookaheadstack: + lookahead = get_token() # Get the next token + else: + lookahead = lookaheadstack.pop() + if not lookahead: + lookahead = YaccSymbol() + lookahead.type = '$end' + + # Check the action table + ltype = lookahead.type + t = actions[state].get(ltype) + else: + t = defaulted_states[state] + #--! DEBUG + debug.debug('Defaulted state %s: Reduce using %d', state, -t) + #--! DEBUG + + #--! DEBUG + debug.debug('Stack : %s', + ('%s . %s' % (' '.join([xx.type for xx in symstack][1:]), str(lookahead))).lstrip()) + #--! DEBUG + + if t is not None: + if t > 0: + # shift a symbol on the stack + statestack.append(t) + state = t + + #--! DEBUG + debug.debug('Action : Shift and goto state %s', t) + #--! DEBUG + + symstack.append(lookahead) + lookahead = None + + # Decrease error count on successful shift + if errorcount: + errorcount -= 1 + continue + + if t < 0: + # reduce a symbol on the stack, emit a production + p = prod[-t] + pname = p.name + plen = p.len + + # Get production function + sym = YaccSymbol() + sym.type = pname # Production name + sym.value = None + + #--! DEBUG + if plen: + debug.info('Action : Reduce rule [%s] with %s and goto state %d', p.str, + '['+','.join([format_stack_entry(_v.value) for _v in symstack[-plen:]])+']', + goto[statestack[-1-plen]][pname]) + else: + debug.info('Action : Reduce rule [%s] with %s and goto state %d', p.str, [], + goto[statestack[-1]][pname]) + + #--! DEBUG + + if plen: + targ = symstack[-plen-1:] + targ[0] = sym + + #--! TRACKING + if tracking: + t1 = targ[1] + sym.lineno = t1.lineno + sym.lexpos = t1.lexpos + t1 = targ[-1] + sym.endlineno = getattr(t1, 'endlineno', t1.lineno) + sym.endlexpos = getattr(t1, 'endlexpos', t1.lexpos) + #--! TRACKING + + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + # The code enclosed in this section is duplicated + # below as a performance optimization. Make sure + # changes get made in both locations. + + pslice.slice = targ + + try: + # Call the grammar rule with our special slice object + del symstack[-plen:] + self.state = state + p.callable(pslice) + del statestack[-plen:] + #--! DEBUG + debug.info('Result : %s', format_result(pslice[0])) + #--! DEBUG + symstack.append(sym) + state = goto[statestack[-1]][pname] + statestack.append(state) + except SyntaxError: + # If an error was set. Enter error recovery state + lookaheadstack.append(lookahead) # Save the current lookahead token + symstack.extend(targ[1:-1]) # Put the production slice back on the stack + statestack.pop() # Pop back one state (before the reduce) + state = statestack[-1] + sym.type = 'error' + sym.value = 'error' + lookahead = sym + errorcount = error_count + self.errorok = False + + continue + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + else: + + #--! TRACKING + if tracking: + sym.lineno = lexer.lineno + sym.lexpos = lexer.lexpos + #--! TRACKING + + targ = [sym] + + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + # The code enclosed in this section is duplicated + # above as a performance optimization. Make sure + # changes get made in both locations. + + pslice.slice = targ + + try: + # Call the grammar rule with our special slice object + self.state = state + p.callable(pslice) + #--! DEBUG + debug.info('Result : %s', format_result(pslice[0])) + #--! DEBUG + symstack.append(sym) + state = goto[statestack[-1]][pname] + statestack.append(state) + except SyntaxError: + # If an error was set. Enter error recovery state + lookaheadstack.append(lookahead) # Save the current lookahead token + statestack.pop() # Pop back one state (before the reduce) + state = statestack[-1] + sym.type = 'error' + sym.value = 'error' + lookahead = sym + errorcount = error_count + self.errorok = False + + continue + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + if t == 0: + n = symstack[-1] + result = getattr(n, 'value', None) + #--! DEBUG + debug.info('Done : Returning %s', format_result(result)) + debug.info('PLY: PARSE DEBUG END') + #--! DEBUG + return result + + if t is None: + + #--! DEBUG + debug.error('Error : %s', + ('%s . %s' % (' '.join([xx.type for xx in symstack][1:]), str(lookahead))).lstrip()) + #--! DEBUG + + # We have some kind of parsing error here. To handle + # this, we are going to push the current token onto + # the tokenstack and replace it with an 'error' token. + # If there are any synchronization rules, they may + # catch it. + # + # In addition to pushing the error token, we call call + # the user defined p_error() function if this is the + # first syntax error. This function is only called if + # errorcount == 0. + if errorcount == 0 or self.errorok: + errorcount = error_count + self.errorok = False + errtoken = lookahead + if errtoken.type == '$end': + errtoken = None # End of file! + if self.errorfunc: + if errtoken and not hasattr(errtoken, 'lexer'): + errtoken.lexer = lexer + self.state = state + tok = call_errorfunc(self.errorfunc, errtoken, self) + if self.errorok: + # User must have done some kind of panic + # mode recovery on their own. The + # returned token is the next lookahead + lookahead = tok + errtoken = None + continue + else: + if errtoken: + if hasattr(errtoken, 'lineno'): + lineno = lookahead.lineno + else: + lineno = 0 + if lineno: + sys.stderr.write('yacc: Syntax error at line %d, token=%s\n' % (lineno, errtoken.type)) + else: + sys.stderr.write('yacc: Syntax error, token=%s' % errtoken.type) + else: + sys.stderr.write('yacc: Parse error in input. EOF\n') + return + + else: + errorcount = error_count + + # case 1: the statestack only has 1 entry on it. If we're in this state, the + # entire parse has been rolled back and we're completely hosed. The token is + # discarded and we just keep going. + + if len(statestack) <= 1 and lookahead.type != '$end': + lookahead = None + errtoken = None + state = 0 + # Nuke the pushback stack + del lookaheadstack[:] + continue + + # case 2: the statestack has a couple of entries on it, but we're + # at the end of the file. nuke the top entry and generate an error token + + # Start nuking entries on the stack + if lookahead.type == '$end': + # Whoa. We're really hosed here. Bail out + return + + if lookahead.type != 'error': + sym = symstack[-1] + if sym.type == 'error': + # Hmmm. Error is on top of stack, we'll just nuke input + # symbol and continue + #--! TRACKING + if tracking: + sym.endlineno = getattr(lookahead, 'lineno', sym.lineno) + sym.endlexpos = getattr(lookahead, 'lexpos', sym.lexpos) + #--! TRACKING + lookahead = None + continue + + # Create the error symbol for the first time and make it the new lookahead symbol + t = YaccSymbol() + t.type = 'error' + + if hasattr(lookahead, 'lineno'): + t.lineno = t.endlineno = lookahead.lineno + if hasattr(lookahead, 'lexpos'): + t.lexpos = t.endlexpos = lookahead.lexpos + t.value = lookahead + lookaheadstack.append(lookahead) + lookahead = t + else: + sym = symstack.pop() + #--! TRACKING + if tracking: + lookahead.lineno = sym.lineno + lookahead.lexpos = sym.lexpos + #--! TRACKING + statestack.pop() + state = statestack[-1] + + continue + + # Call an error function here + raise RuntimeError('yacc: internal parser error!!!\n') + + #--! parsedebug-end + + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + # parseopt(). + # + # Optimized version of parse() method. DO NOT EDIT THIS CODE DIRECTLY! + # This code is automatically generated by the ply/ygen.py script. Make + # changes to the parsedebug() method instead. + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + def parseopt(self, input=None, lexer=None, debug=False, tracking=False, tokenfunc=None): + #--! parseopt-start + lookahead = None # Current lookahead symbol + lookaheadstack = [] # Stack of lookahead symbols + actions = self.action # Local reference to action table (to avoid lookup on self.) + goto = self.goto # Local reference to goto table (to avoid lookup on self.) + prod = self.productions # Local reference to production list (to avoid lookup on self.) + defaulted_states = self.defaulted_states # Local reference to defaulted states + pslice = YaccProduction(None) # Production object passed to grammar rules + errorcount = 0 # Used during error recovery + + + # If no lexer was given, we will try to use the lex module + if not lexer: + from . import lex + lexer = lex.lexer + + # Set up the lexer and parser objects on pslice + pslice.lexer = lexer + pslice.parser = self + + # If input was supplied, pass to lexer + if input is not None: + lexer.input(input) + + if tokenfunc is None: + # Tokenize function + get_token = lexer.token + else: + get_token = tokenfunc + + # Set the parser() token method (sometimes used in error recovery) + self.token = get_token + + # Set up the state and symbol stacks + + statestack = [] # Stack of parsing states + self.statestack = statestack + symstack = [] # Stack of grammar symbols + self.symstack = symstack + + pslice.stack = symstack # Put in the production + errtoken = None # Err token + + # The start state is assumed to be (0,$end) + + statestack.append(0) + sym = YaccSymbol() + sym.type = '$end' + symstack.append(sym) + state = 0 + while True: + # Get the next symbol on the input. If a lookahead symbol + # is already set, we just use that. Otherwise, we'll pull + # the next token off of the lookaheadstack or from the lexer + + + if state not in defaulted_states: + if not lookahead: + if not lookaheadstack: + lookahead = get_token() # Get the next token + else: + lookahead = lookaheadstack.pop() + if not lookahead: + lookahead = YaccSymbol() + lookahead.type = '$end' + + # Check the action table + ltype = lookahead.type + t = actions[state].get(ltype) + else: + t = defaulted_states[state] + + + if t is not None: + if t > 0: + # shift a symbol on the stack + statestack.append(t) + state = t + + + symstack.append(lookahead) + lookahead = None + + # Decrease error count on successful shift + if errorcount: + errorcount -= 1 + continue + + if t < 0: + # reduce a symbol on the stack, emit a production + p = prod[-t] + pname = p.name + plen = p.len + + # Get production function + sym = YaccSymbol() + sym.type = pname # Production name + sym.value = None + + + if plen: + targ = symstack[-plen-1:] + targ[0] = sym + + #--! TRACKING + if tracking: + t1 = targ[1] + sym.lineno = t1.lineno + sym.lexpos = t1.lexpos + t1 = targ[-1] + sym.endlineno = getattr(t1, 'endlineno', t1.lineno) + sym.endlexpos = getattr(t1, 'endlexpos', t1.lexpos) + #--! TRACKING + + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + # The code enclosed in this section is duplicated + # below as a performance optimization. Make sure + # changes get made in both locations. + + pslice.slice = targ + + try: + # Call the grammar rule with our special slice object + del symstack[-plen:] + self.state = state + p.callable(pslice) + del statestack[-plen:] + symstack.append(sym) + state = goto[statestack[-1]][pname] + statestack.append(state) + except SyntaxError: + # If an error was set. Enter error recovery state + lookaheadstack.append(lookahead) # Save the current lookahead token + symstack.extend(targ[1:-1]) # Put the production slice back on the stack + statestack.pop() # Pop back one state (before the reduce) + state = statestack[-1] + sym.type = 'error' + sym.value = 'error' + lookahead = sym + errorcount = error_count + self.errorok = False + + continue + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + else: + + #--! TRACKING + if tracking: + sym.lineno = lexer.lineno + sym.lexpos = lexer.lexpos + #--! TRACKING + + targ = [sym] + + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + # The code enclosed in this section is duplicated + # above as a performance optimization. Make sure + # changes get made in both locations. + + pslice.slice = targ + + try: + # Call the grammar rule with our special slice object + self.state = state + p.callable(pslice) + symstack.append(sym) + state = goto[statestack[-1]][pname] + statestack.append(state) + except SyntaxError: + # If an error was set. Enter error recovery state + lookaheadstack.append(lookahead) # Save the current lookahead token + statestack.pop() # Pop back one state (before the reduce) + state = statestack[-1] + sym.type = 'error' + sym.value = 'error' + lookahead = sym + errorcount = error_count + self.errorok = False + + continue + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + if t == 0: + n = symstack[-1] + result = getattr(n, 'value', None) + return result + + if t is None: + + + # We have some kind of parsing error here. To handle + # this, we are going to push the current token onto + # the tokenstack and replace it with an 'error' token. + # If there are any synchronization rules, they may + # catch it. + # + # In addition to pushing the error token, we call call + # the user defined p_error() function if this is the + # first syntax error. This function is only called if + # errorcount == 0. + if errorcount == 0 or self.errorok: + errorcount = error_count + self.errorok = False + errtoken = lookahead + if errtoken.type == '$end': + errtoken = None # End of file! + if self.errorfunc: + if errtoken and not hasattr(errtoken, 'lexer'): + errtoken.lexer = lexer + self.state = state + tok = call_errorfunc(self.errorfunc, errtoken, self) + if self.errorok: + # User must have done some kind of panic + # mode recovery on their own. The + # returned token is the next lookahead + lookahead = tok + errtoken = None + continue + else: + if errtoken: + if hasattr(errtoken, 'lineno'): + lineno = lookahead.lineno + else: + lineno = 0 + if lineno: + sys.stderr.write('yacc: Syntax error at line %d, token=%s\n' % (lineno, errtoken.type)) + else: + sys.stderr.write('yacc: Syntax error, token=%s' % errtoken.type) + else: + sys.stderr.write('yacc: Parse error in input. EOF\n') + return + + else: + errorcount = error_count + + # case 1: the statestack only has 1 entry on it. If we're in this state, the + # entire parse has been rolled back and we're completely hosed. The token is + # discarded and we just keep going. + + if len(statestack) <= 1 and lookahead.type != '$end': + lookahead = None + errtoken = None + state = 0 + # Nuke the pushback stack + del lookaheadstack[:] + continue + + # case 2: the statestack has a couple of entries on it, but we're + # at the end of the file. nuke the top entry and generate an error token + + # Start nuking entries on the stack + if lookahead.type == '$end': + # Whoa. We're really hosed here. Bail out + return + + if lookahead.type != 'error': + sym = symstack[-1] + if sym.type == 'error': + # Hmmm. Error is on top of stack, we'll just nuke input + # symbol and continue + #--! TRACKING + if tracking: + sym.endlineno = getattr(lookahead, 'lineno', sym.lineno) + sym.endlexpos = getattr(lookahead, 'lexpos', sym.lexpos) + #--! TRACKING + lookahead = None + continue + + # Create the error symbol for the first time and make it the new lookahead symbol + t = YaccSymbol() + t.type = 'error' + + if hasattr(lookahead, 'lineno'): + t.lineno = t.endlineno = lookahead.lineno + if hasattr(lookahead, 'lexpos'): + t.lexpos = t.endlexpos = lookahead.lexpos + t.value = lookahead + lookaheadstack.append(lookahead) + lookahead = t + else: + sym = symstack.pop() + #--! TRACKING + if tracking: + lookahead.lineno = sym.lineno + lookahead.lexpos = sym.lexpos + #--! TRACKING + statestack.pop() + state = statestack[-1] + + continue + + # Call an error function here + raise RuntimeError('yacc: internal parser error!!!\n') + + #--! parseopt-end + + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + # parseopt_notrack(). + # + # Optimized version of parseopt() with line number tracking removed. + # DO NOT EDIT THIS CODE DIRECTLY. This code is automatically generated + # by the ply/ygen.py script. Make changes to the parsedebug() method instead. + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + def parseopt_notrack(self, input=None, lexer=None, debug=False, tracking=False, tokenfunc=None): + #--! parseopt-notrack-start + lookahead = None # Current lookahead symbol + lookaheadstack = [] # Stack of lookahead symbols + actions = self.action # Local reference to action table (to avoid lookup on self.) + goto = self.goto # Local reference to goto table (to avoid lookup on self.) + prod = self.productions # Local reference to production list (to avoid lookup on self.) + defaulted_states = self.defaulted_states # Local reference to defaulted states + pslice = YaccProduction(None) # Production object passed to grammar rules + errorcount = 0 # Used during error recovery + + + # If no lexer was given, we will try to use the lex module + if not lexer: + from . import lex + lexer = lex.lexer + + # Set up the lexer and parser objects on pslice + pslice.lexer = lexer + pslice.parser = self + + # If input was supplied, pass to lexer + if input is not None: + lexer.input(input) + + if tokenfunc is None: + # Tokenize function + get_token = lexer.token + else: + get_token = tokenfunc + + # Set the parser() token method (sometimes used in error recovery) + self.token = get_token + + # Set up the state and symbol stacks + + statestack = [] # Stack of parsing states + self.statestack = statestack + symstack = [] # Stack of grammar symbols + self.symstack = symstack + + pslice.stack = symstack # Put in the production + errtoken = None # Err token + + # The start state is assumed to be (0,$end) + + statestack.append(0) + sym = YaccSymbol() + sym.type = '$end' + symstack.append(sym) + state = 0 + while True: + # Get the next symbol on the input. If a lookahead symbol + # is already set, we just use that. Otherwise, we'll pull + # the next token off of the lookaheadstack or from the lexer + + + if state not in defaulted_states: + if not lookahead: + if not lookaheadstack: + lookahead = get_token() # Get the next token + else: + lookahead = lookaheadstack.pop() + if not lookahead: + lookahead = YaccSymbol() + lookahead.type = '$end' + + # Check the action table + ltype = lookahead.type + t = actions[state].get(ltype) + else: + t = defaulted_states[state] + + + if t is not None: + if t > 0: + # shift a symbol on the stack + statestack.append(t) + state = t + + + symstack.append(lookahead) + lookahead = None + + # Decrease error count on successful shift + if errorcount: + errorcount -= 1 + continue + + if t < 0: + # reduce a symbol on the stack, emit a production + p = prod[-t] + pname = p.name + plen = p.len + + # Get production function + sym = YaccSymbol() + sym.type = pname # Production name + sym.value = None + + + if plen: + targ = symstack[-plen-1:] + targ[0] = sym + + + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + # The code enclosed in this section is duplicated + # below as a performance optimization. Make sure + # changes get made in both locations. + + pslice.slice = targ + + try: + # Call the grammar rule with our special slice object + del symstack[-plen:] + self.state = state + p.callable(pslice) + del statestack[-plen:] + symstack.append(sym) + state = goto[statestack[-1]][pname] + statestack.append(state) + except SyntaxError: + # If an error was set. Enter error recovery state + lookaheadstack.append(lookahead) # Save the current lookahead token + symstack.extend(targ[1:-1]) # Put the production slice back on the stack + statestack.pop() # Pop back one state (before the reduce) + state = statestack[-1] + sym.type = 'error' + sym.value = 'error' + lookahead = sym + errorcount = error_count + self.errorok = False + + continue + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + else: + + + targ = [sym] + + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + # The code enclosed in this section is duplicated + # above as a performance optimization. Make sure + # changes get made in both locations. + + pslice.slice = targ + + try: + # Call the grammar rule with our special slice object + self.state = state + p.callable(pslice) + symstack.append(sym) + state = goto[statestack[-1]][pname] + statestack.append(state) + except SyntaxError: + # If an error was set. Enter error recovery state + lookaheadstack.append(lookahead) # Save the current lookahead token + statestack.pop() # Pop back one state (before the reduce) + state = statestack[-1] + sym.type = 'error' + sym.value = 'error' + lookahead = sym + errorcount = error_count + self.errorok = False + + continue + # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + if t == 0: + n = symstack[-1] + result = getattr(n, 'value', None) + return result + + if t is None: + + + # We have some kind of parsing error here. To handle + # this, we are going to push the current token onto + # the tokenstack and replace it with an 'error' token. + # If there are any synchronization rules, they may + # catch it. + # + # In addition to pushing the error token, we call call + # the user defined p_error() function if this is the + # first syntax error. This function is only called if + # errorcount == 0. + if errorcount == 0 or self.errorok: + errorcount = error_count + self.errorok = False + errtoken = lookahead + if errtoken.type == '$end': + errtoken = None # End of file! + if self.errorfunc: + if errtoken and not hasattr(errtoken, 'lexer'): + errtoken.lexer = lexer + self.state = state + tok = call_errorfunc(self.errorfunc, errtoken, self) + if self.errorok: + # User must have done some kind of panic + # mode recovery on their own. The + # returned token is the next lookahead + lookahead = tok + errtoken = None + continue + else: + if errtoken: + if hasattr(errtoken, 'lineno'): + lineno = lookahead.lineno + else: + lineno = 0 + if lineno: + sys.stderr.write('yacc: Syntax error at line %d, token=%s\n' % (lineno, errtoken.type)) + else: + sys.stderr.write('yacc: Syntax error, token=%s' % errtoken.type) + else: + sys.stderr.write('yacc: Parse error in input. EOF\n') + return + + else: + errorcount = error_count + + # case 1: the statestack only has 1 entry on it. If we're in this state, the + # entire parse has been rolled back and we're completely hosed. The token is + # discarded and we just keep going. + + if len(statestack) <= 1 and lookahead.type != '$end': + lookahead = None + errtoken = None + state = 0 + # Nuke the pushback stack + del lookaheadstack[:] + continue + + # case 2: the statestack has a couple of entries on it, but we're + # at the end of the file. nuke the top entry and generate an error token + + # Start nuking entries on the stack + if lookahead.type == '$end': + # Whoa. We're really hosed here. Bail out + return + + if lookahead.type != 'error': + sym = symstack[-1] + if sym.type == 'error': + # Hmmm. Error is on top of stack, we'll just nuke input + # symbol and continue + lookahead = None + continue + + # Create the error symbol for the first time and make it the new lookahead symbol + t = YaccSymbol() + t.type = 'error' + + if hasattr(lookahead, 'lineno'): + t.lineno = t.endlineno = lookahead.lineno + if hasattr(lookahead, 'lexpos'): + t.lexpos = t.endlexpos = lookahead.lexpos + t.value = lookahead + lookaheadstack.append(lookahead) + lookahead = t + else: + sym = symstack.pop() + statestack.pop() + state = statestack[-1] + + continue + + # Call an error function here + raise RuntimeError('yacc: internal parser error!!!\n') + + #--! parseopt-notrack-end + +# ----------------------------------------------------------------------------- +# === Grammar Representation === +# +# The following functions, classes, and variables are used to represent and +# manipulate the rules that make up a grammar. +# ----------------------------------------------------------------------------- + +# regex matching identifiers +_is_identifier = re.compile(r'^[a-zA-Z0-9_-]+$') + +# ----------------------------------------------------------------------------- +# class Production: +# +# This class stores the raw information about a single production or grammar rule. +# A grammar rule refers to a specification such as this: +# +# expr : expr PLUS term +# +# Here are the basic attributes defined on all productions +# +# name - Name of the production. For example 'expr' +# prod - A list of symbols on the right side ['expr','PLUS','term'] +# prec - Production precedence level +# number - Production number. +# func - Function that executes on reduce +# file - File where production function is defined +# lineno - Line number where production function is defined +# +# The following attributes are defined or optional. +# +# len - Length of the production (number of symbols on right hand side) +# usyms - Set of unique symbols found in the production +# ----------------------------------------------------------------------------- + +class Production(object): + reduced = 0 + def __init__(self, number, name, prod, precedence=('right', 0), func=None, file='', line=0): + self.name = name + self.prod = tuple(prod) + self.number = number + self.func = func + self.callable = None + self.file = file + self.line = line + self.prec = precedence + + # Internal settings used during table construction + + self.len = len(self.prod) # Length of the production + + # Create a list of unique production symbols used in the production + self.usyms = [] + for s in self.prod: + if s not in self.usyms: + self.usyms.append(s) + + # List of all LR items for the production + self.lr_items = [] + self.lr_next = None + + # Create a string representation + if self.prod: + self.str = '%s -> %s' % (self.name, ' '.join(self.prod)) + else: + self.str = '%s -> ' % self.name + + def __str__(self): + return self.str + + def __repr__(self): + return 'Production(' + str(self) + ')' + + def __len__(self): + return len(self.prod) + + def __nonzero__(self): + return 1 + + def __getitem__(self, index): + return self.prod[index] + + # Return the nth lr_item from the production (or None if at the end) + def lr_item(self, n): + if n > len(self.prod): + return None + p = LRItem(self, n) + # Precompute the list of productions immediately following. + try: + p.lr_after = Prodnames[p.prod[n+1]] + except (IndexError, KeyError): + p.lr_after = [] + try: + p.lr_before = p.prod[n-1] + except IndexError: + p.lr_before = None + return p + + # Bind the production function name to a callable + def bind(self, pdict): + if self.func: + self.callable = pdict[self.func] + +# This class serves as a minimal standin for Production objects when +# reading table data from files. It only contains information +# actually used by the LR parsing engine, plus some additional +# debugging information. +class MiniProduction(object): + def __init__(self, str, name, len, func, file, line): + self.name = name + self.len = len + self.func = func + self.callable = None + self.file = file + self.line = line + self.str = str + + def __str__(self): + return self.str + + def __repr__(self): + return 'MiniProduction(%s)' % self.str + + # Bind the production function name to a callable + def bind(self, pdict): + if self.func: + self.callable = pdict[self.func] + + +# ----------------------------------------------------------------------------- +# class LRItem +# +# This class represents a specific stage of parsing a production rule. For +# example: +# +# expr : expr . PLUS term +# +# In the above, the "." represents the current location of the parse. Here +# basic attributes: +# +# name - Name of the production. For example 'expr' +# prod - A list of symbols on the right side ['expr','.', 'PLUS','term'] +# number - Production number. +# +# lr_next Next LR item. Example, if we are ' expr -> expr . PLUS term' +# then lr_next refers to 'expr -> expr PLUS . term' +# lr_index - LR item index (location of the ".") in the prod list. +# lookaheads - LALR lookahead symbols for this item +# len - Length of the production (number of symbols on right hand side) +# lr_after - List of all productions that immediately follow +# lr_before - Grammar symbol immediately before +# ----------------------------------------------------------------------------- + +class LRItem(object): + def __init__(self, p, n): + self.name = p.name + self.prod = list(p.prod) + self.number = p.number + self.lr_index = n + self.lookaheads = {} + self.prod.insert(n, '.') + self.prod = tuple(self.prod) + self.len = len(self.prod) + self.usyms = p.usyms + + def __str__(self): + if self.prod: + s = '%s -> %s' % (self.name, ' '.join(self.prod)) + else: + s = '%s -> ' % self.name + return s + + def __repr__(self): + return 'LRItem(' + str(self) + ')' + +# ----------------------------------------------------------------------------- +# rightmost_terminal() +# +# Return the rightmost terminal from a list of symbols. Used in add_production() +# ----------------------------------------------------------------------------- +def rightmost_terminal(symbols, terminals): + i = len(symbols) - 1 + while i >= 0: + if symbols[i] in terminals: + return symbols[i] + i -= 1 + return None + +# ----------------------------------------------------------------------------- +# === GRAMMAR CLASS === +# +# The following class represents the contents of the specified grammar along +# with various computed properties such as first sets, follow sets, LR items, etc. +# This data is used for critical parts of the table generation process later. +# ----------------------------------------------------------------------------- + +class GrammarError(YaccError): + pass + +class Grammar(object): + def __init__(self, terminals): + self.Productions = [None] # A list of all of the productions. The first + # entry is always reserved for the purpose of + # building an augmented grammar + + self.Prodnames = {} # A dictionary mapping the names of nonterminals to a list of all + # productions of that nonterminal. + + self.Prodmap = {} # A dictionary that is only used to detect duplicate + # productions. + + self.Terminals = {} # A dictionary mapping the names of terminal symbols to a + # list of the rules where they are used. + + for term in terminals: + self.Terminals[term] = [] + + self.Terminals['error'] = [] + + self.Nonterminals = {} # A dictionary mapping names of nonterminals to a list + # of rule numbers where they are used. + + self.First = {} # A dictionary of precomputed FIRST(x) symbols + + self.Follow = {} # A dictionary of precomputed FOLLOW(x) symbols + + self.Precedence = {} # Precedence rules for each terminal. Contains tuples of the + # form ('right',level) or ('nonassoc', level) or ('left',level) + + self.UsedPrecedence = set() # Precedence rules that were actually used by the grammer. + # This is only used to provide error checking and to generate + # a warning about unused precedence rules. + + self.Start = None # Starting symbol for the grammar + + + def __len__(self): + return len(self.Productions) + + def __getitem__(self, index): + return self.Productions[index] + + # ----------------------------------------------------------------------------- + # set_precedence() + # + # Sets the precedence for a given terminal. assoc is the associativity such as + # 'left','right', or 'nonassoc'. level is a numeric level. + # + # ----------------------------------------------------------------------------- + + def set_precedence(self, term, assoc, level): + assert self.Productions == [None], 'Must call set_precedence() before add_production()' + if term in self.Precedence: + raise GrammarError('Precedence already specified for terminal %r' % term) + if assoc not in ['left', 'right', 'nonassoc']: + raise GrammarError("Associativity must be one of 'left','right', or 'nonassoc'") + self.Precedence[term] = (assoc, level) + + # ----------------------------------------------------------------------------- + # add_production() + # + # Given an action function, this function assembles a production rule and + # computes its precedence level. + # + # The production rule is supplied as a list of symbols. For example, + # a rule such as 'expr : expr PLUS term' has a production name of 'expr' and + # symbols ['expr','PLUS','term']. + # + # Precedence is determined by the precedence of the right-most non-terminal + # or the precedence of a terminal specified by %prec. + # + # A variety of error checks are performed to make sure production symbols + # are valid and that %prec is used correctly. + # ----------------------------------------------------------------------------- + + def add_production(self, prodname, syms, func=None, file='', line=0): + + if prodname in self.Terminals: + raise GrammarError('%s:%d: Illegal rule name %r. Already defined as a token' % (file, line, prodname)) + if prodname == 'error': + raise GrammarError('%s:%d: Illegal rule name %r. error is a reserved word' % (file, line, prodname)) + if not _is_identifier.match(prodname): + raise GrammarError('%s:%d: Illegal rule name %r' % (file, line, prodname)) + + # Look for literal tokens + for n, s in enumerate(syms): + if s[0] in "'\"": + try: + c = eval(s) + if (len(c) > 1): + raise GrammarError('%s:%d: Literal token %s in rule %r may only be a single character' % + (file, line, s, prodname)) + if c not in self.Terminals: + self.Terminals[c] = [] + syms[n] = c + continue + except SyntaxError: + pass + if not _is_identifier.match(s) and s != '%prec': + raise GrammarError('%s:%d: Illegal name %r in rule %r' % (file, line, s, prodname)) + + # Determine the precedence level + if '%prec' in syms: + if syms[-1] == '%prec': + raise GrammarError('%s:%d: Syntax error. Nothing follows %%prec' % (file, line)) + if syms[-2] != '%prec': + raise GrammarError('%s:%d: Syntax error. %%prec can only appear at the end of a grammar rule' % + (file, line)) + precname = syms[-1] + prodprec = self.Precedence.get(precname) + if not prodprec: + raise GrammarError('%s:%d: Nothing known about the precedence of %r' % (file, line, precname)) + else: + self.UsedPrecedence.add(precname) + del syms[-2:] # Drop %prec from the rule + else: + # If no %prec, precedence is determined by the rightmost terminal symbol + precname = rightmost_terminal(syms, self.Terminals) + prodprec = self.Precedence.get(precname, ('right', 0)) + + # See if the rule is already in the rulemap + map = '%s -> %s' % (prodname, syms) + if map in self.Prodmap: + m = self.Prodmap[map] + raise GrammarError('%s:%d: Duplicate rule %s. ' % (file, line, m) + + 'Previous definition at %s:%d' % (m.file, m.line)) + + # From this point on, everything is valid. Create a new Production instance + pnumber = len(self.Productions) + if prodname not in self.Nonterminals: + self.Nonterminals[prodname] = [] + + # Add the production number to Terminals and Nonterminals + for t in syms: + if t in self.Terminals: + self.Terminals[t].append(pnumber) + else: + if t not in self.Nonterminals: + self.Nonterminals[t] = [] + self.Nonterminals[t].append(pnumber) + + # Create a production and add it to the list of productions + p = Production(pnumber, prodname, syms, prodprec, func, file, line) + self.Productions.append(p) + self.Prodmap[map] = p + + # Add to the global productions list + try: + self.Prodnames[prodname].append(p) + except KeyError: + self.Prodnames[prodname] = [p] + + # ----------------------------------------------------------------------------- + # set_start() + # + # Sets the starting symbol and creates the augmented grammar. Production + # rule 0 is S' -> start where start is the start symbol. + # ----------------------------------------------------------------------------- + + def set_start(self, start=None): + if not start: + start = self.Productions[1].name + if start not in self.Nonterminals: + raise GrammarError('start symbol %s undefined' % start) + self.Productions[0] = Production(0, "S'", [start]) + self.Nonterminals[start].append(0) + self.Start = start + + # ----------------------------------------------------------------------------- + # find_unreachable() + # + # Find all of the nonterminal symbols that can't be reached from the starting + # symbol. Returns a list of nonterminals that can't be reached. + # ----------------------------------------------------------------------------- + + def find_unreachable(self): + + # Mark all symbols that are reachable from a symbol s + def mark_reachable_from(s): + if s in reachable: + return + reachable.add(s) + for p in self.Prodnames.get(s, []): + for r in p.prod: + mark_reachable_from(r) + + reachable = set() + mark_reachable_from(self.Productions[0].prod[0]) + return [s for s in self.Nonterminals if s not in reachable] + + # ----------------------------------------------------------------------------- + # infinite_cycles() + # + # This function looks at the various parsing rules and tries to detect + # infinite recursion cycles (grammar rules where there is no possible way + # to derive a string of only terminals). + # ----------------------------------------------------------------------------- + + def infinite_cycles(self): + terminates = {} + + # Terminals: + for t in self.Terminals: + terminates[t] = True + + terminates['$end'] = True + + # Nonterminals: + + # Initialize to false: + for n in self.Nonterminals: + terminates[n] = False + + # Then propagate termination until no change: + while True: + some_change = False + for (n, pl) in self.Prodnames.items(): + # Nonterminal n terminates iff any of its productions terminates. + for p in pl: + # Production p terminates iff all of its rhs symbols terminate. + for s in p.prod: + if not terminates[s]: + # The symbol s does not terminate, + # so production p does not terminate. + p_terminates = False + break + else: + # didn't break from the loop, + # so every symbol s terminates + # so production p terminates. + p_terminates = True + + if p_terminates: + # symbol n terminates! + if not terminates[n]: + terminates[n] = True + some_change = True + # Don't need to consider any more productions for this n. + break + + if not some_change: + break + + infinite = [] + for (s, term) in terminates.items(): + if not term: + if s not in self.Prodnames and s not in self.Terminals and s != 'error': + # s is used-but-not-defined, and we've already warned of that, + # so it would be overkill to say that it's also non-terminating. + pass + else: + infinite.append(s) + + return infinite + + # ----------------------------------------------------------------------------- + # undefined_symbols() + # + # Find all symbols that were used the grammar, but not defined as tokens or + # grammar rules. Returns a list of tuples (sym, prod) where sym in the symbol + # and prod is the production where the symbol was used. + # ----------------------------------------------------------------------------- + def undefined_symbols(self): + result = [] + for p in self.Productions: + if not p: + continue + + for s in p.prod: + if s not in self.Prodnames and s not in self.Terminals and s != 'error': + result.append((s, p)) + return result + + # ----------------------------------------------------------------------------- + # unused_terminals() + # + # Find all terminals that were defined, but not used by the grammar. Returns + # a list of all symbols. + # ----------------------------------------------------------------------------- + def unused_terminals(self): + unused_tok = [] + for s, v in self.Terminals.items(): + if s != 'error' and not v: + unused_tok.append(s) + + return unused_tok + + # ------------------------------------------------------------------------------ + # unused_rules() + # + # Find all grammar rules that were defined, but not used (maybe not reachable) + # Returns a list of productions. + # ------------------------------------------------------------------------------ + + def unused_rules(self): + unused_prod = [] + for s, v in self.Nonterminals.items(): + if not v: + p = self.Prodnames[s][0] + unused_prod.append(p) + return unused_prod + + # ----------------------------------------------------------------------------- + # unused_precedence() + # + # Returns a list of tuples (term,precedence) corresponding to precedence + # rules that were never used by the grammar. term is the name of the terminal + # on which precedence was applied and precedence is a string such as 'left' or + # 'right' corresponding to the type of precedence. + # ----------------------------------------------------------------------------- + + def unused_precedence(self): + unused = [] + for termname in self.Precedence: + if not (termname in self.Terminals or termname in self.UsedPrecedence): + unused.append((termname, self.Precedence[termname][0])) + + return unused + + # ------------------------------------------------------------------------- + # _first() + # + # Compute the value of FIRST1(beta) where beta is a tuple of symbols. + # + # During execution of compute_first1, the result may be incomplete. + # Afterward (e.g., when called from compute_follow()), it will be complete. + # ------------------------------------------------------------------------- + def _first(self, beta): + + # We are computing First(x1,x2,x3,...,xn) + result = [] + for x in beta: + x_produces_empty = False + + # Add all the non- symbols of First[x] to the result. + for f in self.First[x]: + if f == '': + x_produces_empty = True + else: + if f not in result: + result.append(f) + + if x_produces_empty: + # We have to consider the next x in beta, + # i.e. stay in the loop. + pass + else: + # We don't have to consider any further symbols in beta. + break + else: + # There was no 'break' from the loop, + # so x_produces_empty was true for all x in beta, + # so beta produces empty as well. + result.append('') + + return result + + # ------------------------------------------------------------------------- + # compute_first() + # + # Compute the value of FIRST1(X) for all symbols + # ------------------------------------------------------------------------- + def compute_first(self): + if self.First: + return self.First + + # Terminals: + for t in self.Terminals: + self.First[t] = [t] + + self.First['$end'] = ['$end'] + + # Nonterminals: + + # Initialize to the empty set: + for n in self.Nonterminals: + self.First[n] = [] + + # Then propagate symbols until no change: + while True: + some_change = False + for n in self.Nonterminals: + for p in self.Prodnames[n]: + for f in self._first(p.prod): + if f not in self.First[n]: + self.First[n].append(f) + some_change = True + if not some_change: + break + + return self.First + + # --------------------------------------------------------------------- + # compute_follow() + # + # Computes all of the follow sets for every non-terminal symbol. The + # follow set is the set of all symbols that might follow a given + # non-terminal. See the Dragon book, 2nd Ed. p. 189. + # --------------------------------------------------------------------- + def compute_follow(self, start=None): + # If already computed, return the result + if self.Follow: + return self.Follow + + # If first sets not computed yet, do that first. + if not self.First: + self.compute_first() + + # Add '$end' to the follow list of the start symbol + for k in self.Nonterminals: + self.Follow[k] = [] + + if not start: + start = self.Productions[1].name + + self.Follow[start] = ['$end'] + + while True: + didadd = False + for p in self.Productions[1:]: + # Here is the production set + for i, B in enumerate(p.prod): + if B in self.Nonterminals: + # Okay. We got a non-terminal in a production + fst = self._first(p.prod[i+1:]) + hasempty = False + for f in fst: + if f != '' and f not in self.Follow[B]: + self.Follow[B].append(f) + didadd = True + if f == '': + hasempty = True + if hasempty or i == (len(p.prod)-1): + # Add elements of follow(a) to follow(b) + for f in self.Follow[p.name]: + if f not in self.Follow[B]: + self.Follow[B].append(f) + didadd = True + if not didadd: + break + return self.Follow + + + # ----------------------------------------------------------------------------- + # build_lritems() + # + # This function walks the list of productions and builds a complete set of the + # LR items. The LR items are stored in two ways: First, they are uniquely + # numbered and placed in the list _lritems. Second, a linked list of LR items + # is built for each production. For example: + # + # E -> E PLUS E + # + # Creates the list + # + # [E -> . E PLUS E, E -> E . PLUS E, E -> E PLUS . E, E -> E PLUS E . ] + # ----------------------------------------------------------------------------- + + def build_lritems(self): + for p in self.Productions: + lastlri = p + i = 0 + lr_items = [] + while True: + if i > len(p): + lri = None + else: + lri = LRItem(p, i) + # Precompute the list of productions immediately following + try: + lri.lr_after = self.Prodnames[lri.prod[i+1]] + except (IndexError, KeyError): + lri.lr_after = [] + try: + lri.lr_before = lri.prod[i-1] + except IndexError: + lri.lr_before = None + + lastlri.lr_next = lri + if not lri: + break + lr_items.append(lri) + lastlri = lri + i += 1 + p.lr_items = lr_items + +# ----------------------------------------------------------------------------- +# == Class LRTable == +# +# This basic class represents a basic table of LR parsing information. +# Methods for generating the tables are not defined here. They are defined +# in the derived class LRGeneratedTable. +# ----------------------------------------------------------------------------- + +class VersionError(YaccError): + pass + +class LRTable(object): + def __init__(self): + self.lr_action = None + self.lr_goto = None + self.lr_productions = None + self.lr_method = None + + def read_table(self, module): + if isinstance(module, types.ModuleType): + parsetab = module + else: + exec('import %s' % module) + parsetab = sys.modules[module] + + if parsetab._tabversion != __tabversion__: + raise VersionError('yacc table file version is out of date') + + self.lr_action = parsetab._lr_action + self.lr_goto = parsetab._lr_goto + + self.lr_productions = [] + for p in parsetab._lr_productions: + self.lr_productions.append(MiniProduction(*p)) + + self.lr_method = parsetab._lr_method + return parsetab._lr_signature + + def read_pickle(self, filename): + try: + import cPickle as pickle + except ImportError: + import pickle + + if not os.path.exists(filename): + raise ImportError + + in_f = open(filename, 'rb') + + tabversion = pickle.load(in_f) + if tabversion != __tabversion__: + raise VersionError('yacc table file version is out of date') + self.lr_method = pickle.load(in_f) + signature = pickle.load(in_f) + self.lr_action = pickle.load(in_f) + self.lr_goto = pickle.load(in_f) + productions = pickle.load(in_f) + + self.lr_productions = [] + for p in productions: + self.lr_productions.append(MiniProduction(*p)) + + in_f.close() + return signature + + # Bind all production function names to callable objects in pdict + def bind_callables(self, pdict): + for p in self.lr_productions: + p.bind(pdict) + + +# ----------------------------------------------------------------------------- +# === LR Generator === +# +# The following classes and functions are used to generate LR parsing tables on +# a grammar. +# ----------------------------------------------------------------------------- + +# ----------------------------------------------------------------------------- +# digraph() +# traverse() +# +# The following two functions are used to compute set valued functions +# of the form: +# +# F(x) = F'(x) U U{F(y) | x R y} +# +# This is used to compute the values of Read() sets as well as FOLLOW sets +# in LALR(1) generation. +# +# Inputs: X - An input set +# R - A relation +# FP - Set-valued function +# ------------------------------------------------------------------------------ + +def digraph(X, R, FP): + N = {} + for x in X: + N[x] = 0 + stack = [] + F = {} + for x in X: + if N[x] == 0: + traverse(x, N, stack, F, X, R, FP) + return F + +def traverse(x, N, stack, F, X, R, FP): + stack.append(x) + d = len(stack) + N[x] = d + F[x] = FP(x) # F(X) <- F'(x) + + rel = R(x) # Get y's related to x + for y in rel: + if N[y] == 0: + traverse(y, N, stack, F, X, R, FP) + N[x] = min(N[x], N[y]) + for a in F.get(y, []): + if a not in F[x]: + F[x].append(a) + if N[x] == d: + N[stack[-1]] = MAXINT + F[stack[-1]] = F[x] + element = stack.pop() + while element != x: + N[stack[-1]] = MAXINT + F[stack[-1]] = F[x] + element = stack.pop() + +class LALRError(YaccError): + pass + +# ----------------------------------------------------------------------------- +# == LRGeneratedTable == +# +# This class implements the LR table generation algorithm. There are no +# public methods except for write() +# ----------------------------------------------------------------------------- + +class LRGeneratedTable(LRTable): + def __init__(self, grammar, method='LALR', log=None): + if method not in ['SLR', 'LALR']: + raise LALRError('Unsupported method %s' % method) + + self.grammar = grammar + self.lr_method = method + + # Set up the logger + if not log: + log = NullLogger() + self.log = log + + # Internal attributes + self.lr_action = {} # Action table + self.lr_goto = {} # Goto table + self.lr_productions = grammar.Productions # Copy of grammar Production array + self.lr_goto_cache = {} # Cache of computed gotos + self.lr0_cidhash = {} # Cache of closures + + self._add_count = 0 # Internal counter used to detect cycles + + # Diagonistic information filled in by the table generator + self.sr_conflict = 0 + self.rr_conflict = 0 + self.conflicts = [] # List of conflicts + + self.sr_conflicts = [] + self.rr_conflicts = [] + + # Build the tables + self.grammar.build_lritems() + self.grammar.compute_first() + self.grammar.compute_follow() + self.lr_parse_table() + + # Compute the LR(0) closure operation on I, where I is a set of LR(0) items. + + def lr0_closure(self, I): + self._add_count += 1 + + # Add everything in I to J + J = I[:] + didadd = True + while didadd: + didadd = False + for j in J: + for x in j.lr_after: + if getattr(x, 'lr0_added', 0) == self._add_count: + continue + # Add B --> .G to J + J.append(x.lr_next) + x.lr0_added = self._add_count + didadd = True + + return J + + # Compute the LR(0) goto function goto(I,X) where I is a set + # of LR(0) items and X is a grammar symbol. This function is written + # in a way that guarantees uniqueness of the generated goto sets + # (i.e. the same goto set will never be returned as two different Python + # objects). With uniqueness, we can later do fast set comparisons using + # id(obj) instead of element-wise comparison. + + def lr0_goto(self, I, x): + # First we look for a previously cached entry + g = self.lr_goto_cache.get((id(I), x)) + if g: + return g + + # Now we generate the goto set in a way that guarantees uniqueness + # of the result + + s = self.lr_goto_cache.get(x) + if not s: + s = {} + self.lr_goto_cache[x] = s + + gs = [] + for p in I: + n = p.lr_next + if n and n.lr_before == x: + s1 = s.get(id(n)) + if not s1: + s1 = {} + s[id(n)] = s1 + gs.append(n) + s = s1 + g = s.get('$end') + if not g: + if gs: + g = self.lr0_closure(gs) + s['$end'] = g + else: + s['$end'] = gs + self.lr_goto_cache[(id(I), x)] = g + return g + + # Compute the LR(0) sets of item function + def lr0_items(self): + C = [self.lr0_closure([self.grammar.Productions[0].lr_next])] + i = 0 + for I in C: + self.lr0_cidhash[id(I)] = i + i += 1 + + # Loop over the items in C and each grammar symbols + i = 0 + while i < len(C): + I = C[i] + i += 1 + + # Collect all of the symbols that could possibly be in the goto(I,X) sets + asyms = {} + for ii in I: + for s in ii.usyms: + asyms[s] = None + + for x in asyms: + g = self.lr0_goto(I, x) + if not g or id(g) in self.lr0_cidhash: + continue + self.lr0_cidhash[id(g)] = len(C) + C.append(g) + + return C + + # ----------------------------------------------------------------------------- + # ==== LALR(1) Parsing ==== + # + # LALR(1) parsing is almost exactly the same as SLR except that instead of + # relying upon Follow() sets when performing reductions, a more selective + # lookahead set that incorporates the state of the LR(0) machine is utilized. + # Thus, we mainly just have to focus on calculating the lookahead sets. + # + # The method used here is due to DeRemer and Pennelo (1982). + # + # DeRemer, F. L., and T. J. Pennelo: "Efficient Computation of LALR(1) + # Lookahead Sets", ACM Transactions on Programming Languages and Systems, + # Vol. 4, No. 4, Oct. 1982, pp. 615-649 + # + # Further details can also be found in: + # + # J. Tremblay and P. Sorenson, "The Theory and Practice of Compiler Writing", + # McGraw-Hill Book Company, (1985). + # + # ----------------------------------------------------------------------------- + + # ----------------------------------------------------------------------------- + # compute_nullable_nonterminals() + # + # Creates a dictionary containing all of the non-terminals that might produce + # an empty production. + # ----------------------------------------------------------------------------- + + def compute_nullable_nonterminals(self): + nullable = set() + num_nullable = 0 + while True: + for p in self.grammar.Productions[1:]: + if p.len == 0: + nullable.add(p.name) + continue + for t in p.prod: + if t not in nullable: + break + else: + nullable.add(p.name) + if len(nullable) == num_nullable: + break + num_nullable = len(nullable) + return nullable + + # ----------------------------------------------------------------------------- + # find_nonterminal_trans(C) + # + # Given a set of LR(0) items, this functions finds all of the non-terminal + # transitions. These are transitions in which a dot appears immediately before + # a non-terminal. Returns a list of tuples of the form (state,N) where state + # is the state number and N is the nonterminal symbol. + # + # The input C is the set of LR(0) items. + # ----------------------------------------------------------------------------- + + def find_nonterminal_transitions(self, C): + trans = [] + for stateno, state in enumerate(C): + for p in state: + if p.lr_index < p.len - 1: + t = (stateno, p.prod[p.lr_index+1]) + if t[1] in self.grammar.Nonterminals: + if t not in trans: + trans.append(t) + return trans + + # ----------------------------------------------------------------------------- + # dr_relation() + # + # Computes the DR(p,A) relationships for non-terminal transitions. The input + # is a tuple (state,N) where state is a number and N is a nonterminal symbol. + # + # Returns a list of terminals. + # ----------------------------------------------------------------------------- + + def dr_relation(self, C, trans, nullable): + dr_set = {} + state, N = trans + terms = [] + + g = self.lr0_goto(C[state], N) + for p in g: + if p.lr_index < p.len - 1: + a = p.prod[p.lr_index+1] + if a in self.grammar.Terminals: + if a not in terms: + terms.append(a) + + # This extra bit is to handle the start state + if state == 0 and N == self.grammar.Productions[0].prod[0]: + terms.append('$end') + + return terms + + # ----------------------------------------------------------------------------- + # reads_relation() + # + # Computes the READS() relation (p,A) READS (t,C). + # ----------------------------------------------------------------------------- + + def reads_relation(self, C, trans, empty): + # Look for empty transitions + rel = [] + state, N = trans + + g = self.lr0_goto(C[state], N) + j = self.lr0_cidhash.get(id(g), -1) + for p in g: + if p.lr_index < p.len - 1: + a = p.prod[p.lr_index + 1] + if a in empty: + rel.append((j, a)) + + return rel + + # ----------------------------------------------------------------------------- + # compute_lookback_includes() + # + # Determines the lookback and includes relations + # + # LOOKBACK: + # + # This relation is determined by running the LR(0) state machine forward. + # For example, starting with a production "N : . A B C", we run it forward + # to obtain "N : A B C ." We then build a relationship between this final + # state and the starting state. These relationships are stored in a dictionary + # lookdict. + # + # INCLUDES: + # + # Computes the INCLUDE() relation (p,A) INCLUDES (p',B). + # + # This relation is used to determine non-terminal transitions that occur + # inside of other non-terminal transition states. (p,A) INCLUDES (p', B) + # if the following holds: + # + # B -> LAT, where T -> epsilon and p' -L-> p + # + # L is essentially a prefix (which may be empty), T is a suffix that must be + # able to derive an empty string. State p' must lead to state p with the string L. + # + # ----------------------------------------------------------------------------- + + def compute_lookback_includes(self, C, trans, nullable): + lookdict = {} # Dictionary of lookback relations + includedict = {} # Dictionary of include relations + + # Make a dictionary of non-terminal transitions + dtrans = {} + for t in trans: + dtrans[t] = 1 + + # Loop over all transitions and compute lookbacks and includes + for state, N in trans: + lookb = [] + includes = [] + for p in C[state]: + if p.name != N: + continue + + # Okay, we have a name match. We now follow the production all the way + # through the state machine until we get the . on the right hand side + + lr_index = p.lr_index + j = state + while lr_index < p.len - 1: + lr_index = lr_index + 1 + t = p.prod[lr_index] + + # Check to see if this symbol and state are a non-terminal transition + if (j, t) in dtrans: + # Yes. Okay, there is some chance that this is an includes relation + # the only way to know for certain is whether the rest of the + # production derives empty + + li = lr_index + 1 + while li < p.len: + if p.prod[li] in self.grammar.Terminals: + break # No forget it + if p.prod[li] not in nullable: + break + li = li + 1 + else: + # Appears to be a relation between (j,t) and (state,N) + includes.append((j, t)) + + g = self.lr0_goto(C[j], t) # Go to next set + j = self.lr0_cidhash.get(id(g), -1) # Go to next state + + # When we get here, j is the final state, now we have to locate the production + for r in C[j]: + if r.name != p.name: + continue + if r.len != p.len: + continue + i = 0 + # This look is comparing a production ". A B C" with "A B C ." + while i < r.lr_index: + if r.prod[i] != p.prod[i+1]: + break + i = i + 1 + else: + lookb.append((j, r)) + for i in includes: + if i not in includedict: + includedict[i] = [] + includedict[i].append((state, N)) + lookdict[(state, N)] = lookb + + return lookdict, includedict + + # ----------------------------------------------------------------------------- + # compute_read_sets() + # + # Given a set of LR(0) items, this function computes the read sets. + # + # Inputs: C = Set of LR(0) items + # ntrans = Set of nonterminal transitions + # nullable = Set of empty transitions + # + # Returns a set containing the read sets + # ----------------------------------------------------------------------------- + + def compute_read_sets(self, C, ntrans, nullable): + FP = lambda x: self.dr_relation(C, x, nullable) + R = lambda x: self.reads_relation(C, x, nullable) + F = digraph(ntrans, R, FP) + return F + + # ----------------------------------------------------------------------------- + # compute_follow_sets() + # + # Given a set of LR(0) items, a set of non-terminal transitions, a readset, + # and an include set, this function computes the follow sets + # + # Follow(p,A) = Read(p,A) U U {Follow(p',B) | (p,A) INCLUDES (p',B)} + # + # Inputs: + # ntrans = Set of nonterminal transitions + # readsets = Readset (previously computed) + # inclsets = Include sets (previously computed) + # + # Returns a set containing the follow sets + # ----------------------------------------------------------------------------- + + def compute_follow_sets(self, ntrans, readsets, inclsets): + FP = lambda x: readsets[x] + R = lambda x: inclsets.get(x, []) + F = digraph(ntrans, R, FP) + return F + + # ----------------------------------------------------------------------------- + # add_lookaheads() + # + # Attaches the lookahead symbols to grammar rules. + # + # Inputs: lookbacks - Set of lookback relations + # followset - Computed follow set + # + # This function directly attaches the lookaheads to productions contained + # in the lookbacks set + # ----------------------------------------------------------------------------- + + def add_lookaheads(self, lookbacks, followset): + for trans, lb in lookbacks.items(): + # Loop over productions in lookback + for state, p in lb: + if state not in p.lookaheads: + p.lookaheads[state] = [] + f = followset.get(trans, []) + for a in f: + if a not in p.lookaheads[state]: + p.lookaheads[state].append(a) + + # ----------------------------------------------------------------------------- + # add_lalr_lookaheads() + # + # This function does all of the work of adding lookahead information for use + # with LALR parsing + # ----------------------------------------------------------------------------- + + def add_lalr_lookaheads(self, C): + # Determine all of the nullable nonterminals + nullable = self.compute_nullable_nonterminals() + + # Find all non-terminal transitions + trans = self.find_nonterminal_transitions(C) + + # Compute read sets + readsets = self.compute_read_sets(C, trans, nullable) + + # Compute lookback/includes relations + lookd, included = self.compute_lookback_includes(C, trans, nullable) + + # Compute LALR FOLLOW sets + followsets = self.compute_follow_sets(trans, readsets, included) + + # Add all of the lookaheads + self.add_lookaheads(lookd, followsets) + + # ----------------------------------------------------------------------------- + # lr_parse_table() + # + # This function constructs the parse tables for SLR or LALR + # ----------------------------------------------------------------------------- + def lr_parse_table(self): + Productions = self.grammar.Productions + Precedence = self.grammar.Precedence + goto = self.lr_goto # Goto array + action = self.lr_action # Action array + log = self.log # Logger for output + + actionp = {} # Action production array (temporary) + + log.info('Parsing method: %s', self.lr_method) + + # Step 1: Construct C = { I0, I1, ... IN}, collection of LR(0) items + # This determines the number of states + + C = self.lr0_items() + + if self.lr_method == 'LALR': + self.add_lalr_lookaheads(C) + + # Build the parser table, state by state + st = 0 + for I in C: + # Loop over each production in I + actlist = [] # List of actions + st_action = {} + st_actionp = {} + st_goto = {} + log.info('') + log.info('state %d', st) + log.info('') + for p in I: + log.info(' (%d) %s', p.number, p) + log.info('') + + for p in I: + if p.len == p.lr_index + 1: + if p.name == "S'": + # Start symbol. Accept! + st_action['$end'] = 0 + st_actionp['$end'] = p + else: + # We are at the end of a production. Reduce! + if self.lr_method == 'LALR': + laheads = p.lookaheads[st] + else: + laheads = self.grammar.Follow[p.name] + for a in laheads: + actlist.append((a, p, 'reduce using rule %d (%s)' % (p.number, p))) + r = st_action.get(a) + if r is not None: + # Whoa. Have a shift/reduce or reduce/reduce conflict + if r > 0: + # Need to decide on shift or reduce here + # By default we favor shifting. Need to add + # some precedence rules here. + + # Shift precedence comes from the token + sprec, slevel = Precedence.get(a, ('right', 0)) + + # Reduce precedence comes from rule being reduced (p) + rprec, rlevel = Productions[p.number].prec + + if (slevel < rlevel) or ((slevel == rlevel) and (rprec == 'left')): + # We really need to reduce here. + st_action[a] = -p.number + st_actionp[a] = p + if not slevel and not rlevel: + log.info(' ! shift/reduce conflict for %s resolved as reduce', a) + self.sr_conflicts.append((st, a, 'reduce')) + Productions[p.number].reduced += 1 + elif (slevel == rlevel) and (rprec == 'nonassoc'): + st_action[a] = None + else: + # Hmmm. Guess we'll keep the shift + if not rlevel: + log.info(' ! shift/reduce conflict for %s resolved as shift', a) + self.sr_conflicts.append((st, a, 'shift')) + elif r < 0: + # Reduce/reduce conflict. In this case, we favor the rule + # that was defined first in the grammar file + oldp = Productions[-r] + pp = Productions[p.number] + if oldp.line > pp.line: + st_action[a] = -p.number + st_actionp[a] = p + chosenp, rejectp = pp, oldp + Productions[p.number].reduced += 1 + Productions[oldp.number].reduced -= 1 + else: + chosenp, rejectp = oldp, pp + self.rr_conflicts.append((st, chosenp, rejectp)) + log.info(' ! reduce/reduce conflict for %s resolved using rule %d (%s)', + a, st_actionp[a].number, st_actionp[a]) + else: + raise LALRError('Unknown conflict in state %d' % st) + else: + st_action[a] = -p.number + st_actionp[a] = p + Productions[p.number].reduced += 1 + else: + i = p.lr_index + a = p.prod[i+1] # Get symbol right after the "." + if a in self.grammar.Terminals: + g = self.lr0_goto(I, a) + j = self.lr0_cidhash.get(id(g), -1) + if j >= 0: + # We are in a shift state + actlist.append((a, p, 'shift and go to state %d' % j)) + r = st_action.get(a) + if r is not None: + # Whoa have a shift/reduce or shift/shift conflict + if r > 0: + if r != j: + raise LALRError('Shift/shift conflict in state %d' % st) + elif r < 0: + # Do a precedence check. + # - if precedence of reduce rule is higher, we reduce. + # - if precedence of reduce is same and left assoc, we reduce. + # - otherwise we shift + + # Shift precedence comes from the token + sprec, slevel = Precedence.get(a, ('right', 0)) + + # Reduce precedence comes from the rule that could have been reduced + rprec, rlevel = Productions[st_actionp[a].number].prec + + if (slevel > rlevel) or ((slevel == rlevel) and (rprec == 'right')): + # We decide to shift here... highest precedence to shift + Productions[st_actionp[a].number].reduced -= 1 + st_action[a] = j + st_actionp[a] = p + if not rlevel: + log.info(' ! shift/reduce conflict for %s resolved as shift', a) + self.sr_conflicts.append((st, a, 'shift')) + elif (slevel == rlevel) and (rprec == 'nonassoc'): + st_action[a] = None + else: + # Hmmm. Guess we'll keep the reduce + if not slevel and not rlevel: + log.info(' ! shift/reduce conflict for %s resolved as reduce', a) + self.sr_conflicts.append((st, a, 'reduce')) + + else: + raise LALRError('Unknown conflict in state %d' % st) + else: + st_action[a] = j + st_actionp[a] = p + + # Print the actions associated with each terminal + _actprint = {} + for a, p, m in actlist: + if a in st_action: + if p is st_actionp[a]: + log.info(' %-15s %s', a, m) + _actprint[(a, m)] = 1 + log.info('') + # Print the actions that were not used. (debugging) + not_used = 0 + for a, p, m in actlist: + if a in st_action: + if p is not st_actionp[a]: + if not (a, m) in _actprint: + log.debug(' ! %-15s [ %s ]', a, m) + not_used = 1 + _actprint[(a, m)] = 1 + if not_used: + log.debug('') + + # Construct the goto table for this state + + nkeys = {} + for ii in I: + for s in ii.usyms: + if s in self.grammar.Nonterminals: + nkeys[s] = None + for n in nkeys: + g = self.lr0_goto(I, n) + j = self.lr0_cidhash.get(id(g), -1) + if j >= 0: + st_goto[n] = j + log.info(' %-30s shift and go to state %d', n, j) + + action[st] = st_action + actionp[st] = st_actionp + goto[st] = st_goto + st += 1 + + # ----------------------------------------------------------------------------- + # write() + # + # This function writes the LR parsing tables to a file + # ----------------------------------------------------------------------------- + + def write_table(self, tabmodule, outputdir='', signature=''): + if isinstance(tabmodule, types.ModuleType): + raise IOError("Won't overwrite existing tabmodule") + + basemodulename = tabmodule.split('.')[-1] + filename = os.path.join(outputdir, basemodulename) + '.py' + try: + f = open(filename, 'w') + + f.write(''' +# %s +# This file is automatically generated. Do not edit. +_tabversion = %r + +_lr_method = %r + +_lr_signature = %r + ''' % (os.path.basename(filename), __tabversion__, self.lr_method, signature)) + + # Change smaller to 0 to go back to original tables + smaller = 1 + + # Factor out names to try and make smaller + if smaller: + items = {} + + for s, nd in self.lr_action.items(): + for name, v in nd.items(): + i = items.get(name) + if not i: + i = ([], []) + items[name] = i + i[0].append(s) + i[1].append(v) + + f.write('\n_lr_action_items = {') + for k, v in items.items(): + f.write('%r:([' % k) + for i in v[0]: + f.write('%r,' % i) + f.write('],[') + for i in v[1]: + f.write('%r,' % i) + + f.write(']),') + f.write('}\n') + + f.write(''' +_lr_action = {} +for _k, _v in _lr_action_items.items(): + for _x,_y in zip(_v[0],_v[1]): + if not _x in _lr_action: _lr_action[_x] = {} + _lr_action[_x][_k] = _y +del _lr_action_items +''') + + else: + f.write('\n_lr_action = { ') + for k, v in self.lr_action.items(): + f.write('(%r,%r):%r,' % (k[0], k[1], v)) + f.write('}\n') + + if smaller: + # Factor out names to try and make smaller + items = {} + + for s, nd in self.lr_goto.items(): + for name, v in nd.items(): + i = items.get(name) + if not i: + i = ([], []) + items[name] = i + i[0].append(s) + i[1].append(v) + + f.write('\n_lr_goto_items = {') + for k, v in items.items(): + f.write('%r:([' % k) + for i in v[0]: + f.write('%r,' % i) + f.write('],[') + for i in v[1]: + f.write('%r,' % i) + + f.write(']),') + f.write('}\n') + + f.write(''' +_lr_goto = {} +for _k, _v in _lr_goto_items.items(): + for _x, _y in zip(_v[0], _v[1]): + if not _x in _lr_goto: _lr_goto[_x] = {} + _lr_goto[_x][_k] = _y +del _lr_goto_items +''') + else: + f.write('\n_lr_goto = { ') + for k, v in self.lr_goto.items(): + f.write('(%r,%r):%r,' % (k[0], k[1], v)) + f.write('}\n') + + # Write production table + f.write('_lr_productions = [\n') + for p in self.lr_productions: + if p.func: + f.write(' (%r,%r,%d,%r,%r,%d),\n' % (p.str, p.name, p.len, + p.func, os.path.basename(p.file), p.line)) + else: + f.write(' (%r,%r,%d,None,None,None),\n' % (str(p), p.name, p.len)) + f.write(']\n') + f.close() + + except IOError as e: + raise + + + # ----------------------------------------------------------------------------- + # pickle_table() + # + # This function pickles the LR parsing tables to a supplied file object + # ----------------------------------------------------------------------------- + + def pickle_table(self, filename, signature=''): + try: + import cPickle as pickle + except ImportError: + import pickle + with open(filename, 'wb') as outf: + pickle.dump(__tabversion__, outf, pickle_protocol) + pickle.dump(self.lr_method, outf, pickle_protocol) + pickle.dump(signature, outf, pickle_protocol) + pickle.dump(self.lr_action, outf, pickle_protocol) + pickle.dump(self.lr_goto, outf, pickle_protocol) + + outp = [] + for p in self.lr_productions: + if p.func: + outp.append((p.str, p.name, p.len, p.func, os.path.basename(p.file), p.line)) + else: + outp.append((str(p), p.name, p.len, None, None, None)) + pickle.dump(outp, outf, pickle_protocol) + +# ----------------------------------------------------------------------------- +# === INTROSPECTION === +# +# The following functions and classes are used to implement the PLY +# introspection features followed by the yacc() function itself. +# ----------------------------------------------------------------------------- + +# ----------------------------------------------------------------------------- +# get_caller_module_dict() +# +# This function returns a dictionary containing all of the symbols defined within +# a caller further down the call stack. This is used to get the environment +# associated with the yacc() call if none was provided. +# ----------------------------------------------------------------------------- + +def get_caller_module_dict(levels): + f = sys._getframe(levels) + ldict = f.f_globals.copy() + if f.f_globals != f.f_locals: + ldict.update(f.f_locals) + return ldict + +# ----------------------------------------------------------------------------- +# parse_grammar() +# +# This takes a raw grammar rule string and parses it into production data +# ----------------------------------------------------------------------------- +def parse_grammar(doc, file, line): + grammar = [] + # Split the doc string into lines + pstrings = doc.splitlines() + lastp = None + dline = line + for ps in pstrings: + dline += 1 + p = ps.split() + if not p: + continue + try: + if p[0] == '|': + # This is a continuation of a previous rule + if not lastp: + raise SyntaxError("%s:%d: Misplaced '|'" % (file, dline)) + prodname = lastp + syms = p[1:] + else: + prodname = p[0] + lastp = prodname + syms = p[2:] + assign = p[1] + if assign != ':' and assign != '::=': + raise SyntaxError("%s:%d: Syntax error. Expected ':'" % (file, dline)) + + grammar.append((file, dline, prodname, syms)) + except SyntaxError: + raise + except Exception: + raise SyntaxError('%s:%d: Syntax error in rule %r' % (file, dline, ps.strip())) + + return grammar + +# ----------------------------------------------------------------------------- +# ParserReflect() +# +# This class represents information extracted for building a parser including +# start symbol, error function, tokens, precedence list, action functions, +# etc. +# ----------------------------------------------------------------------------- +class ParserReflect(object): + def __init__(self, pdict, log=None): + self.pdict = pdict + self.start = None + self.error_func = None + self.tokens = None + self.modules = set() + self.grammar = [] + self.error = False + + if log is None: + self.log = PlyLogger(sys.stderr) + else: + self.log = log + + # Get all of the basic information + def get_all(self): + self.get_start() + self.get_error_func() + self.get_tokens() + self.get_precedence() + self.get_pfunctions() + + # Validate all of the information + def validate_all(self): + self.validate_start() + self.validate_error_func() + self.validate_tokens() + self.validate_precedence() + self.validate_pfunctions() + self.validate_modules() + return self.error + + # Compute a signature over the grammar + def signature(self): + parts = [] + try: + if self.start: + parts.append(self.start) + if self.prec: + parts.append(''.join([''.join(p) for p in self.prec])) + if self.tokens: + parts.append(' '.join(self.tokens)) + for f in self.pfuncs: + if f[3]: + parts.append(f[3]) + except (TypeError, ValueError): + pass + return ''.join(parts) + + # ----------------------------------------------------------------------------- + # validate_modules() + # + # This method checks to see if there are duplicated p_rulename() functions + # in the parser module file. Without this function, it is really easy for + # users to make mistakes by cutting and pasting code fragments (and it's a real + # bugger to try and figure out why the resulting parser doesn't work). Therefore, + # we just do a little regular expression pattern matching of def statements + # to try and detect duplicates. + # ----------------------------------------------------------------------------- + + def validate_modules(self): + # Match def p_funcname( + fre = re.compile(r'\s*def\s+(p_[a-zA-Z_0-9]*)\(') + + for module in self.modules: + try: + lines, linen = inspect.getsourcelines(module) + except IOError: + continue + + counthash = {} + for linen, line in enumerate(lines): + linen += 1 + m = fre.match(line) + if m: + name = m.group(1) + prev = counthash.get(name) + if not prev: + counthash[name] = linen + else: + filename = inspect.getsourcefile(module) + self.log.warning('%s:%d: Function %s redefined. Previously defined on line %d', + filename, linen, name, prev) + + # Get the start symbol + def get_start(self): + self.start = self.pdict.get('start') + + # Validate the start symbol + def validate_start(self): + if self.start is not None: + if not isinstance(self.start, string_types): + self.log.error("'start' must be a string") + + # Look for error handler + def get_error_func(self): + self.error_func = self.pdict.get('p_error') + + # Validate the error function + def validate_error_func(self): + if self.error_func: + if isinstance(self.error_func, types.FunctionType): + ismethod = 0 + elif isinstance(self.error_func, types.MethodType): + ismethod = 1 + else: + self.log.error("'p_error' defined, but is not a function or method") + self.error = True + return + + eline = self.error_func.__code__.co_firstlineno + efile = self.error_func.__code__.co_filename + module = inspect.getmodule(self.error_func) + self.modules.add(module) + + argcount = self.error_func.__code__.co_argcount - ismethod + if argcount != 1: + self.log.error('%s:%d: p_error() requires 1 argument', efile, eline) + self.error = True + + # Get the tokens map + def get_tokens(self): + tokens = self.pdict.get('tokens') + if not tokens: + self.log.error('No token list is defined') + self.error = True + return + + if not isinstance(tokens, (list, tuple)): + self.log.error('tokens must be a list or tuple') + self.error = True + return + + if not tokens: + self.log.error('tokens is empty') + self.error = True + return + + self.tokens = tokens + + # Validate the tokens + def validate_tokens(self): + # Validate the tokens. + if 'error' in self.tokens: + self.log.error("Illegal token name 'error'. Is a reserved word") + self.error = True + return + + terminals = set() + for n in self.tokens: + if n in terminals: + self.log.warning('Token %r multiply defined', n) + terminals.add(n) + + # Get the precedence map (if any) + def get_precedence(self): + self.prec = self.pdict.get('precedence') + + # Validate and parse the precedence map + def validate_precedence(self): + preclist = [] + if self.prec: + if not isinstance(self.prec, (list, tuple)): + self.log.error('precedence must be a list or tuple') + self.error = True + return + for level, p in enumerate(self.prec): + if not isinstance(p, (list, tuple)): + self.log.error('Bad precedence table') + self.error = True + return + + if len(p) < 2: + self.log.error('Malformed precedence entry %s. Must be (assoc, term, ..., term)', p) + self.error = True + return + assoc = p[0] + if not isinstance(assoc, string_types): + self.log.error('precedence associativity must be a string') + self.error = True + return + for term in p[1:]: + if not isinstance(term, string_types): + self.log.error('precedence items must be strings') + self.error = True + return + preclist.append((term, assoc, level+1)) + self.preclist = preclist + + # Get all p_functions from the grammar + def get_pfunctions(self): + p_functions = [] + for name, item in self.pdict.items(): + if not name.startswith('p_') or name == 'p_error': + continue + if isinstance(item, (types.FunctionType, types.MethodType)): + line = getattr(item, 'co_firstlineno', item.__code__.co_firstlineno) + module = inspect.getmodule(item) + p_functions.append((line, module, name, item.__doc__)) + + # Sort all of the actions by line number; make sure to stringify + # modules to make them sortable, since `line` may not uniquely sort all + # p functions + p_functions.sort(key=lambda p_function: ( + p_function[0], + str(p_function[1]), + p_function[2], + p_function[3])) + self.pfuncs = p_functions + + # Validate all of the p_functions + def validate_pfunctions(self): + grammar = [] + # Check for non-empty symbols + if len(self.pfuncs) == 0: + self.log.error('no rules of the form p_rulename are defined') + self.error = True + return + + for line, module, name, doc in self.pfuncs: + file = inspect.getsourcefile(module) + func = self.pdict[name] + if isinstance(func, types.MethodType): + reqargs = 2 + else: + reqargs = 1 + if func.__code__.co_argcount > reqargs: + self.log.error('%s:%d: Rule %r has too many arguments', file, line, func.__name__) + self.error = True + elif func.__code__.co_argcount < reqargs: + self.log.error('%s:%d: Rule %r requires an argument', file, line, func.__name__) + self.error = True + elif not func.__doc__: + self.log.warning('%s:%d: No documentation string specified in function %r (ignored)', + file, line, func.__name__) + else: + try: + parsed_g = parse_grammar(doc, file, line) + for g in parsed_g: + grammar.append((name, g)) + except SyntaxError as e: + self.log.error(str(e)) + self.error = True + + # Looks like a valid grammar rule + # Mark the file in which defined. + self.modules.add(module) + + # Secondary validation step that looks for p_ definitions that are not functions + # or functions that look like they might be grammar rules. + + for n, v in self.pdict.items(): + if n.startswith('p_') and isinstance(v, (types.FunctionType, types.MethodType)): + continue + if n.startswith('t_'): + continue + if n.startswith('p_') and n != 'p_error': + self.log.warning('%r not defined as a function', n) + if ((isinstance(v, types.FunctionType) and v.__code__.co_argcount == 1) or + (isinstance(v, types.MethodType) and v.__func__.__code__.co_argcount == 2)): + if v.__doc__: + try: + doc = v.__doc__.split(' ') + if doc[1] == ':': + self.log.warning('%s:%d: Possible grammar rule %r defined without p_ prefix', + v.__code__.co_filename, v.__code__.co_firstlineno, n) + except IndexError: + pass + + self.grammar = grammar + +# ----------------------------------------------------------------------------- +# yacc(module) +# +# Build a parser +# ----------------------------------------------------------------------------- + +def yacc(method='LALR', debug=yaccdebug, module=None, tabmodule=tab_module, start=None, + check_recursion=True, optimize=False, write_tables=True, debugfile=debug_file, + outputdir=None, debuglog=None, errorlog=None, picklefile=None): + + if tabmodule is None: + tabmodule = tab_module + + # Reference to the parsing method of the last built parser + global parse + + # If pickling is enabled, table files are not created + if picklefile: + write_tables = 0 + + if errorlog is None: + errorlog = PlyLogger(sys.stderr) + + # Get the module dictionary used for the parser + if module: + _items = [(k, getattr(module, k)) for k in dir(module)] + pdict = dict(_items) + # If no __file__ attribute is available, try to obtain it from the __module__ instead + if '__file__' not in pdict: + pdict['__file__'] = sys.modules[pdict['__module__']].__file__ + else: + pdict = get_caller_module_dict(2) + + if outputdir is None: + # If no output directory is set, the location of the output files + # is determined according to the following rules: + # - If tabmodule specifies a package, files go into that package directory + # - Otherwise, files go in the same directory as the specifying module + if isinstance(tabmodule, types.ModuleType): + srcfile = tabmodule.__file__ + else: + if '.' not in tabmodule: + srcfile = pdict['__file__'] + else: + parts = tabmodule.split('.') + pkgname = '.'.join(parts[:-1]) + exec('import %s' % pkgname) + srcfile = getattr(sys.modules[pkgname], '__file__', '') + outputdir = os.path.dirname(srcfile) + + # Determine if the module is package of a package or not. + # If so, fix the tabmodule setting so that tables load correctly + pkg = pdict.get('__package__') + if pkg and isinstance(tabmodule, str): + if '.' not in tabmodule: + tabmodule = pkg + '.' + tabmodule + + + + # Set start symbol if it's specified directly using an argument + if start is not None: + pdict['start'] = start + + # Collect parser information from the dictionary + pinfo = ParserReflect(pdict, log=errorlog) + pinfo.get_all() + + if pinfo.error: + raise YaccError('Unable to build parser') + + # Check signature against table files (if any) + signature = pinfo.signature() + + # Read the tables + try: + lr = LRTable() + if picklefile: + read_signature = lr.read_pickle(picklefile) + else: + read_signature = lr.read_table(tabmodule) + if optimize or (read_signature == signature): + try: + lr.bind_callables(pinfo.pdict) + parser = LRParser(lr, pinfo.error_func) + parse = parser.parse + return parser + except Exception as e: + errorlog.warning('There was a problem loading the table file: %r', e) + except VersionError as e: + errorlog.warning(str(e)) + except ImportError: + pass + + if debuglog is None: + if debug: + try: + debuglog = PlyLogger(open(os.path.join(outputdir, debugfile), 'w')) + except IOError as e: + errorlog.warning("Couldn't open %r. %s" % (debugfile, e)) + debuglog = NullLogger() + else: + debuglog = NullLogger() + + debuglog.info('Created by PLY version %s (http://www.dabeaz.com/ply)', __version__) + + errors = False + + # Validate the parser information + if pinfo.validate_all(): + raise YaccError('Unable to build parser') + + if not pinfo.error_func: + errorlog.warning('no p_error() function is defined') + + # Create a grammar object + grammar = Grammar(pinfo.tokens) + + # Set precedence level for terminals + for term, assoc, level in pinfo.preclist: + try: + grammar.set_precedence(term, assoc, level) + except GrammarError as e: + errorlog.warning('%s', e) + + # Add productions to the grammar + for funcname, gram in pinfo.grammar: + file, line, prodname, syms = gram + try: + grammar.add_production(prodname, syms, funcname, file, line) + except GrammarError as e: + errorlog.error('%s', e) + errors = True + + # Set the grammar start symbols + try: + if start is None: + grammar.set_start(pinfo.start) + else: + grammar.set_start(start) + except GrammarError as e: + errorlog.error(str(e)) + errors = True + + if errors: + raise YaccError('Unable to build parser') + + # Verify the grammar structure + undefined_symbols = grammar.undefined_symbols() + for sym, prod in undefined_symbols: + errorlog.error('%s:%d: Symbol %r used, but not defined as a token or a rule', prod.file, prod.line, sym) + errors = True + + unused_terminals = grammar.unused_terminals() + if unused_terminals: + debuglog.info('') + debuglog.info('Unused terminals:') + debuglog.info('') + for term in unused_terminals: + errorlog.warning('Token %r defined, but not used', term) + debuglog.info(' %s', term) + + # Print out all productions to the debug log + if debug: + debuglog.info('') + debuglog.info('Grammar') + debuglog.info('') + for n, p in enumerate(grammar.Productions): + debuglog.info('Rule %-5d %s', n, p) + + # Find unused non-terminals + unused_rules = grammar.unused_rules() + for prod in unused_rules: + errorlog.warning('%s:%d: Rule %r defined, but not used', prod.file, prod.line, prod.name) + + if len(unused_terminals) == 1: + errorlog.warning('There is 1 unused token') + if len(unused_terminals) > 1: + errorlog.warning('There are %d unused tokens', len(unused_terminals)) + + if len(unused_rules) == 1: + errorlog.warning('There is 1 unused rule') + if len(unused_rules) > 1: + errorlog.warning('There are %d unused rules', len(unused_rules)) + + if debug: + debuglog.info('') + debuglog.info('Terminals, with rules where they appear') + debuglog.info('') + terms = list(grammar.Terminals) + terms.sort() + for term in terms: + debuglog.info('%-20s : %s', term, ' '.join([str(s) for s in grammar.Terminals[term]])) + + debuglog.info('') + debuglog.info('Nonterminals, with rules where they appear') + debuglog.info('') + nonterms = list(grammar.Nonterminals) + nonterms.sort() + for nonterm in nonterms: + debuglog.info('%-20s : %s', nonterm, ' '.join([str(s) for s in grammar.Nonterminals[nonterm]])) + debuglog.info('') + + if check_recursion: + unreachable = grammar.find_unreachable() + for u in unreachable: + errorlog.warning('Symbol %r is unreachable', u) + + infinite = grammar.infinite_cycles() + for inf in infinite: + errorlog.error('Infinite recursion detected for symbol %r', inf) + errors = True + + unused_prec = grammar.unused_precedence() + for term, assoc in unused_prec: + errorlog.error('Precedence rule %r defined for unknown symbol %r', assoc, term) + errors = True + + if errors: + raise YaccError('Unable to build parser') + + # Run the LRGeneratedTable on the grammar + if debug: + errorlog.debug('Generating %s tables', method) + + lr = LRGeneratedTable(grammar, method, debuglog) + + if debug: + num_sr = len(lr.sr_conflicts) + + # Report shift/reduce and reduce/reduce conflicts + if num_sr == 1: + errorlog.warning('1 shift/reduce conflict') + elif num_sr > 1: + errorlog.warning('%d shift/reduce conflicts', num_sr) + + num_rr = len(lr.rr_conflicts) + if num_rr == 1: + errorlog.warning('1 reduce/reduce conflict') + elif num_rr > 1: + errorlog.warning('%d reduce/reduce conflicts', num_rr) + + # Write out conflicts to the output file + if debug and (lr.sr_conflicts or lr.rr_conflicts): + debuglog.warning('') + debuglog.warning('Conflicts:') + debuglog.warning('') + + for state, tok, resolution in lr.sr_conflicts: + debuglog.warning('shift/reduce conflict for %s in state %d resolved as %s', tok, state, resolution) + + already_reported = set() + for state, rule, rejected in lr.rr_conflicts: + if (state, id(rule), id(rejected)) in already_reported: + continue + debuglog.warning('reduce/reduce conflict in state %d resolved using rule (%s)', state, rule) + debuglog.warning('rejected rule (%s) in state %d', rejected, state) + errorlog.warning('reduce/reduce conflict in state %d resolved using rule (%s)', state, rule) + errorlog.warning('rejected rule (%s) in state %d', rejected, state) + already_reported.add((state, id(rule), id(rejected))) + + warned_never = [] + for state, rule, rejected in lr.rr_conflicts: + if not rejected.reduced and (rejected not in warned_never): + debuglog.warning('Rule (%s) is never reduced', rejected) + errorlog.warning('Rule (%s) is never reduced', rejected) + warned_never.append(rejected) + + # Write the table file if requested + if write_tables: + try: + lr.write_table(tabmodule, outputdir, signature) + except IOError as e: + errorlog.warning("Couldn't create %r. %s" % (tabmodule, e)) + + # Write a pickled version of the tables + if picklefile: + try: + lr.pickle_table(picklefile, signature) + except IOError as e: + errorlog.warning("Couldn't create %r. %s" % (picklefile, e)) + + # Build the parser + lr.bind_callables(pinfo.pdict) + parser = LRParser(lr, pinfo.error_func) + + parse = parser.parse + return parser diff --git a/.venv/lib/python3.11/site-packages/pycparser/ply/ygen.py b/.venv/lib/python3.11/site-packages/pycparser/ply/ygen.py new file mode 100644 index 0000000000000000000000000000000000000000..acf5ca1a37b69389256227c570c65eed96e3228e --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/ply/ygen.py @@ -0,0 +1,74 @@ +# ply: ygen.py +# +# This is a support program that auto-generates different versions of the YACC parsing +# function with different features removed for the purposes of performance. +# +# Users should edit the method LParser.parsedebug() in yacc.py. The source code +# for that method is then used to create the other methods. See the comments in +# yacc.py for further details. + +import os.path +import shutil + +def get_source_range(lines, tag): + srclines = enumerate(lines) + start_tag = '#--! %s-start' % tag + end_tag = '#--! %s-end' % tag + + for start_index, line in srclines: + if line.strip().startswith(start_tag): + break + + for end_index, line in srclines: + if line.strip().endswith(end_tag): + break + + return (start_index + 1, end_index) + +def filter_section(lines, tag): + filtered_lines = [] + include = True + tag_text = '#--! %s' % tag + for line in lines: + if line.strip().startswith(tag_text): + include = not include + elif include: + filtered_lines.append(line) + return filtered_lines + +def main(): + dirname = os.path.dirname(__file__) + shutil.copy2(os.path.join(dirname, 'yacc.py'), os.path.join(dirname, 'yacc.py.bak')) + with open(os.path.join(dirname, 'yacc.py'), 'r') as f: + lines = f.readlines() + + parse_start, parse_end = get_source_range(lines, 'parsedebug') + parseopt_start, parseopt_end = get_source_range(lines, 'parseopt') + parseopt_notrack_start, parseopt_notrack_end = get_source_range(lines, 'parseopt-notrack') + + # Get the original source + orig_lines = lines[parse_start:parse_end] + + # Filter the DEBUG sections out + parseopt_lines = filter_section(orig_lines, 'DEBUG') + + # Filter the TRACKING sections out + parseopt_notrack_lines = filter_section(parseopt_lines, 'TRACKING') + + # Replace the parser source sections with updated versions + lines[parseopt_notrack_start:parseopt_notrack_end] = parseopt_notrack_lines + lines[parseopt_start:parseopt_end] = parseopt_lines + + lines = [line.rstrip()+'\n' for line in lines] + with open(os.path.join(dirname, 'yacc.py'), 'w') as f: + f.writelines(lines) + + print('Updated yacc.py') + +if __name__ == '__main__': + main() + + + + + diff --git a/.venv/lib/python3.11/site-packages/pycparser/plyparser.py b/.venv/lib/python3.11/site-packages/pycparser/plyparser.py new file mode 100644 index 0000000000000000000000000000000000000000..b8f4c4395ea7ed07572aeb3a9d9064c0373b504b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/plyparser.py @@ -0,0 +1,133 @@ +#----------------------------------------------------------------- +# plyparser.py +# +# PLYParser class and other utilities for simplifying programming +# parsers with PLY +# +# Eli Bendersky [https://eli.thegreenplace.net/] +# License: BSD +#----------------------------------------------------------------- + +import warnings + +class Coord(object): + """ Coordinates of a syntactic element. Consists of: + - File name + - Line number + - (optional) column number, for the Lexer + """ + __slots__ = ('file', 'line', 'column', '__weakref__') + def __init__(self, file, line, column=None): + self.file = file + self.line = line + self.column = column + + def __str__(self): + str = "%s:%s" % (self.file, self.line) + if self.column: str += ":%s" % self.column + return str + + +class ParseError(Exception): pass + + +class PLYParser(object): + def _create_opt_rule(self, rulename): + """ Given a rule name, creates an optional ply.yacc rule + for it. The name of the optional rule is + _opt + """ + optname = rulename + '_opt' + + def optrule(self, p): + p[0] = p[1] + + optrule.__doc__ = '%s : empty\n| %s' % (optname, rulename) + optrule.__name__ = 'p_%s' % optname + setattr(self.__class__, optrule.__name__, optrule) + + def _coord(self, lineno, column=None): + return Coord( + file=self.clex.filename, + line=lineno, + column=column) + + def _token_coord(self, p, token_idx): + """ Returns the coordinates for the YaccProduction object 'p' indexed + with 'token_idx'. The coordinate includes the 'lineno' and + 'column'. Both follow the lex semantic, starting from 1. + """ + last_cr = p.lexer.lexer.lexdata.rfind('\n', 0, p.lexpos(token_idx)) + if last_cr < 0: + last_cr = -1 + column = (p.lexpos(token_idx) - (last_cr)) + return self._coord(p.lineno(token_idx), column) + + def _parse_error(self, msg, coord): + raise ParseError("%s: %s" % (coord, msg)) + + +def parameterized(*params): + """ Decorator to create parameterized rules. + + Parameterized rule methods must be named starting with 'p_' and contain + 'xxx', and their docstrings may contain 'xxx' and 'yyy'. These will be + replaced by the given parameter tuples. For example, ``p_xxx_rule()`` with + docstring 'xxx_rule : yyy' when decorated with + ``@parameterized(('id', 'ID'))`` produces ``p_id_rule()`` with the docstring + 'id_rule : ID'. Using multiple tuples produces multiple rules. + """ + def decorate(rule_func): + rule_func._params = params + return rule_func + return decorate + + +def template(cls): + """ Class decorator to generate rules from parameterized rule templates. + + See `parameterized` for more information on parameterized rules. + """ + issued_nodoc_warning = False + for attr_name in dir(cls): + if attr_name.startswith('p_'): + method = getattr(cls, attr_name) + if hasattr(method, '_params'): + # Remove the template method + delattr(cls, attr_name) + # Create parameterized rules from this method; only run this if + # the method has a docstring. This is to address an issue when + # pycparser's users are installed in -OO mode which strips + # docstrings away. + # See: https://github.com/eliben/pycparser/pull/198/ and + # https://github.com/eliben/pycparser/issues/197 + # for discussion. + if method.__doc__ is not None: + _create_param_rules(cls, method) + elif not issued_nodoc_warning: + warnings.warn( + 'parsing methods must have __doc__ for pycparser to work properly', + RuntimeWarning, + stacklevel=2) + issued_nodoc_warning = True + return cls + + +def _create_param_rules(cls, func): + """ Create ply.yacc rules based on a parameterized rule function + + Generates new methods (one per each pair of parameters) based on the + template rule function `func`, and attaches them to `cls`. The rule + function's parameters must be accessible via its `_params` attribute. + """ + for xxx, yyy in func._params: + # Use the template method's body for each new method + def param_rule(self, p): + func(self, p) + + # Substitute in the params for the grammar rule and function name + param_rule.__doc__ = func.__doc__.replace('xxx', xxx).replace('yyy', yyy) + param_rule.__name__ = func.__name__.replace('xxx', xxx) + + # Attach the new method to the class + setattr(cls, param_rule.__name__, param_rule) diff --git a/.venv/lib/python3.11/site-packages/pycparser/yacctab.py b/.venv/lib/python3.11/site-packages/pycparser/yacctab.py new file mode 100644 index 0000000000000000000000000000000000000000..68b14660887561f90702ac091fe44366e12ba319 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/pycparser/yacctab.py @@ -0,0 +1,369 @@ + +# yacctab.py +# This file is automatically generated. Do not edit. +_tabversion = '3.10' + +_lr_method = 'LALR' + +_lr_signature = 'translation_unit_or_emptyleftLORleftLANDleftORleftXORleftANDleftEQNEleftGTGELTLEleftRSHIFTLSHIFTleftPLUSMINUSleftTIMESDIVIDEMODAUTO BREAK CASE CHAR CONST CONTINUE DEFAULT DO DOUBLE ELSE ENUM EXTERN FLOAT FOR GOTO IF INLINE INT LONG REGISTER OFFSETOF RESTRICT RETURN SHORT SIGNED SIZEOF STATIC STRUCT SWITCH TYPEDEF UNION UNSIGNED VOID VOLATILE WHILE __INT128 _BOOL _COMPLEX _NORETURN _THREAD_LOCAL _STATIC_ASSERT _ATOMIC _ALIGNOF _ALIGNAS _PRAGMA ID TYPEID INT_CONST_DEC INT_CONST_OCT INT_CONST_HEX INT_CONST_BIN INT_CONST_CHAR FLOAT_CONST HEX_FLOAT_CONST CHAR_CONST WCHAR_CONST U8CHAR_CONST U16CHAR_CONST U32CHAR_CONST STRING_LITERAL WSTRING_LITERAL U8STRING_LITERAL U16STRING_LITERAL U32STRING_LITERAL PLUS MINUS TIMES DIVIDE MOD OR AND NOT XOR LSHIFT RSHIFT LOR LAND LNOT LT LE GT GE EQ NE EQUALS TIMESEQUAL DIVEQUAL MODEQUAL PLUSEQUAL MINUSEQUAL LSHIFTEQUAL RSHIFTEQUAL ANDEQUAL XOREQUAL OREQUAL PLUSPLUS MINUSMINUS ARROW CONDOP LPAREN RPAREN LBRACKET RBRACKET LBRACE RBRACE COMMA PERIOD SEMI COLON ELLIPSIS PPHASH PPPRAGMA PPPRAGMASTRabstract_declarator_opt : empty\n| abstract_declaratorassignment_expression_opt : empty\n| assignment_expressionblock_item_list_opt : empty\n| block_item_listdeclaration_list_opt : empty\n| declaration_listdeclaration_specifiers_no_type_opt : empty\n| declaration_specifiers_no_typedesignation_opt : empty\n| designationexpression_opt : empty\n| expressionid_init_declarator_list_opt : empty\n| id_init_declarator_listidentifier_list_opt : empty\n| identifier_listinit_declarator_list_opt : empty\n| init_declarator_listinitializer_list_opt : empty\n| initializer_listparameter_type_list_opt : empty\n| parameter_type_liststruct_declarator_list_opt : empty\n| struct_declarator_listtype_qualifier_list_opt : empty\n| type_qualifier_list direct_id_declarator : ID\n direct_id_declarator : LPAREN id_declarator RPAREN\n direct_id_declarator : direct_id_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET\n direct_id_declarator : direct_id_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET\n | direct_id_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET\n direct_id_declarator : direct_id_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET\n direct_id_declarator : direct_id_declarator LPAREN parameter_type_list RPAREN\n | direct_id_declarator LPAREN identifier_list_opt RPAREN\n direct_typeid_declarator : TYPEID\n direct_typeid_declarator : LPAREN typeid_declarator RPAREN\n direct_typeid_declarator : direct_typeid_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET\n direct_typeid_declarator : direct_typeid_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET\n | direct_typeid_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET\n direct_typeid_declarator : direct_typeid_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET\n direct_typeid_declarator : direct_typeid_declarator LPAREN parameter_type_list RPAREN\n | direct_typeid_declarator LPAREN identifier_list_opt RPAREN\n direct_typeid_noparen_declarator : TYPEID\n direct_typeid_noparen_declarator : direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET\n direct_typeid_noparen_declarator : direct_typeid_noparen_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET\n | direct_typeid_noparen_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET\n direct_typeid_noparen_declarator : direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET\n direct_typeid_noparen_declarator : direct_typeid_noparen_declarator LPAREN parameter_type_list RPAREN\n | direct_typeid_noparen_declarator LPAREN identifier_list_opt RPAREN\n id_declarator : direct_id_declarator\n id_declarator : pointer direct_id_declarator\n typeid_declarator : direct_typeid_declarator\n typeid_declarator : pointer direct_typeid_declarator\n typeid_noparen_declarator : direct_typeid_noparen_declarator\n typeid_noparen_declarator : pointer direct_typeid_noparen_declarator\n translation_unit_or_empty : translation_unit\n | empty\n translation_unit : external_declaration\n translation_unit : translation_unit external_declaration\n external_declaration : function_definition\n external_declaration : declaration\n external_declaration : pp_directive\n | pppragma_directive\n external_declaration : SEMI\n external_declaration : static_assert\n static_assert : _STATIC_ASSERT LPAREN constant_expression COMMA unified_string_literal RPAREN\n | _STATIC_ASSERT LPAREN constant_expression RPAREN\n pp_directive : PPHASH\n pppragma_directive : PPPRAGMA\n | PPPRAGMA PPPRAGMASTR\n | _PRAGMA LPAREN unified_string_literal RPAREN\n pppragma_directive_list : pppragma_directive\n | pppragma_directive_list pppragma_directive\n function_definition : id_declarator declaration_list_opt compound_statement\n function_definition : declaration_specifiers id_declarator declaration_list_opt compound_statement\n statement : labeled_statement\n | expression_statement\n | compound_statement\n | selection_statement\n | iteration_statement\n | jump_statement\n | pppragma_directive\n | static_assert\n pragmacomp_or_statement : pppragma_directive_list statement\n | statement\n decl_body : declaration_specifiers init_declarator_list_opt\n | declaration_specifiers_no_type id_init_declarator_list_opt\n declaration : decl_body SEMI\n declaration_list : declaration\n | declaration_list declaration\n declaration_specifiers_no_type : type_qualifier declaration_specifiers_no_type_opt\n declaration_specifiers_no_type : storage_class_specifier declaration_specifiers_no_type_opt\n declaration_specifiers_no_type : function_specifier declaration_specifiers_no_type_opt\n declaration_specifiers_no_type : atomic_specifier declaration_specifiers_no_type_opt\n declaration_specifiers_no_type : alignment_specifier declaration_specifiers_no_type_opt\n declaration_specifiers : declaration_specifiers type_qualifier\n declaration_specifiers : declaration_specifiers storage_class_specifier\n declaration_specifiers : declaration_specifiers function_specifier\n declaration_specifiers : declaration_specifiers type_specifier_no_typeid\n declaration_specifiers : type_specifier\n declaration_specifiers : declaration_specifiers_no_type type_specifier\n declaration_specifiers : declaration_specifiers alignment_specifier\n storage_class_specifier : AUTO\n | REGISTER\n | STATIC\n | EXTERN\n | TYPEDEF\n | _THREAD_LOCAL\n function_specifier : INLINE\n | _NORETURN\n type_specifier_no_typeid : VOID\n | _BOOL\n | CHAR\n | SHORT\n | INT\n | LONG\n | FLOAT\n | DOUBLE\n | _COMPLEX\n | SIGNED\n | UNSIGNED\n | __INT128\n type_specifier : typedef_name\n | enum_specifier\n | struct_or_union_specifier\n | type_specifier_no_typeid\n | atomic_specifier\n atomic_specifier : _ATOMIC LPAREN type_name RPAREN\n type_qualifier : CONST\n | RESTRICT\n | VOLATILE\n | _ATOMIC\n init_declarator_list : init_declarator\n | init_declarator_list COMMA init_declarator\n init_declarator : declarator\n | declarator EQUALS initializer\n id_init_declarator_list : id_init_declarator\n | id_init_declarator_list COMMA init_declarator\n id_init_declarator : id_declarator\n | id_declarator EQUALS initializer\n specifier_qualifier_list : specifier_qualifier_list type_specifier_no_typeid\n specifier_qualifier_list : specifier_qualifier_list type_qualifier\n specifier_qualifier_list : type_specifier\n specifier_qualifier_list : type_qualifier_list type_specifier\n specifier_qualifier_list : alignment_specifier\n specifier_qualifier_list : specifier_qualifier_list alignment_specifier\n struct_or_union_specifier : struct_or_union ID\n | struct_or_union TYPEID\n struct_or_union_specifier : struct_or_union brace_open struct_declaration_list brace_close\n | struct_or_union brace_open brace_close\n struct_or_union_specifier : struct_or_union ID brace_open struct_declaration_list brace_close\n | struct_or_union ID brace_open brace_close\n | struct_or_union TYPEID brace_open struct_declaration_list brace_close\n | struct_or_union TYPEID brace_open brace_close\n struct_or_union : STRUCT\n | UNION\n struct_declaration_list : struct_declaration\n | struct_declaration_list struct_declaration\n struct_declaration : specifier_qualifier_list struct_declarator_list_opt SEMI\n struct_declaration : SEMI\n struct_declaration : pppragma_directive\n struct_declarator_list : struct_declarator\n | struct_declarator_list COMMA struct_declarator\n struct_declarator : declarator\n struct_declarator : declarator COLON constant_expression\n | COLON constant_expression\n enum_specifier : ENUM ID\n | ENUM TYPEID\n enum_specifier : ENUM brace_open enumerator_list brace_close\n enum_specifier : ENUM ID brace_open enumerator_list brace_close\n | ENUM TYPEID brace_open enumerator_list brace_close\n enumerator_list : enumerator\n | enumerator_list COMMA\n | enumerator_list COMMA enumerator\n alignment_specifier : _ALIGNAS LPAREN type_name RPAREN\n | _ALIGNAS LPAREN constant_expression RPAREN\n enumerator : ID\n | ID EQUALS constant_expression\n declarator : id_declarator\n | typeid_declarator\n pointer : TIMES type_qualifier_list_opt\n | TIMES type_qualifier_list_opt pointer\n type_qualifier_list : type_qualifier\n | type_qualifier_list type_qualifier\n parameter_type_list : parameter_list\n | parameter_list COMMA ELLIPSIS\n parameter_list : parameter_declaration\n | parameter_list COMMA parameter_declaration\n parameter_declaration : declaration_specifiers id_declarator\n | declaration_specifiers typeid_noparen_declarator\n parameter_declaration : declaration_specifiers abstract_declarator_opt\n identifier_list : identifier\n | identifier_list COMMA identifier\n initializer : assignment_expression\n initializer : brace_open initializer_list_opt brace_close\n | brace_open initializer_list COMMA brace_close\n initializer_list : designation_opt initializer\n | initializer_list COMMA designation_opt initializer\n designation : designator_list EQUALS\n designator_list : designator\n | designator_list designator\n designator : LBRACKET constant_expression RBRACKET\n | PERIOD identifier\n type_name : specifier_qualifier_list abstract_declarator_opt\n abstract_declarator : pointer\n abstract_declarator : pointer direct_abstract_declarator\n abstract_declarator : direct_abstract_declarator\n direct_abstract_declarator : LPAREN abstract_declarator RPAREN direct_abstract_declarator : direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKET\n direct_abstract_declarator : LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET\n direct_abstract_declarator : direct_abstract_declarator LBRACKET TIMES RBRACKET\n direct_abstract_declarator : LBRACKET TIMES RBRACKET\n direct_abstract_declarator : direct_abstract_declarator LPAREN parameter_type_list_opt RPAREN\n direct_abstract_declarator : LPAREN parameter_type_list_opt RPAREN\n block_item : declaration\n | statement\n block_item_list : block_item\n | block_item_list block_item\n compound_statement : brace_open block_item_list_opt brace_close labeled_statement : ID COLON pragmacomp_or_statement labeled_statement : CASE constant_expression COLON pragmacomp_or_statement labeled_statement : DEFAULT COLON pragmacomp_or_statement selection_statement : IF LPAREN expression RPAREN pragmacomp_or_statement selection_statement : IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statement selection_statement : SWITCH LPAREN expression RPAREN pragmacomp_or_statement iteration_statement : WHILE LPAREN expression RPAREN pragmacomp_or_statement iteration_statement : DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMI iteration_statement : FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement iteration_statement : FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement jump_statement : GOTO ID SEMI jump_statement : BREAK SEMI jump_statement : CONTINUE SEMI jump_statement : RETURN expression SEMI\n | RETURN SEMI\n expression_statement : expression_opt SEMI expression : assignment_expression\n | expression COMMA assignment_expression\n assignment_expression : LPAREN compound_statement RPAREN typedef_name : TYPEID assignment_expression : conditional_expression\n | unary_expression assignment_operator assignment_expression\n assignment_operator : EQUALS\n | XOREQUAL\n | TIMESEQUAL\n | DIVEQUAL\n | MODEQUAL\n | PLUSEQUAL\n | MINUSEQUAL\n | LSHIFTEQUAL\n | RSHIFTEQUAL\n | ANDEQUAL\n | OREQUAL\n constant_expression : conditional_expression conditional_expression : binary_expression\n | binary_expression CONDOP expression COLON conditional_expression\n binary_expression : cast_expression\n | binary_expression TIMES binary_expression\n | binary_expression DIVIDE binary_expression\n | binary_expression MOD binary_expression\n | binary_expression PLUS binary_expression\n | binary_expression MINUS binary_expression\n | binary_expression RSHIFT binary_expression\n | binary_expression LSHIFT binary_expression\n | binary_expression LT binary_expression\n | binary_expression LE binary_expression\n | binary_expression GE binary_expression\n | binary_expression GT binary_expression\n | binary_expression EQ binary_expression\n | binary_expression NE binary_expression\n | binary_expression AND binary_expression\n | binary_expression OR binary_expression\n | binary_expression XOR binary_expression\n | binary_expression LAND binary_expression\n | binary_expression LOR binary_expression\n cast_expression : unary_expression cast_expression : LPAREN type_name RPAREN cast_expression unary_expression : postfix_expression unary_expression : PLUSPLUS unary_expression\n | MINUSMINUS unary_expression\n | unary_operator cast_expression\n unary_expression : SIZEOF unary_expression\n | SIZEOF LPAREN type_name RPAREN\n | _ALIGNOF LPAREN type_name RPAREN\n unary_operator : AND\n | TIMES\n | PLUS\n | MINUS\n | NOT\n | LNOT\n postfix_expression : primary_expression postfix_expression : postfix_expression LBRACKET expression RBRACKET postfix_expression : postfix_expression LPAREN argument_expression_list RPAREN\n | postfix_expression LPAREN RPAREN\n postfix_expression : postfix_expression PERIOD ID\n | postfix_expression PERIOD TYPEID\n | postfix_expression ARROW ID\n | postfix_expression ARROW TYPEID\n postfix_expression : postfix_expression PLUSPLUS\n | postfix_expression MINUSMINUS\n postfix_expression : LPAREN type_name RPAREN brace_open initializer_list brace_close\n | LPAREN type_name RPAREN brace_open initializer_list COMMA brace_close\n primary_expression : identifier primary_expression : constant primary_expression : unified_string_literal\n | unified_wstring_literal\n primary_expression : LPAREN expression RPAREN primary_expression : OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPAREN\n offsetof_member_designator : identifier\n | offsetof_member_designator PERIOD identifier\n | offsetof_member_designator LBRACKET expression RBRACKET\n argument_expression_list : assignment_expression\n | argument_expression_list COMMA assignment_expression\n identifier : ID constant : INT_CONST_DEC\n | INT_CONST_OCT\n | INT_CONST_HEX\n | INT_CONST_BIN\n | INT_CONST_CHAR\n constant : FLOAT_CONST\n | HEX_FLOAT_CONST\n constant : CHAR_CONST\n | WCHAR_CONST\n | U8CHAR_CONST\n | U16CHAR_CONST\n | U32CHAR_CONST\n unified_string_literal : STRING_LITERAL\n | unified_string_literal STRING_LITERAL\n unified_wstring_literal : WSTRING_LITERAL\n | U8STRING_LITERAL\n | U16STRING_LITERAL\n | U32STRING_LITERAL\n | unified_wstring_literal WSTRING_LITERAL\n | unified_wstring_literal U8STRING_LITERAL\n | unified_wstring_literal U16STRING_LITERAL\n | unified_wstring_literal U32STRING_LITERAL\n brace_open : LBRACE\n brace_close : RBRACE\n empty : ' + +_lr_action_items = {'$end':([0,1,2,3,4,5,6,7,8,9,10,14,15,64,90,91,127,208,251,262,267,355,499,],[-340,0,-58,-59,-60,-62,-63,-64,-65,-66,-67,-70,-71,-61,-90,-72,-76,-339,-77,-73,-69,-221,-68,]),'SEMI':([0,2,4,5,6,7,8,9,10,12,13,14,15,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,69,70,71,72,73,74,75,76,77,78,79,81,83,84,85,86,87,88,89,90,91,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,117,118,119,121,122,123,124,127,128,130,132,139,140,143,144,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,203,204,205,206,207,208,209,210,211,212,214,220,221,222,223,224,225,226,227,228,229,230,231,232,233,236,239,242,245,246,247,248,249,250,251,252,253,254,255,262,263,267,291,292,293,295,296,297,300,301,302,303,311,312,326,327,330,333,334,335,336,337,338,339,340,341,342,343,344,345,346,348,349,353,354,355,356,357,358,360,361,369,370,371,372,373,374,375,376,377,403,404,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,439,440,459,460,463,464,465,468,469,470,471,473,475,479,480,481,482,483,484,485,486,493,494,497,499,501,502,505,506,508,509,522,523,524,525,526,527,529,530,531,535,536,538,552,553,554,555,556,558,561,563,570,571,574,579,580,582,584,585,586,],[9,9,-60,-62,-63,-64,-65,-66,-67,-340,90,-70,-71,-52,-340,-340,-340,-128,-102,-340,-340,-29,-107,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,-340,-340,-129,-134,-181,-98,-99,-100,-101,-104,-88,-134,-19,-20,-135,-137,-182,-54,-37,-90,-72,-53,-93,-9,-10,-340,-94,-95,-103,-89,-129,-15,-16,-139,-141,-97,-96,-169,-170,-338,-149,-150,210,-76,-340,-181,-55,-328,-30,-306,-255,-256,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,210,210,210,-152,-159,-339,-340,-162,-163,-145,-147,-13,-340,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-315,361,-14,-340,374,375,377,-238,-242,-277,-77,-38,-136,-138,-196,-73,-329,-69,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-35,-36,-140,-142,-171,210,-154,210,-156,-151,-160,465,-143,-144,-148,-25,-26,-164,-166,-146,-130,-177,-178,-221,-220,-13,-340,-340,-237,-340,-87,-74,-340,483,-233,-234,484,-236,-43,-44,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,-272,-273,-274,-275,-276,-295,-296,-297,-298,-299,-31,-34,-172,-173,-153,-155,-161,-168,-222,-340,-224,-240,-239,-86,-75,529,-340,-232,-235,-243,-197,-39,-42,-278,-68,-293,-294,-284,-285,-32,-33,-165,-167,-223,-340,-340,-340,-340,559,-198,-40,-41,-257,-225,-87,-74,-227,-228,572,-302,-309,-340,580,-303,-226,-229,-340,-340,-231,-230,]),'PPHASH':([0,2,4,5,6,7,8,9,10,14,15,64,90,91,127,208,251,262,267,355,499,],[14,14,-60,-62,-63,-64,-65,-66,-67,-70,-71,-61,-90,-72,-76,-339,-77,-73,-69,-221,-68,]),'PPPRAGMA':([0,2,4,5,6,7,8,9,10,14,15,64,90,91,121,124,127,128,203,204,205,207,208,210,211,221,222,223,224,225,226,227,228,229,230,231,232,242,251,262,267,333,335,338,355,356,358,360,361,369,370,371,374,375,377,465,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[15,15,-60,-62,-63,-64,-65,-66,-67,-70,-71,-61,-90,-72,-338,15,-76,15,15,15,15,-159,-339,-162,-163,15,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,15,-77,-73,-69,15,15,-160,-221,-220,15,15,-237,15,-87,-74,-233,-234,-236,-161,-222,15,-224,-86,-75,-232,-235,-68,-223,15,15,15,-225,-87,-74,-227,-228,15,-226,-229,15,15,-231,-230,]),'_PRAGMA':([0,2,4,5,6,7,8,9,10,14,15,64,90,91,121,124,127,128,203,204,205,207,208,210,211,221,222,223,224,225,226,227,228,229,230,231,232,242,251,262,267,333,335,338,355,356,358,360,361,369,370,371,374,375,377,465,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[16,16,-60,-62,-63,-64,-65,-66,-67,-70,-71,-61,-90,-72,-338,16,-76,16,16,16,16,-159,-339,-162,-163,16,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,16,-77,-73,-69,16,16,-160,-221,-220,16,16,-237,16,-87,-74,-233,-234,-236,-161,-222,16,-224,-86,-75,-232,-235,-68,-223,16,16,16,-225,-87,-74,-227,-228,16,-226,-229,16,16,-231,-230,]),'_STATIC_ASSERT':([0,2,4,5,6,7,8,9,10,14,15,64,90,91,121,127,128,208,221,222,223,224,225,226,227,228,229,230,231,232,242,251,262,267,355,356,358,360,361,369,370,371,374,375,377,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[18,18,-60,-62,-63,-64,-65,-66,-67,-70,-71,-61,-90,-72,-338,-76,18,-339,18,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,18,-77,-73,-69,-221,-220,18,18,-237,18,-87,-74,-233,-234,-236,-222,18,-224,-86,-75,-232,-235,-68,-223,18,18,18,-225,-87,-74,-227,-228,18,-226,-229,18,18,-231,-230,]),'ID':([0,2,4,5,6,7,8,9,10,12,14,15,17,20,21,22,23,24,25,26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,62,63,64,69,70,71,72,74,75,76,77,78,80,81,82,90,91,94,95,96,98,99,100,101,102,103,104,106,112,113,114,115,116,117,118,119,120,121,122,123,126,127,128,134,135,136,137,141,147,148,149,150,153,154,155,156,160,161,182,183,184,192,194,195,196,197,198,199,206,208,209,212,214,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,244,247,251,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,294,298,306,309,310,314,318,322,323,330,331,332,334,336,337,340,341,342,347,348,349,353,354,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,398,400,401,402,405,448,449,452,455,457,459,460,463,464,466,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,507,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,564,565,570,572,579,580,582,584,585,586,],[28,28,-60,-62,-63,-64,-65,-66,-67,28,-70,-71,28,28,-340,-340,-340,-128,-102,28,-340,-107,-340,-125,-126,-127,-129,-241,118,122,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-157,-158,-61,28,28,-129,-134,-98,-99,-100,-101,-104,28,-134,28,-90,-72,159,-340,159,-93,-9,-10,-340,-94,-95,-103,-129,-97,-183,-27,-28,-185,-96,-169,-170,202,-338,-149,-150,159,-76,233,28,159,-340,159,159,-287,-288,-289,-286,159,159,159,159,-290,-291,159,-340,-28,28,28,159,-184,-186,202,202,-152,-339,28,-145,-147,233,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,159,159,233,373,159,-77,-340,159,-340,-28,-73,-69,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,431,433,159,159,-287,159,159,159,28,28,-340,-171,202,159,-154,-156,-151,-143,-144,-148,159,-146,-130,-177,-178,-221,-220,233,233,-237,159,159,159,159,233,-87,-74,159,-233,-234,-236,159,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,159,-12,159,159,-287,159,159,159,-340,159,28,159,159,-172,-173,-153,-155,28,159,-222,233,-224,159,-86,-75,159,-232,-235,-340,-201,-340,-68,159,159,159,159,-340,-28,-287,-223,233,233,233,159,159,159,-11,-287,159,159,-225,-87,-74,-227,-228,159,-340,159,159,233,159,-226,-229,233,233,-231,-230,]),'LPAREN':([0,2,4,5,6,7,8,9,10,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,64,69,70,71,72,74,75,76,77,78,80,81,82,88,89,90,91,94,95,97,98,99,100,101,102,103,104,106,109,112,113,114,115,116,117,118,119,121,122,123,126,127,128,132,134,135,136,139,140,141,143,147,148,149,150,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,192,194,195,196,197,206,208,209,212,214,216,221,222,223,224,225,226,227,228,229,230,231,232,233,234,237,238,240,241,242,243,247,251,252,256,257,258,259,262,263,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,291,292,294,298,300,301,302,303,306,309,310,311,312,318,319,322,323,324,325,330,332,334,336,337,340,341,342,347,348,349,351,352,353,354,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,403,404,405,406,429,431,432,433,434,439,440,446,447,448,452,455,457,459,460,463,464,466,467,469,470,471,474,478,479,480,482,483,484,487,489,493,494,498,499,500,501,502,503,508,509,510,511,512,515,516,518,520,524,525,526,527,528,529,532,533,535,536,543,544,545,546,547,548,549,550,551,552,553,554,555,556,559,561,562,563,565,566,567,570,572,574,577,578,579,580,582,584,585,586,],[17,17,-60,-62,-63,-64,-65,-66,-67,82,-70,-71,92,17,94,96,17,-340,-340,-340,-128,-102,17,-340,-29,-107,-340,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,125,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,126,-61,82,17,-129,125,-98,-99,-100,-101,-104,82,-134,82,137,-37,-90,-72,141,-340,96,-93,-9,-10,-340,-94,-95,-103,-129,125,-97,-183,-27,-28,-185,-96,-169,-170,-338,-149,-150,141,-76,238,137,82,238,-340,-328,-30,238,-306,-287,-288,-289,-286,288,294,294,141,298,299,-292,-315,-290,-291,-304,-305,-307,304,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,238,-340,-28,322,82,238,-184,-186,-152,-339,82,-145,-147,351,238,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-315,141,362,238,366,367,238,372,238,-77,-38,-340,238,-340,-28,-73,-329,-69,238,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,238,238,-300,-301,238,238,-334,-335,-336,-337,-287,238,238,-35,-36,322,449,322,-340,-45,458,-171,141,-154,-156,-151,-143,-144,-148,141,-146,-130,351,351,-177,-178,-221,-220,238,238,-237,238,238,238,238,238,-87,-74,238,-233,-234,-236,238,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,238,-12,141,-287,238,238,-43,-44,141,-308,-295,-296,-297,-298,-299,-31,-34,449,458,-340,322,238,238,-172,-173,-153,-155,82,141,-222,238,-224,141,528,-86,-75,238,-232,-235,-340,-201,-39,-42,-340,-68,141,-293,-294,238,-32,-33,238,-340,-28,-210,-216,-214,-287,-223,238,238,238,238,238,238,-11,-40,-41,-287,238,238,-50,-51,-212,-211,-213,-215,-225,-87,-74,-227,-228,238,-302,-340,-309,238,-46,-49,238,238,-303,-47,-48,-226,-229,238,238,-231,-230,]),'TIMES':([0,2,4,5,6,7,8,9,10,12,14,15,17,21,22,23,24,25,26,27,29,30,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,69,70,71,72,74,75,76,77,78,81,82,90,91,94,95,98,99,100,101,102,103,104,106,112,113,114,115,116,117,118,119,121,122,123,126,127,128,134,135,136,139,141,143,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,192,194,195,197,206,208,209,212,214,216,221,222,223,224,225,226,227,228,229,230,231,232,233,234,238,242,247,250,251,256,257,258,259,262,263,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,291,292,293,294,295,296,297,298,300,301,302,303,306,309,310,322,323,330,332,334,336,337,340,341,342,347,348,349,351,353,354,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,448,455,457,459,460,463,464,466,467,469,470,471,474,479,480,482,483,484,487,489,497,498,499,500,501,502,503,505,506,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,561,562,563,565,570,572,574,579,580,582,584,585,586,],[30,30,-60,-62,-63,-64,-65,-66,-67,30,-70,-71,30,-340,-340,-340,-128,-102,30,-340,-107,-340,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,30,30,-129,-134,-98,-99,-100,-101,-104,-134,30,-90,-72,147,-340,-93,-9,-10,-340,-94,-95,-103,-129,-97,30,-27,-28,-185,-96,-169,-170,-338,-149,-150,147,-76,147,30,147,-340,-328,147,-306,269,-258,-287,-288,-289,-286,-277,-279,147,147,147,147,-292,-315,-290,-291,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,306,-340,-28,30,30,147,-186,-152,-339,30,-145,-147,30,147,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-315,147,147,147,147,-277,-77,-340,400,-340,-28,-73,-329,-69,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,-300,-301,-280,147,-281,-282,-283,147,-334,-335,-336,-337,-287,147,147,30,456,-171,147,-154,-156,-151,-143,-144,-148,147,-146,-130,30,-177,-178,-221,-220,147,147,-237,147,147,147,147,147,-87,-74,147,-233,-234,-236,147,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,147,-12,147,-287,147,147,147,-308,-259,-260,-261,269,269,269,269,269,269,269,269,269,269,269,269,269,269,269,-295,-296,-297,-298,-299,-340,147,520,-172,-173,-153,-155,30,147,-222,147,-224,147,-86,-75,147,-232,-235,-340,-201,-278,-340,-68,147,-293,-294,147,-284,-285,543,-340,-28,-287,-223,147,147,147,147,147,147,-11,-287,147,147,-225,-87,-74,-227,-228,147,-302,-340,-309,147,147,147,-303,-226,-229,147,147,-231,-230,]),'TYPEID':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,62,63,64,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,90,91,96,97,98,99,100,101,102,103,104,106,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,134,137,140,141,192,193,194,196,197,203,204,205,206,207,208,209,210,211,212,213,214,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,289,290,294,298,299,304,311,312,313,318,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,466,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[35,35,-60,-62,-63,-64,-65,-66,-67,35,89,-70,-71,-52,-340,-340,-340,-128,-102,35,-340,-29,-107,-340,-125,-126,-127,-129,-241,119,123,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-157,-158,-61,35,-91,89,35,-129,-134,35,-98,-99,-100,-101,-104,89,-134,89,-90,-72,35,-53,-93,-9,-10,-340,-94,-95,-103,-129,-97,-183,-27,-28,-185,-96,-169,-170,-338,-149,-150,35,35,35,-76,35,-92,89,35,-30,35,324,35,89,-184,-186,35,35,35,-152,-159,-339,89,-162,-163,-145,35,-147,35,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,35,-77,-73,-69,432,434,35,35,35,35,-35,-36,35,324,35,-171,35,-154,35,-156,-151,-160,-143,-144,-148,-146,-130,35,-177,-178,-221,-220,-237,-87,-84,35,-233,-234,-236,-31,-34,35,35,-172,-173,-153,-155,-161,89,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'ENUM':([0,2,4,5,6,7,8,9,10,11,14,15,19,21,22,23,26,27,28,29,34,50,51,52,53,54,55,56,57,58,59,60,64,67,68,70,71,72,73,90,91,96,97,98,99,100,101,102,103,112,116,117,121,124,125,126,127,128,129,137,140,141,193,197,203,204,205,207,208,210,211,213,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,333,335,338,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[36,36,-60,-62,-63,-64,-65,-66,-67,36,-70,-71,-52,-340,-340,-340,36,-340,-29,-107,-340,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,36,-91,36,-340,-134,36,-90,-72,36,-53,-93,-9,-10,-340,-94,-95,-97,-185,-96,-338,36,36,36,-76,36,-92,36,-30,36,36,-186,36,36,36,-159,-339,-162,-163,36,36,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,36,-77,-73,-69,36,36,36,36,-35,-36,36,36,36,36,-160,-130,36,-177,-178,-221,-220,-237,-87,-84,36,-233,-234,-236,-31,-34,36,36,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'VOID':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,70,71,72,73,74,75,76,77,78,81,90,91,96,97,98,99,100,101,102,103,104,106,112,116,117,118,119,121,122,123,124,125,126,127,128,129,137,140,141,192,193,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[38,38,-60,-62,-63,-64,-65,-66,-67,38,38,-70,-71,-52,-340,-340,-340,-128,-102,38,-340,-29,-107,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,38,-91,38,38,-129,-134,38,-98,-99,-100,-101,-104,-134,-90,-72,38,-53,-93,-9,-10,-340,-94,-95,-103,-129,-97,-185,-96,-169,-170,-338,-149,-150,38,38,38,-76,38,-92,38,-30,38,38,38,-186,38,38,38,-152,-159,-339,38,-162,-163,-145,38,-147,38,38,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,38,-77,-73,-69,38,38,38,38,-35,-36,38,38,-171,38,-154,38,-156,-151,-160,-143,-144,-148,-146,-130,38,-177,-178,-221,-220,-237,-87,-84,38,-233,-234,-236,-31,-34,38,38,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'_BOOL':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,70,71,72,73,74,75,76,77,78,81,90,91,96,97,98,99,100,101,102,103,104,106,112,116,117,118,119,121,122,123,124,125,126,127,128,129,137,140,141,192,193,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[39,39,-60,-62,-63,-64,-65,-66,-67,39,39,-70,-71,-52,-340,-340,-340,-128,-102,39,-340,-29,-107,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,39,-91,39,39,-129,-134,39,-98,-99,-100,-101,-104,-134,-90,-72,39,-53,-93,-9,-10,-340,-94,-95,-103,-129,-97,-185,-96,-169,-170,-338,-149,-150,39,39,39,-76,39,-92,39,-30,39,39,39,-186,39,39,39,-152,-159,-339,39,-162,-163,-145,39,-147,39,39,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,39,-77,-73,-69,39,39,39,39,-35,-36,39,39,-171,39,-154,39,-156,-151,-160,-143,-144,-148,-146,-130,39,-177,-178,-221,-220,-237,-87,-84,39,-233,-234,-236,-31,-34,39,39,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'CHAR':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,70,71,72,73,74,75,76,77,78,81,90,91,96,97,98,99,100,101,102,103,104,106,112,116,117,118,119,121,122,123,124,125,126,127,128,129,137,140,141,192,193,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[40,40,-60,-62,-63,-64,-65,-66,-67,40,40,-70,-71,-52,-340,-340,-340,-128,-102,40,-340,-29,-107,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,40,-91,40,40,-129,-134,40,-98,-99,-100,-101,-104,-134,-90,-72,40,-53,-93,-9,-10,-340,-94,-95,-103,-129,-97,-185,-96,-169,-170,-338,-149,-150,40,40,40,-76,40,-92,40,-30,40,40,40,-186,40,40,40,-152,-159,-339,40,-162,-163,-145,40,-147,40,40,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,40,-77,-73,-69,40,40,40,40,-35,-36,40,40,-171,40,-154,40,-156,-151,-160,-143,-144,-148,-146,-130,40,-177,-178,-221,-220,-237,-87,-84,40,-233,-234,-236,-31,-34,40,40,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'SHORT':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,70,71,72,73,74,75,76,77,78,81,90,91,96,97,98,99,100,101,102,103,104,106,112,116,117,118,119,121,122,123,124,125,126,127,128,129,137,140,141,192,193,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[41,41,-60,-62,-63,-64,-65,-66,-67,41,41,-70,-71,-52,-340,-340,-340,-128,-102,41,-340,-29,-107,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,41,-91,41,41,-129,-134,41,-98,-99,-100,-101,-104,-134,-90,-72,41,-53,-93,-9,-10,-340,-94,-95,-103,-129,-97,-185,-96,-169,-170,-338,-149,-150,41,41,41,-76,41,-92,41,-30,41,41,41,-186,41,41,41,-152,-159,-339,41,-162,-163,-145,41,-147,41,41,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,41,-77,-73,-69,41,41,41,41,-35,-36,41,41,-171,41,-154,41,-156,-151,-160,-143,-144,-148,-146,-130,41,-177,-178,-221,-220,-237,-87,-84,41,-233,-234,-236,-31,-34,41,41,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'INT':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,70,71,72,73,74,75,76,77,78,81,90,91,96,97,98,99,100,101,102,103,104,106,112,116,117,118,119,121,122,123,124,125,126,127,128,129,137,140,141,192,193,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[42,42,-60,-62,-63,-64,-65,-66,-67,42,42,-70,-71,-52,-340,-340,-340,-128,-102,42,-340,-29,-107,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,42,-91,42,42,-129,-134,42,-98,-99,-100,-101,-104,-134,-90,-72,42,-53,-93,-9,-10,-340,-94,-95,-103,-129,-97,-185,-96,-169,-170,-338,-149,-150,42,42,42,-76,42,-92,42,-30,42,42,42,-186,42,42,42,-152,-159,-339,42,-162,-163,-145,42,-147,42,42,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,42,-77,-73,-69,42,42,42,42,-35,-36,42,42,-171,42,-154,42,-156,-151,-160,-143,-144,-148,-146,-130,42,-177,-178,-221,-220,-237,-87,-84,42,-233,-234,-236,-31,-34,42,42,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'LONG':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,70,71,72,73,74,75,76,77,78,81,90,91,96,97,98,99,100,101,102,103,104,106,112,116,117,118,119,121,122,123,124,125,126,127,128,129,137,140,141,192,193,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[43,43,-60,-62,-63,-64,-65,-66,-67,43,43,-70,-71,-52,-340,-340,-340,-128,-102,43,-340,-29,-107,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,43,-91,43,43,-129,-134,43,-98,-99,-100,-101,-104,-134,-90,-72,43,-53,-93,-9,-10,-340,-94,-95,-103,-129,-97,-185,-96,-169,-170,-338,-149,-150,43,43,43,-76,43,-92,43,-30,43,43,43,-186,43,43,43,-152,-159,-339,43,-162,-163,-145,43,-147,43,43,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,43,-77,-73,-69,43,43,43,43,-35,-36,43,43,-171,43,-154,43,-156,-151,-160,-143,-144,-148,-146,-130,43,-177,-178,-221,-220,-237,-87,-84,43,-233,-234,-236,-31,-34,43,43,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'FLOAT':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,70,71,72,73,74,75,76,77,78,81,90,91,96,97,98,99,100,101,102,103,104,106,112,116,117,118,119,121,122,123,124,125,126,127,128,129,137,140,141,192,193,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[44,44,-60,-62,-63,-64,-65,-66,-67,44,44,-70,-71,-52,-340,-340,-340,-128,-102,44,-340,-29,-107,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,44,-91,44,44,-129,-134,44,-98,-99,-100,-101,-104,-134,-90,-72,44,-53,-93,-9,-10,-340,-94,-95,-103,-129,-97,-185,-96,-169,-170,-338,-149,-150,44,44,44,-76,44,-92,44,-30,44,44,44,-186,44,44,44,-152,-159,-339,44,-162,-163,-145,44,-147,44,44,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,44,-77,-73,-69,44,44,44,44,-35,-36,44,44,-171,44,-154,44,-156,-151,-160,-143,-144,-148,-146,-130,44,-177,-178,-221,-220,-237,-87,-84,44,-233,-234,-236,-31,-34,44,44,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'DOUBLE':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,70,71,72,73,74,75,76,77,78,81,90,91,96,97,98,99,100,101,102,103,104,106,112,116,117,118,119,121,122,123,124,125,126,127,128,129,137,140,141,192,193,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[45,45,-60,-62,-63,-64,-65,-66,-67,45,45,-70,-71,-52,-340,-340,-340,-128,-102,45,-340,-29,-107,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,45,-91,45,45,-129,-134,45,-98,-99,-100,-101,-104,-134,-90,-72,45,-53,-93,-9,-10,-340,-94,-95,-103,-129,-97,-185,-96,-169,-170,-338,-149,-150,45,45,45,-76,45,-92,45,-30,45,45,45,-186,45,45,45,-152,-159,-339,45,-162,-163,-145,45,-147,45,45,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,45,-77,-73,-69,45,45,45,45,-35,-36,45,45,-171,45,-154,45,-156,-151,-160,-143,-144,-148,-146,-130,45,-177,-178,-221,-220,-237,-87,-84,45,-233,-234,-236,-31,-34,45,45,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'_COMPLEX':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,70,71,72,73,74,75,76,77,78,81,90,91,96,97,98,99,100,101,102,103,104,106,112,116,117,118,119,121,122,123,124,125,126,127,128,129,137,140,141,192,193,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[46,46,-60,-62,-63,-64,-65,-66,-67,46,46,-70,-71,-52,-340,-340,-340,-128,-102,46,-340,-29,-107,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,46,-91,46,46,-129,-134,46,-98,-99,-100,-101,-104,-134,-90,-72,46,-53,-93,-9,-10,-340,-94,-95,-103,-129,-97,-185,-96,-169,-170,-338,-149,-150,46,46,46,-76,46,-92,46,-30,46,46,46,-186,46,46,46,-152,-159,-339,46,-162,-163,-145,46,-147,46,46,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,46,-77,-73,-69,46,46,46,46,-35,-36,46,46,-171,46,-154,46,-156,-151,-160,-143,-144,-148,-146,-130,46,-177,-178,-221,-220,-237,-87,-84,46,-233,-234,-236,-31,-34,46,46,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'SIGNED':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,70,71,72,73,74,75,76,77,78,81,90,91,96,97,98,99,100,101,102,103,104,106,112,116,117,118,119,121,122,123,124,125,126,127,128,129,137,140,141,192,193,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[47,47,-60,-62,-63,-64,-65,-66,-67,47,47,-70,-71,-52,-340,-340,-340,-128,-102,47,-340,-29,-107,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,47,-91,47,47,-129,-134,47,-98,-99,-100,-101,-104,-134,-90,-72,47,-53,-93,-9,-10,-340,-94,-95,-103,-129,-97,-185,-96,-169,-170,-338,-149,-150,47,47,47,-76,47,-92,47,-30,47,47,47,-186,47,47,47,-152,-159,-339,47,-162,-163,-145,47,-147,47,47,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,47,-77,-73,-69,47,47,47,47,-35,-36,47,47,-171,47,-154,47,-156,-151,-160,-143,-144,-148,-146,-130,47,-177,-178,-221,-220,-237,-87,-84,47,-233,-234,-236,-31,-34,47,47,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'UNSIGNED':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,70,71,72,73,74,75,76,77,78,81,90,91,96,97,98,99,100,101,102,103,104,106,112,116,117,118,119,121,122,123,124,125,126,127,128,129,137,140,141,192,193,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[48,48,-60,-62,-63,-64,-65,-66,-67,48,48,-70,-71,-52,-340,-340,-340,-128,-102,48,-340,-29,-107,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,48,-91,48,48,-129,-134,48,-98,-99,-100,-101,-104,-134,-90,-72,48,-53,-93,-9,-10,-340,-94,-95,-103,-129,-97,-185,-96,-169,-170,-338,-149,-150,48,48,48,-76,48,-92,48,-30,48,48,48,-186,48,48,48,-152,-159,-339,48,-162,-163,-145,48,-147,48,48,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,48,-77,-73,-69,48,48,48,48,-35,-36,48,48,-171,48,-154,48,-156,-151,-160,-143,-144,-148,-146,-130,48,-177,-178,-221,-220,-237,-87,-84,48,-233,-234,-236,-31,-34,48,48,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'__INT128':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,70,71,72,73,74,75,76,77,78,81,90,91,96,97,98,99,100,101,102,103,104,106,112,116,117,118,119,121,122,123,124,125,126,127,128,129,137,140,141,192,193,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[49,49,-60,-62,-63,-64,-65,-66,-67,49,49,-70,-71,-52,-340,-340,-340,-128,-102,49,-340,-29,-107,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,49,-91,49,49,-129,-134,49,-98,-99,-100,-101,-104,-134,-90,-72,49,-53,-93,-9,-10,-340,-94,-95,-103,-129,-97,-185,-96,-169,-170,-338,-149,-150,49,49,49,-76,49,-92,49,-30,49,49,49,-186,49,49,49,-152,-159,-339,49,-162,-163,-145,49,-147,49,49,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,49,-77,-73,-69,49,49,49,49,-35,-36,49,49,-171,49,-154,49,-156,-151,-160,-143,-144,-148,-146,-130,49,-177,-178,-221,-220,-237,-87,-84,49,-233,-234,-236,-31,-34,49,49,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'_ATOMIC':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,70,71,72,73,74,75,76,77,78,81,90,91,95,96,97,98,99,100,101,102,103,104,106,112,115,116,117,118,119,121,122,123,124,125,126,127,128,129,136,137,140,141,183,184,192,193,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,258,259,262,267,294,298,299,304,311,312,313,322,323,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,448,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,511,512,524,552,553,554,555,556,579,580,585,586,],[50,50,-60,-62,-63,-64,-65,-66,-67,72,81,-70,-71,-52,72,72,72,-128,-102,109,72,-29,-107,81,-125,-126,-127,72,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,72,-91,81,109,72,-134,72,-98,-99,-100,-101,-104,-134,-90,-72,81,50,-53,-93,-9,-10,72,-94,-95,-103,-129,-97,81,-185,-96,-169,-170,-338,-149,-150,50,50,50,-76,72,-92,81,50,-30,50,81,81,81,109,-186,50,50,50,-152,-159,-339,81,-162,-163,-145,72,-147,81,72,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,50,-77,81,81,-73,-69,50,50,50,50,-35,-36,50,50,81,-171,50,-154,50,-156,-151,-160,-143,-144,-148,-146,-130,50,-177,-178,-221,-220,-237,-87,-84,72,-233,-234,-236,-31,-34,81,50,50,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,81,81,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'CONST':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,27,28,29,30,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,71,72,73,74,75,76,77,78,81,90,91,95,96,97,101,104,106,115,116,118,119,121,122,123,124,125,126,127,128,129,136,137,140,141,183,184,192,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,258,259,262,267,294,298,299,304,311,312,313,322,323,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,448,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,511,512,524,552,553,554,555,556,579,580,585,586,],[51,51,-60,-62,-63,-64,-65,-66,-67,51,51,-70,-71,-52,51,51,51,-128,-102,51,-29,-107,51,-125,-126,-127,51,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,51,-91,51,51,-134,51,-98,-99,-100,-101,-104,-134,-90,-72,51,51,-53,51,-103,-129,51,-185,-169,-170,-338,-149,-150,51,51,51,-76,51,-92,51,51,-30,51,51,51,51,-186,51,51,51,-152,-159,-339,51,-162,-163,-145,51,-147,51,51,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,51,-77,51,51,-73,-69,51,51,51,51,-35,-36,51,51,51,-171,51,-154,51,-156,-151,-160,-143,-144,-148,-146,-130,51,-177,-178,-221,-220,-237,-87,-84,51,-233,-234,-236,-31,-34,51,51,51,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,51,51,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'RESTRICT':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,27,28,29,30,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,71,72,73,74,75,76,77,78,81,90,91,95,96,97,101,104,106,115,116,118,119,121,122,123,124,125,126,127,128,129,136,137,140,141,183,184,192,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,258,259,262,267,294,298,299,304,311,312,313,322,323,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,448,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,511,512,524,552,553,554,555,556,579,580,585,586,],[52,52,-60,-62,-63,-64,-65,-66,-67,52,52,-70,-71,-52,52,52,52,-128,-102,52,-29,-107,52,-125,-126,-127,52,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,52,-91,52,52,-134,52,-98,-99,-100,-101,-104,-134,-90,-72,52,52,-53,52,-103,-129,52,-185,-169,-170,-338,-149,-150,52,52,52,-76,52,-92,52,52,-30,52,52,52,52,-186,52,52,52,-152,-159,-339,52,-162,-163,-145,52,-147,52,52,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,52,-77,52,52,-73,-69,52,52,52,52,-35,-36,52,52,52,-171,52,-154,52,-156,-151,-160,-143,-144,-148,-146,-130,52,-177,-178,-221,-220,-237,-87,-84,52,-233,-234,-236,-31,-34,52,52,52,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,52,52,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'VOLATILE':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,27,28,29,30,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,71,72,73,74,75,76,77,78,81,90,91,95,96,97,101,104,106,115,116,118,119,121,122,123,124,125,126,127,128,129,136,137,140,141,183,184,192,197,203,204,205,206,207,208,209,210,211,212,213,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,258,259,262,267,294,298,299,304,311,312,313,322,323,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,448,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,511,512,524,552,553,554,555,556,579,580,585,586,],[53,53,-60,-62,-63,-64,-65,-66,-67,53,53,-70,-71,-52,53,53,53,-128,-102,53,-29,-107,53,-125,-126,-127,53,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,53,-91,53,53,-134,53,-98,-99,-100,-101,-104,-134,-90,-72,53,53,-53,53,-103,-129,53,-185,-169,-170,-338,-149,-150,53,53,53,-76,53,-92,53,53,-30,53,53,53,53,-186,53,53,53,-152,-159,-339,53,-162,-163,-145,53,-147,53,53,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,53,-77,53,53,-73,-69,53,53,53,53,-35,-36,53,53,53,-171,53,-154,53,-156,-151,-160,-143,-144,-148,-146,-130,53,-177,-178,-221,-220,-237,-87,-84,53,-233,-234,-236,-31,-34,53,53,53,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,53,53,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'AUTO':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,71,72,73,74,75,76,77,78,81,90,91,96,97,101,104,106,118,119,121,122,123,127,128,129,137,140,192,206,208,221,222,223,224,225,226,227,228,229,230,231,232,251,262,267,311,312,313,322,330,334,336,337,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[54,54,-60,-62,-63,-64,-65,-66,-67,54,54,-70,-71,-52,54,54,54,-128,-102,54,-29,-107,-125,-126,-127,54,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,54,-91,54,54,-134,54,-98,-99,-100,-101,-104,-134,-90,-72,54,-53,54,-103,-129,-169,-170,-338,-149,-150,-76,54,-92,54,-30,54,-152,-339,54,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-77,-73,-69,-35,-36,54,54,-171,-154,-156,-151,-130,54,-177,-178,-221,-220,-237,-87,-84,54,-233,-234,-236,-31,-34,54,54,-172,-173,-153,-155,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'REGISTER':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,71,72,73,74,75,76,77,78,81,90,91,96,97,101,104,106,118,119,121,122,123,127,128,129,137,140,192,206,208,221,222,223,224,225,226,227,228,229,230,231,232,251,262,267,311,312,313,322,330,334,336,337,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[55,55,-60,-62,-63,-64,-65,-66,-67,55,55,-70,-71,-52,55,55,55,-128,-102,55,-29,-107,-125,-126,-127,55,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,55,-91,55,55,-134,55,-98,-99,-100,-101,-104,-134,-90,-72,55,-53,55,-103,-129,-169,-170,-338,-149,-150,-76,55,-92,55,-30,55,-152,-339,55,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-77,-73,-69,-35,-36,55,55,-171,-154,-156,-151,-130,55,-177,-178,-221,-220,-237,-87,-84,55,-233,-234,-236,-31,-34,55,55,-172,-173,-153,-155,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'STATIC':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,71,72,73,74,75,76,77,78,81,90,91,95,96,97,101,104,106,116,118,119,121,122,123,127,128,129,136,137,140,184,192,197,206,208,221,222,223,224,225,226,227,228,229,230,231,232,251,259,262,267,311,312,313,322,330,334,336,337,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,448,449,458,459,460,463,464,469,471,479,480,483,484,499,508,509,512,524,552,553,554,555,556,579,580,585,586,],[29,29,-60,-62,-63,-64,-65,-66,-67,29,29,-70,-71,-52,29,29,29,-128,-102,29,-29,-107,-125,-126,-127,29,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,29,-91,29,29,-134,29,-98,-99,-100,-101,-104,-134,-90,-72,183,29,-53,29,-103,-129,-185,-169,-170,-338,-149,-150,-76,29,-92,258,29,-30,310,29,-186,-152,-339,29,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-77,402,-73,-69,-35,-36,29,29,-171,-154,-156,-151,-130,29,-177,-178,-221,-220,-237,-87,-84,29,-233,-234,-236,-31,-34,511,29,29,-172,-173,-153,-155,-222,-224,-86,-84,-232,-235,-68,-32,-33,545,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'EXTERN':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,71,72,73,74,75,76,77,78,81,90,91,96,97,101,104,106,118,119,121,122,123,127,128,129,137,140,192,206,208,221,222,223,224,225,226,227,228,229,230,231,232,251,262,267,311,312,313,322,330,334,336,337,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[56,56,-60,-62,-63,-64,-65,-66,-67,56,56,-70,-71,-52,56,56,56,-128,-102,56,-29,-107,-125,-126,-127,56,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,56,-91,56,56,-134,56,-98,-99,-100,-101,-104,-134,-90,-72,56,-53,56,-103,-129,-169,-170,-338,-149,-150,-76,56,-92,56,-30,56,-152,-339,56,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-77,-73,-69,-35,-36,56,56,-171,-154,-156,-151,-130,56,-177,-178,-221,-220,-237,-87,-84,56,-233,-234,-236,-31,-34,56,56,-172,-173,-153,-155,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'TYPEDEF':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,71,72,73,74,75,76,77,78,81,90,91,96,97,101,104,106,118,119,121,122,123,127,128,129,137,140,192,206,208,221,222,223,224,225,226,227,228,229,230,231,232,251,262,267,311,312,313,322,330,334,336,337,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[57,57,-60,-62,-63,-64,-65,-66,-67,57,57,-70,-71,-52,57,57,57,-128,-102,57,-29,-107,-125,-126,-127,57,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,57,-91,57,57,-134,57,-98,-99,-100,-101,-104,-134,-90,-72,57,-53,57,-103,-129,-169,-170,-338,-149,-150,-76,57,-92,57,-30,57,-152,-339,57,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-77,-73,-69,-35,-36,57,57,-171,-154,-156,-151,-130,57,-177,-178,-221,-220,-237,-87,-84,57,-233,-234,-236,-31,-34,57,57,-172,-173,-153,-155,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'_THREAD_LOCAL':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,71,72,73,74,75,76,77,78,81,90,91,96,97,101,104,106,118,119,121,122,123,127,128,129,137,140,192,206,208,221,222,223,224,225,226,227,228,229,230,231,232,251,262,267,311,312,313,322,330,334,336,337,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[58,58,-60,-62,-63,-64,-65,-66,-67,58,58,-70,-71,-52,58,58,58,-128,-102,58,-29,-107,-125,-126,-127,58,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,58,-91,58,58,-134,58,-98,-99,-100,-101,-104,-134,-90,-72,58,-53,58,-103,-129,-169,-170,-338,-149,-150,-76,58,-92,58,-30,58,-152,-339,58,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-77,-73,-69,-35,-36,58,58,-171,-154,-156,-151,-130,58,-177,-178,-221,-220,-237,-87,-84,58,-233,-234,-236,-31,-34,58,58,-172,-173,-153,-155,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'INLINE':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,71,72,73,74,75,76,77,78,81,90,91,96,97,101,104,106,118,119,121,122,123,127,128,129,137,140,192,206,208,221,222,223,224,225,226,227,228,229,230,231,232,251,262,267,311,312,313,322,330,334,336,337,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[59,59,-60,-62,-63,-64,-65,-66,-67,59,59,-70,-71,-52,59,59,59,-128,-102,59,-29,-107,-125,-126,-127,59,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,59,-91,59,59,-134,59,-98,-99,-100,-101,-104,-134,-90,-72,59,-53,59,-103,-129,-169,-170,-338,-149,-150,-76,59,-92,59,-30,59,-152,-339,59,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-77,-73,-69,-35,-36,59,59,-171,-154,-156,-151,-130,59,-177,-178,-221,-220,-237,-87,-84,59,-233,-234,-236,-31,-34,59,59,-172,-173,-153,-155,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'_NORETURN':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,71,72,73,74,75,76,77,78,81,90,91,96,97,101,104,106,118,119,121,122,123,127,128,129,137,140,192,206,208,221,222,223,224,225,226,227,228,229,230,231,232,251,262,267,311,312,313,322,330,334,336,337,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[60,60,-60,-62,-63,-64,-65,-66,-67,60,60,-70,-71,-52,60,60,60,-128,-102,60,-29,-107,-125,-126,-127,60,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,60,-91,60,60,-134,60,-98,-99,-100,-101,-104,-134,-90,-72,60,-53,60,-103,-129,-169,-170,-338,-149,-150,-76,60,-92,60,-30,60,-152,-339,60,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-77,-73,-69,-35,-36,60,60,-171,-154,-156,-151,-130,60,-177,-178,-221,-220,-237,-87,-84,60,-233,-234,-236,-31,-34,60,60,-172,-173,-153,-155,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'_ALIGNAS':([0,2,4,5,6,7,8,9,10,11,12,14,15,19,21,22,23,24,25,27,28,29,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,67,68,69,71,72,73,74,75,76,77,78,81,90,91,96,97,101,104,106,118,119,121,122,123,124,125,126,127,128,129,137,140,141,192,203,204,205,206,207,208,209,210,211,212,214,216,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,330,333,334,335,336,337,338,340,341,342,348,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,459,460,463,464,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[61,61,-60,-62,-63,-64,-65,-66,-67,61,61,-70,-71,-52,61,61,61,-128,-102,61,-29,-107,-125,-126,-127,61,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,61,-91,61,61,-134,61,-98,-99,-100,-101,-104,-134,-90,-72,61,-53,61,-103,-129,-169,-170,-338,-149,-150,61,61,61,-76,61,-92,61,-30,61,61,61,61,61,-152,-159,-339,61,-162,-163,-145,-147,61,61,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,61,-77,-73,-69,61,61,61,61,-35,-36,61,61,-171,61,-154,61,-156,-151,-160,-143,-144,-148,-146,-130,61,-177,-178,-221,-220,-237,-87,-84,61,-233,-234,-236,-31,-34,61,61,-172,-173,-153,-155,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'STRUCT':([0,2,4,5,6,7,8,9,10,11,14,15,19,21,22,23,26,27,28,29,34,50,51,52,53,54,55,56,57,58,59,60,64,67,68,70,71,72,73,90,91,96,97,98,99,100,101,102,103,112,116,117,121,124,125,126,127,128,129,137,140,141,193,197,203,204,205,207,208,210,211,213,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,333,335,338,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[62,62,-60,-62,-63,-64,-65,-66,-67,62,-70,-71,-52,-340,-340,-340,62,-340,-29,-107,-340,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,62,-91,62,-340,-134,62,-90,-72,62,-53,-93,-9,-10,-340,-94,-95,-97,-185,-96,-338,62,62,62,-76,62,-92,62,-30,62,62,-186,62,62,62,-159,-339,-162,-163,62,62,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,62,-77,-73,-69,62,62,62,62,-35,-36,62,62,62,62,-160,-130,62,-177,-178,-221,-220,-237,-87,-84,62,-233,-234,-236,-31,-34,62,62,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'UNION':([0,2,4,5,6,7,8,9,10,11,14,15,19,21,22,23,26,27,28,29,34,50,51,52,53,54,55,56,57,58,59,60,64,67,68,70,71,72,73,90,91,96,97,98,99,100,101,102,103,112,116,117,121,124,125,126,127,128,129,137,140,141,193,197,203,204,205,207,208,210,211,213,221,222,223,224,225,226,227,228,229,230,231,232,238,251,262,267,294,298,299,304,311,312,313,322,333,335,338,349,351,353,354,355,356,361,370,371,372,374,375,377,439,440,449,458,465,469,471,479,480,483,484,499,508,509,524,552,553,554,555,556,579,580,585,586,],[63,63,-60,-62,-63,-64,-65,-66,-67,63,-70,-71,-52,-340,-340,-340,63,-340,-29,-107,-340,-134,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-61,63,-91,63,-340,-134,63,-90,-72,63,-53,-93,-9,-10,-340,-94,-95,-97,-185,-96,-338,63,63,63,-76,63,-92,63,-30,63,63,-186,63,63,63,-159,-339,-162,-163,63,63,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,63,-77,-73,-69,63,63,63,63,-35,-36,63,63,63,63,-160,-130,63,-177,-178,-221,-220,-237,-87,-84,63,-233,-234,-236,-31,-34,63,63,-161,-222,-224,-86,-84,-232,-235,-68,-32,-33,-223,-225,-87,-84,-227,-228,-226,-229,-231,-230,]),'LBRACE':([11,15,19,28,36,37,62,63,65,66,67,68,73,90,91,97,118,119,121,122,123,128,129,131,135,140,195,208,221,222,223,224,225,226,227,228,229,230,231,232,238,242,256,262,267,311,312,355,356,358,360,361,369,370,371,374,375,377,392,393,394,405,439,440,469,470,471,474,479,480,483,484,487,489,498,499,504,505,508,509,524,525,526,527,532,533,552,553,554,555,556,562,570,579,580,582,584,585,586,],[-340,-71,-52,-29,121,121,-157,-158,121,-7,-8,-91,-340,-90,-72,-53,121,121,-338,121,121,121,-92,121,121,-30,121,-339,121,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,121,121,-340,-73,-69,-35,-36,-221,-220,121,121,-237,121,-87,-74,-233,-234,-236,-11,121,-12,121,-31,-34,-222,121,-224,121,-86,-75,-232,-235,-340,-201,-340,-68,121,121,-32,-33,-223,121,121,121,121,-11,-225,-87,-74,-227,-228,-340,121,-226,-229,121,121,-231,-230,]),'RBRACE':([15,90,91,121,124,128,139,143,144,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,200,201,202,203,204,205,207,208,210,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,249,250,255,256,262,263,267,291,292,293,295,296,297,300,301,302,303,328,329,331,333,335,338,355,356,361,370,371,374,375,377,390,391,392,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,461,462,465,469,471,473,479,480,483,484,485,486,487,488,497,499,501,502,505,506,524,531,537,538,552,553,554,555,556,560,561,562,563,574,579,580,585,586,],[-71,-90,-72,-338,208,-340,-328,-306,-255,-256,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,208,-174,-179,208,208,208,-159,-339,-162,-163,208,-5,-6,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-242,-277,-196,-340,-73,-329,-69,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,208,208,-175,208,208,-160,-221,-220,-237,-87,-84,-233,-234,-236,208,-22,-21,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,-272,-273,-274,-275,-276,-295,-296,-297,-298,-299,-176,-180,-161,-222,-224,-240,-86,-84,-232,-235,-243,-197,208,-199,-278,-68,-293,-294,-284,-285,-223,-198,208,-257,-225,-87,-84,-227,-228,-200,-302,208,-309,-303,-226,-229,-231,-230,]),'CASE':([15,90,91,121,128,208,221,222,223,224,225,226,227,228,229,230,231,232,242,262,267,355,356,358,360,361,369,370,371,374,375,377,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[-71,-90,-72,-338,234,-339,234,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,234,-73,-69,-221,-220,234,234,-237,234,-87,-74,-233,-234,-236,-222,234,-224,-86,-75,-232,-235,-68,-223,234,234,234,-225,-87,-74,-227,-228,234,-226,-229,234,234,-231,-230,]),'DEFAULT':([15,90,91,121,128,208,221,222,223,224,225,226,227,228,229,230,231,232,242,262,267,355,356,358,360,361,369,370,371,374,375,377,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[-71,-90,-72,-338,235,-339,235,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,235,-73,-69,-221,-220,235,235,-237,235,-87,-74,-233,-234,-236,-222,235,-224,-86,-75,-232,-235,-68,-223,235,235,235,-225,-87,-74,-227,-228,235,-226,-229,235,235,-231,-230,]),'IF':([15,90,91,121,128,208,221,222,223,224,225,226,227,228,229,230,231,232,242,262,267,355,356,358,360,361,369,370,371,374,375,377,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[-71,-90,-72,-338,237,-339,237,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,237,-73,-69,-221,-220,237,237,-237,237,-87,-74,-233,-234,-236,-222,237,-224,-86,-75,-232,-235,-68,-223,237,237,237,-225,-87,-74,-227,-228,237,-226,-229,237,237,-231,-230,]),'SWITCH':([15,90,91,121,128,208,221,222,223,224,225,226,227,228,229,230,231,232,242,262,267,355,356,358,360,361,369,370,371,374,375,377,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[-71,-90,-72,-338,240,-339,240,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,240,-73,-69,-221,-220,240,240,-237,240,-87,-74,-233,-234,-236,-222,240,-224,-86,-75,-232,-235,-68,-223,240,240,240,-225,-87,-74,-227,-228,240,-226,-229,240,240,-231,-230,]),'WHILE':([15,90,91,121,128,208,221,222,223,224,225,226,227,228,229,230,231,232,242,262,267,355,356,358,360,361,368,369,370,371,374,375,377,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[-71,-90,-72,-338,241,-339,241,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,241,-73,-69,-221,-220,241,241,-237,478,241,-87,-74,-233,-234,-236,-222,241,-224,-86,-75,-232,-235,-68,-223,241,241,241,-225,-87,-74,-227,-228,241,-226,-229,241,241,-231,-230,]),'DO':([15,90,91,121,128,208,221,222,223,224,225,226,227,228,229,230,231,232,242,262,267,355,356,358,360,361,369,370,371,374,375,377,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[-71,-90,-72,-338,242,-339,242,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,242,-73,-69,-221,-220,242,242,-237,242,-87,-74,-233,-234,-236,-222,242,-224,-86,-75,-232,-235,-68,-223,242,242,242,-225,-87,-74,-227,-228,242,-226,-229,242,242,-231,-230,]),'FOR':([15,90,91,121,128,208,221,222,223,224,225,226,227,228,229,230,231,232,242,262,267,355,356,358,360,361,369,370,371,374,375,377,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[-71,-90,-72,-338,243,-339,243,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,243,-73,-69,-221,-220,243,243,-237,243,-87,-74,-233,-234,-236,-222,243,-224,-86,-75,-232,-235,-68,-223,243,243,243,-225,-87,-74,-227,-228,243,-226,-229,243,243,-231,-230,]),'GOTO':([15,90,91,121,128,208,221,222,223,224,225,226,227,228,229,230,231,232,242,262,267,355,356,358,360,361,369,370,371,374,375,377,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[-71,-90,-72,-338,244,-339,244,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,244,-73,-69,-221,-220,244,244,-237,244,-87,-74,-233,-234,-236,-222,244,-224,-86,-75,-232,-235,-68,-223,244,244,244,-225,-87,-74,-227,-228,244,-226,-229,244,244,-231,-230,]),'BREAK':([15,90,91,121,128,208,221,222,223,224,225,226,227,228,229,230,231,232,242,262,267,355,356,358,360,361,369,370,371,374,375,377,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[-71,-90,-72,-338,245,-339,245,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,245,-73,-69,-221,-220,245,245,-237,245,-87,-74,-233,-234,-236,-222,245,-224,-86,-75,-232,-235,-68,-223,245,245,245,-225,-87,-74,-227,-228,245,-226,-229,245,245,-231,-230,]),'CONTINUE':([15,90,91,121,128,208,221,222,223,224,225,226,227,228,229,230,231,232,242,262,267,355,356,358,360,361,369,370,371,374,375,377,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[-71,-90,-72,-338,246,-339,246,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,246,-73,-69,-221,-220,246,246,-237,246,-87,-74,-233,-234,-236,-222,246,-224,-86,-75,-232,-235,-68,-223,246,246,246,-225,-87,-74,-227,-228,246,-226,-229,246,246,-231,-230,]),'RETURN':([15,90,91,121,128,208,221,222,223,224,225,226,227,228,229,230,231,232,242,262,267,355,356,358,360,361,369,370,371,374,375,377,469,470,471,479,480,483,484,499,524,525,526,527,552,553,554,555,556,570,579,580,582,584,585,586,],[-71,-90,-72,-338,247,-339,247,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,247,-73,-69,-221,-220,247,247,-237,247,-87,-74,-233,-234,-236,-222,247,-224,-86,-75,-232,-235,-68,-223,247,247,247,-225,-87,-74,-227,-228,247,-226,-229,247,247,-231,-230,]),'PLUSPLUS':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,139,141,143,147,148,149,150,152,153,154,155,156,158,159,160,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,233,234,238,242,247,256,257,258,259,262,263,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,291,292,294,298,300,301,302,303,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,406,429,431,432,433,434,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,501,502,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,561,562,563,565,570,572,574,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,153,-340,-27,-28,-185,-338,153,153,153,-340,-328,153,-306,-287,-288,-289,-286,291,153,153,153,153,-292,-315,-290,-291,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,153,-340,-28,153,-186,-339,153,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-315,153,153,153,153,-340,153,-340,-28,-73,-329,-69,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,-300,-301,153,153,-334,-335,-336,-337,-287,153,153,-340,153,153,-221,-220,153,153,-237,153,153,153,153,153,-87,-74,153,-233,-234,-236,153,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,153,-12,153,-287,153,153,153,-308,-295,-296,-297,-298,-299,-340,153,153,153,-222,153,-224,153,-86,-75,153,-232,-235,-340,-201,-340,-68,153,-293,-294,153,153,-340,-28,-287,-223,153,153,153,153,153,153,-11,-287,153,153,-225,-87,-74,-227,-228,153,-302,-340,-309,153,153,153,-303,-226,-229,153,153,-231,-230,]),'MINUSMINUS':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,139,141,143,147,148,149,150,152,153,154,155,156,158,159,160,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,233,234,238,242,247,256,257,258,259,262,263,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,291,292,294,298,300,301,302,303,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,406,429,431,432,433,434,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,501,502,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,561,562,563,565,570,572,574,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,154,-340,-27,-28,-185,-338,154,154,154,-340,-328,154,-306,-287,-288,-289,-286,292,154,154,154,154,-292,-315,-290,-291,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,154,-340,-28,154,-186,-339,154,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-315,154,154,154,154,-340,154,-340,-28,-73,-329,-69,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,-300,-301,154,154,-334,-335,-336,-337,-287,154,154,-340,154,154,-221,-220,154,154,-237,154,154,154,154,154,-87,-74,154,-233,-234,-236,154,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,154,-12,154,-287,154,154,154,-308,-295,-296,-297,-298,-299,-340,154,154,154,-222,154,-224,154,-86,-75,154,-232,-235,-340,-201,-340,-68,154,-293,-294,154,154,-340,-28,-287,-223,154,154,154,154,154,154,-11,-287,154,154,-225,-87,-74,-227,-228,154,-302,-340,-309,154,154,154,-303,-226,-229,154,154,-231,-230,]),'SIZEOF':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,156,-340,-27,-28,-185,-338,156,156,156,-340,156,-287,-288,-289,-286,156,156,156,156,-290,-291,156,-340,-28,156,-186,-339,156,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,156,156,156,156,-340,156,-340,-28,-73,-69,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,-287,156,156,-340,156,156,-221,-220,156,156,-237,156,156,156,156,156,-87,-74,156,-233,-234,-236,156,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,156,-12,156,-287,156,156,156,-340,156,156,156,-222,156,-224,156,-86,-75,156,-232,-235,-340,-201,-340,-68,156,156,156,-340,-28,-287,-223,156,156,156,156,156,156,-11,-287,156,156,-225,-87,-74,-227,-228,156,-340,156,156,156,-226,-229,156,156,-231,-230,]),'_ALIGNOF':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,157,-340,-27,-28,-185,-338,157,157,157,-340,157,-287,-288,-289,-286,157,157,157,157,-290,-291,157,-340,-28,157,-186,-339,157,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,157,157,157,157,-340,157,-340,-28,-73,-69,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,-287,157,157,-340,157,157,-221,-220,157,157,-237,157,157,157,157,157,-87,-74,157,-233,-234,-236,157,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,157,-12,157,-287,157,157,157,-340,157,157,157,-222,157,-224,157,-86,-75,157,-232,-235,-340,-201,-340,-68,157,157,157,-340,-28,-287,-223,157,157,157,157,157,157,-11,-287,157,157,-225,-87,-74,-227,-228,157,-340,157,157,157,-226,-229,157,157,-231,-230,]),'AND':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,139,141,143,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,233,234,238,242,247,250,256,257,258,259,262,263,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,291,292,293,294,295,296,297,298,300,301,302,303,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,497,498,499,500,501,502,503,505,506,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,561,562,563,565,570,572,574,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,150,-340,-27,-28,-185,-338,150,150,150,-340,-328,150,-306,282,-258,-287,-288,-289,-286,-277,-279,150,150,150,150,-292,-315,-290,-291,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,150,-340,-28,150,-186,-339,150,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-315,150,150,150,150,-277,-340,150,-340,-28,-73,-329,-69,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,-300,-301,-280,150,-281,-282,-283,150,-334,-335,-336,-337,-287,150,150,-340,150,150,-221,-220,150,150,-237,150,150,150,150,150,-87,-74,150,-233,-234,-236,150,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,150,-12,150,-287,150,150,150,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,-272,282,282,282,282,-295,-296,-297,-298,-299,-340,150,150,150,-222,150,-224,150,-86,-75,150,-232,-235,-340,-201,-278,-340,-68,150,-293,-294,150,-284,-285,150,-340,-28,-287,-223,150,150,150,150,150,150,-11,-287,150,150,-225,-87,-74,-227,-228,150,-302,-340,-309,150,150,150,-303,-226,-229,150,150,-231,-230,]),'PLUS':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,139,141,143,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,233,234,238,242,247,250,256,257,258,259,262,263,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,291,292,293,294,295,296,297,298,300,301,302,303,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,497,498,499,500,501,502,503,505,506,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,561,562,563,565,570,572,574,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,148,-340,-27,-28,-185,-338,148,148,148,-340,-328,148,-306,272,-258,-287,-288,-289,-286,-277,-279,148,148,148,148,-292,-315,-290,-291,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,148,-340,-28,148,-186,-339,148,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-315,148,148,148,148,-277,-340,148,-340,-28,-73,-329,-69,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,-300,-301,-280,148,-281,-282,-283,148,-334,-335,-336,-337,-287,148,148,-340,148,148,-221,-220,148,148,-237,148,148,148,148,148,-87,-74,148,-233,-234,-236,148,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,148,-12,148,-287,148,148,148,-308,-259,-260,-261,-262,-263,272,272,272,272,272,272,272,272,272,272,272,272,272,-295,-296,-297,-298,-299,-340,148,148,148,-222,148,-224,148,-86,-75,148,-232,-235,-340,-201,-278,-340,-68,148,-293,-294,148,-284,-285,148,-340,-28,-287,-223,148,148,148,148,148,148,-11,-287,148,148,-225,-87,-74,-227,-228,148,-302,-340,-309,148,148,148,-303,-226,-229,148,148,-231,-230,]),'MINUS':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,139,141,143,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,233,234,238,242,247,250,256,257,258,259,262,263,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,291,292,293,294,295,296,297,298,300,301,302,303,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,497,498,499,500,501,502,503,505,506,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,561,562,563,565,570,572,574,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,149,-340,-27,-28,-185,-338,149,149,149,-340,-328,149,-306,273,-258,-287,-288,-289,-286,-277,-279,149,149,149,149,-292,-315,-290,-291,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,149,-340,-28,149,-186,-339,149,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,-315,149,149,149,149,-277,-340,149,-340,-28,-73,-329,-69,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,-300,-301,-280,149,-281,-282,-283,149,-334,-335,-336,-337,-287,149,149,-340,149,149,-221,-220,149,149,-237,149,149,149,149,149,-87,-74,149,-233,-234,-236,149,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,149,-12,149,-287,149,149,149,-308,-259,-260,-261,-262,-263,273,273,273,273,273,273,273,273,273,273,273,273,273,-295,-296,-297,-298,-299,-340,149,149,149,-222,149,-224,149,-86,-75,149,-232,-235,-340,-201,-278,-340,-68,149,-293,-294,149,-284,-285,149,-340,-28,-287,-223,149,149,149,149,149,149,-11,-287,149,149,-225,-87,-74,-227,-228,149,-302,-340,-309,149,149,149,-303,-226,-229,149,149,-231,-230,]),'NOT':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,160,-340,-27,-28,-185,-338,160,160,160,-340,160,-287,-288,-289,-286,160,160,160,160,-290,-291,160,-340,-28,160,-186,-339,160,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,160,160,160,160,-340,160,-340,-28,-73,-69,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,-287,160,160,-340,160,160,-221,-220,160,160,-237,160,160,160,160,160,-87,-74,160,-233,-234,-236,160,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,160,-12,160,-287,160,160,160,-340,160,160,160,-222,160,-224,160,-86,-75,160,-232,-235,-340,-201,-340,-68,160,160,160,-340,-28,-287,-223,160,160,160,160,160,160,-11,-287,160,160,-225,-87,-74,-227,-228,160,-340,160,160,160,-226,-229,160,160,-231,-230,]),'LNOT':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,161,-340,-27,-28,-185,-338,161,161,161,-340,161,-287,-288,-289,-286,161,161,161,161,-290,-291,161,-340,-28,161,-186,-339,161,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,161,161,161,161,-340,161,-340,-28,-73,-69,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,-287,161,161,-340,161,161,-221,-220,161,161,-237,161,161,161,161,161,-87,-74,161,-233,-234,-236,161,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,161,-12,161,-287,161,161,161,-340,161,161,161,-222,161,-224,161,-86,-75,161,-232,-235,-340,-201,-340,-68,161,161,161,-340,-28,-287,-223,161,161,161,161,161,161,-11,-287,161,161,-225,-87,-74,-227,-228,161,-340,161,161,161,-226,-229,161,161,-231,-230,]),'OFFSETOF':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,165,-340,-27,-28,-185,-338,165,165,165,-340,165,-287,-288,-289,-286,165,165,165,165,-290,-291,165,-340,-28,165,-186,-339,165,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,165,165,165,165,-340,165,-340,-28,-73,-69,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,-287,165,165,-340,165,165,-221,-220,165,165,-237,165,165,165,165,165,-87,-74,165,-233,-234,-236,165,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,165,-12,165,-287,165,165,165,-340,165,165,165,-222,165,-224,165,-86,-75,165,-232,-235,-340,-201,-340,-68,165,165,165,-340,-28,-287,-223,165,165,165,165,165,165,-11,-287,165,165,-225,-87,-74,-227,-228,165,-340,165,165,165,-226,-229,165,165,-231,-230,]),'INT_CONST_DEC':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,166,-340,-27,-28,-185,-338,166,166,166,-340,166,-287,-288,-289,-286,166,166,166,166,-290,-291,166,-340,-28,166,-186,-339,166,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,166,166,166,166,-340,166,-340,-28,-73,-69,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,-287,166,166,-340,166,166,-221,-220,166,166,-237,166,166,166,166,166,-87,-74,166,-233,-234,-236,166,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,166,-12,166,-287,166,166,166,-340,166,166,166,-222,166,-224,166,-86,-75,166,-232,-235,-340,-201,-340,-68,166,166,166,-340,-28,-287,-223,166,166,166,166,166,166,-11,-287,166,166,-225,-87,-74,-227,-228,166,-340,166,166,166,-226,-229,166,166,-231,-230,]),'INT_CONST_OCT':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,167,-340,-27,-28,-185,-338,167,167,167,-340,167,-287,-288,-289,-286,167,167,167,167,-290,-291,167,-340,-28,167,-186,-339,167,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,167,167,167,167,-340,167,-340,-28,-73,-69,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,-287,167,167,-340,167,167,-221,-220,167,167,-237,167,167,167,167,167,-87,-74,167,-233,-234,-236,167,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,167,-12,167,-287,167,167,167,-340,167,167,167,-222,167,-224,167,-86,-75,167,-232,-235,-340,-201,-340,-68,167,167,167,-340,-28,-287,-223,167,167,167,167,167,167,-11,-287,167,167,-225,-87,-74,-227,-228,167,-340,167,167,167,-226,-229,167,167,-231,-230,]),'INT_CONST_HEX':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,168,-340,-27,-28,-185,-338,168,168,168,-340,168,-287,-288,-289,-286,168,168,168,168,-290,-291,168,-340,-28,168,-186,-339,168,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,168,168,168,168,-340,168,-340,-28,-73,-69,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,-287,168,168,-340,168,168,-221,-220,168,168,-237,168,168,168,168,168,-87,-74,168,-233,-234,-236,168,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,168,-12,168,-287,168,168,168,-340,168,168,168,-222,168,-224,168,-86,-75,168,-232,-235,-340,-201,-340,-68,168,168,168,-340,-28,-287,-223,168,168,168,168,168,168,-11,-287,168,168,-225,-87,-74,-227,-228,168,-340,168,168,168,-226,-229,168,168,-231,-230,]),'INT_CONST_BIN':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,169,-340,-27,-28,-185,-338,169,169,169,-340,169,-287,-288,-289,-286,169,169,169,169,-290,-291,169,-340,-28,169,-186,-339,169,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,169,169,169,169,-340,169,-340,-28,-73,-69,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,-287,169,169,-340,169,169,-221,-220,169,169,-237,169,169,169,169,169,-87,-74,169,-233,-234,-236,169,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,169,-12,169,-287,169,169,169,-340,169,169,169,-222,169,-224,169,-86,-75,169,-232,-235,-340,-201,-340,-68,169,169,169,-340,-28,-287,-223,169,169,169,169,169,169,-11,-287,169,169,-225,-87,-74,-227,-228,169,-340,169,169,169,-226,-229,169,169,-231,-230,]),'INT_CONST_CHAR':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,170,-340,-27,-28,-185,-338,170,170,170,-340,170,-287,-288,-289,-286,170,170,170,170,-290,-291,170,-340,-28,170,-186,-339,170,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,170,170,170,170,-340,170,-340,-28,-73,-69,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,-287,170,170,-340,170,170,-221,-220,170,170,-237,170,170,170,170,170,-87,-74,170,-233,-234,-236,170,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,170,-12,170,-287,170,170,170,-340,170,170,170,-222,170,-224,170,-86,-75,170,-232,-235,-340,-201,-340,-68,170,170,170,-340,-28,-287,-223,170,170,170,170,170,170,-11,-287,170,170,-225,-87,-74,-227,-228,170,-340,170,170,170,-226,-229,170,170,-231,-230,]),'FLOAT_CONST':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,171,-340,-27,-28,-185,-338,171,171,171,-340,171,-287,-288,-289,-286,171,171,171,171,-290,-291,171,-340,-28,171,-186,-339,171,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,171,171,171,171,-340,171,-340,-28,-73,-69,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,-287,171,171,-340,171,171,-221,-220,171,171,-237,171,171,171,171,171,-87,-74,171,-233,-234,-236,171,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,171,-12,171,-287,171,171,171,-340,171,171,171,-222,171,-224,171,-86,-75,171,-232,-235,-340,-201,-340,-68,171,171,171,-340,-28,-287,-223,171,171,171,171,171,171,-11,-287,171,171,-225,-87,-74,-227,-228,171,-340,171,171,171,-226,-229,171,171,-231,-230,]),'HEX_FLOAT_CONST':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,172,-340,-27,-28,-185,-338,172,172,172,-340,172,-287,-288,-289,-286,172,172,172,172,-290,-291,172,-340,-28,172,-186,-339,172,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,172,172,172,172,-340,172,-340,-28,-73,-69,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,-287,172,172,-340,172,172,-221,-220,172,172,-237,172,172,172,172,172,-87,-74,172,-233,-234,-236,172,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,172,-12,172,-287,172,172,172,-340,172,172,172,-222,172,-224,172,-86,-75,172,-232,-235,-340,-201,-340,-68,172,172,172,-340,-28,-287,-223,172,172,172,172,172,172,-11,-287,172,172,-225,-87,-74,-227,-228,172,-340,172,172,172,-226,-229,172,172,-231,-230,]),'CHAR_CONST':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,173,-340,-27,-28,-185,-338,173,173,173,-340,173,-287,-288,-289,-286,173,173,173,173,-290,-291,173,-340,-28,173,-186,-339,173,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,173,173,173,173,-340,173,-340,-28,-73,-69,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,-287,173,173,-340,173,173,-221,-220,173,173,-237,173,173,173,173,173,-87,-74,173,-233,-234,-236,173,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,173,-12,173,-287,173,173,173,-340,173,173,173,-222,173,-224,173,-86,-75,173,-232,-235,-340,-201,-340,-68,173,173,173,-340,-28,-287,-223,173,173,173,173,173,173,-11,-287,173,173,-225,-87,-74,-227,-228,173,-340,173,173,173,-226,-229,173,173,-231,-230,]),'WCHAR_CONST':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,174,-340,-27,-28,-185,-338,174,174,174,-340,174,-287,-288,-289,-286,174,174,174,174,-290,-291,174,-340,-28,174,-186,-339,174,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,174,174,174,174,-340,174,-340,-28,-73,-69,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,-287,174,174,-340,174,174,-221,-220,174,174,-237,174,174,174,174,174,-87,-74,174,-233,-234,-236,174,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,174,-12,174,-287,174,174,174,-340,174,174,174,-222,174,-224,174,-86,-75,174,-232,-235,-340,-201,-340,-68,174,174,174,-340,-28,-287,-223,174,174,174,174,174,174,-11,-287,174,174,-225,-87,-74,-227,-228,174,-340,174,174,174,-226,-229,174,174,-231,-230,]),'U8CHAR_CONST':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,175,-340,-27,-28,-185,-338,175,175,175,-340,175,-287,-288,-289,-286,175,175,175,175,-290,-291,175,-340,-28,175,-186,-339,175,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,175,175,175,175,-340,175,-340,-28,-73,-69,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,-287,175,175,-340,175,175,-221,-220,175,175,-237,175,175,175,175,175,-87,-74,175,-233,-234,-236,175,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,175,-12,175,-287,175,175,175,-340,175,175,175,-222,175,-224,175,-86,-75,175,-232,-235,-340,-201,-340,-68,175,175,175,-340,-28,-287,-223,175,175,175,175,175,175,-11,-287,175,175,-225,-87,-74,-227,-228,175,-340,175,175,175,-226,-229,175,175,-231,-230,]),'U16CHAR_CONST':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,176,-340,-27,-28,-185,-338,176,176,176,-340,176,-287,-288,-289,-286,176,176,176,176,-290,-291,176,-340,-28,176,-186,-339,176,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,176,176,176,176,-340,176,-340,-28,-73,-69,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,-287,176,176,-340,176,176,-221,-220,176,176,-237,176,176,176,176,176,-87,-74,176,-233,-234,-236,176,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,176,-12,176,-287,176,176,176,-340,176,176,176,-222,176,-224,176,-86,-75,176,-232,-235,-340,-201,-340,-68,176,176,176,-340,-28,-287,-223,176,176,176,176,176,176,-11,-287,176,176,-225,-87,-74,-227,-228,176,-340,176,176,176,-226,-229,176,176,-231,-230,]),'U32CHAR_CONST':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,177,-340,-27,-28,-185,-338,177,177,177,-340,177,-287,-288,-289,-286,177,177,177,177,-290,-291,177,-340,-28,177,-186,-339,177,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,177,177,177,177,-340,177,-340,-28,-73,-69,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,-287,177,177,-340,177,177,-221,-220,177,177,-237,177,177,177,177,177,-87,-74,177,-233,-234,-236,177,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,177,-12,177,-287,177,177,177,-340,177,177,177,-222,177,-224,177,-86,-75,177,-232,-235,-340,-201,-340,-68,177,177,177,-340,-28,-287,-223,177,177,177,177,177,177,-11,-287,177,177,-225,-87,-74,-227,-228,177,-340,177,177,177,-226,-229,177,177,-231,-230,]),'STRING_LITERAL':([15,51,52,53,81,90,91,92,94,95,114,115,116,121,126,128,135,136,138,139,141,143,147,148,149,150,153,154,155,156,160,161,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,263,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,407,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,139,139,-340,-27,-28,-185,-338,139,139,139,-340,263,-328,139,263,-287,-288,-289,-286,139,139,139,139,-290,-291,139,-340,-28,139,-186,-339,139,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,139,139,139,139,-340,139,-340,-28,-73,-329,139,-69,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,-287,139,139,-340,139,139,-221,-220,139,139,-237,139,139,139,139,139,-87,-74,139,-233,-234,-236,139,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,139,-12,139,-287,139,139,139,263,-340,139,139,139,-222,139,-224,139,-86,-75,139,-232,-235,-340,-201,-340,-68,139,139,139,-340,-28,-287,-223,139,139,139,139,139,139,-11,-287,139,139,-225,-87,-74,-227,-228,139,-340,139,139,139,-226,-229,139,139,-231,-230,]),'WSTRING_LITERAL':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,164,178,179,180,181,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,300,301,302,303,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,178,-340,-27,-28,-185,-338,178,178,178,-340,178,-287,-288,-289,-286,178,178,178,178,-290,-291,300,-330,-331,-332,-333,178,-340,-28,178,-186,-339,178,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,178,178,178,178,-340,178,-340,-28,-73,-69,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,-334,-335,-336,-337,-287,178,178,-340,178,178,-221,-220,178,178,-237,178,178,178,178,178,-87,-74,178,-233,-234,-236,178,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,178,-12,178,-287,178,178,178,-340,178,178,178,-222,178,-224,178,-86,-75,178,-232,-235,-340,-201,-340,-68,178,178,178,-340,-28,-287,-223,178,178,178,178,178,178,-11,-287,178,178,-225,-87,-74,-227,-228,178,-340,178,178,178,-226,-229,178,178,-231,-230,]),'U8STRING_LITERAL':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,164,178,179,180,181,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,300,301,302,303,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,179,-340,-27,-28,-185,-338,179,179,179,-340,179,-287,-288,-289,-286,179,179,179,179,-290,-291,301,-330,-331,-332,-333,179,-340,-28,179,-186,-339,179,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,179,179,179,179,-340,179,-340,-28,-73,-69,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,-334,-335,-336,-337,-287,179,179,-340,179,179,-221,-220,179,179,-237,179,179,179,179,179,-87,-74,179,-233,-234,-236,179,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,179,-12,179,-287,179,179,179,-340,179,179,179,-222,179,-224,179,-86,-75,179,-232,-235,-340,-201,-340,-68,179,179,179,-340,-28,-287,-223,179,179,179,179,179,179,-11,-287,179,179,-225,-87,-74,-227,-228,179,-340,179,179,179,-226,-229,179,179,-231,-230,]),'U16STRING_LITERAL':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,164,178,179,180,181,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,300,301,302,303,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,180,-340,-27,-28,-185,-338,180,180,180,-340,180,-287,-288,-289,-286,180,180,180,180,-290,-291,302,-330,-331,-332,-333,180,-340,-28,180,-186,-339,180,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,180,180,180,180,-340,180,-340,-28,-73,-69,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,-334,-335,-336,-337,-287,180,180,-340,180,180,-221,-220,180,180,-237,180,180,180,180,180,-87,-74,180,-233,-234,-236,180,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,180,-12,180,-287,180,180,180,-340,180,180,180,-222,180,-224,180,-86,-75,180,-232,-235,-340,-201,-340,-68,180,180,180,-340,-28,-287,-223,180,180,180,180,180,180,-11,-287,180,180,-225,-87,-74,-227,-228,180,-340,180,180,180,-226,-229,180,180,-231,-230,]),'U32STRING_LITERAL':([15,51,52,53,81,90,91,94,95,114,115,116,121,126,128,135,136,141,147,148,149,150,153,154,155,156,160,161,164,178,179,180,181,182,183,184,195,197,208,221,222,223,224,225,226,227,228,229,230,231,232,234,238,242,247,256,257,258,259,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,300,301,302,303,306,309,310,323,332,347,355,356,358,360,361,362,365,366,367,369,370,371,372,374,375,377,378,379,380,381,382,383,384,385,386,387,388,389,392,393,394,397,400,401,402,405,448,455,457,467,469,470,471,474,479,480,482,483,484,487,489,498,499,500,503,510,511,512,520,524,525,526,527,528,529,532,533,543,544,545,552,553,554,555,556,559,562,565,570,572,579,580,582,584,585,586,],[-71,-131,-132,-133,-134,-90,-72,181,-340,-27,-28,-185,-338,181,181,181,-340,181,-287,-288,-289,-286,181,181,181,181,-290,-291,303,-330,-331,-332,-333,181,-340,-28,181,-186,-339,181,-219,-217,-218,-78,-79,-80,-81,-82,-83,-84,-85,181,181,181,181,-340,181,-340,-28,-73,-69,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,-334,-335,-336,-337,-287,181,181,-340,181,181,-221,-220,181,181,-237,181,181,181,181,181,-87,-74,181,-233,-234,-236,181,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-11,181,-12,181,-287,181,181,181,-340,181,181,181,-222,181,-224,181,-86,-75,181,-232,-235,-340,-201,-340,-68,181,181,181,-340,-28,-287,-223,181,181,181,181,181,181,-11,-287,181,181,-225,-87,-74,-227,-228,181,-340,181,181,181,-226,-229,181,181,-231,-230,]),'ELSE':([15,91,208,225,226,227,228,229,230,232,262,267,355,361,370,371,374,375,377,469,471,479,480,483,484,499,524,552,553,554,555,556,579,580,585,586,],[-71,-72,-339,-78,-79,-80,-81,-82,-83,-85,-73,-69,-221,-237,-87,-84,-233,-234,-236,-222,-224,-86,-84,-232,-235,-68,-223,-225,570,-84,-227,-228,-226,-229,-231,-230,]),'PPPRAGMASTR':([15,],[91,]),'EQUALS':([19,28,73,86,87,88,89,97,111,130,132,139,140,143,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,202,208,233,250,252,263,291,292,293,295,296,297,300,301,302,303,311,312,395,396,403,404,406,429,431,432,433,434,439,440,490,492,493,494,497,501,502,505,506,508,509,534,535,536,561,563,574,],[-52,-29,-181,135,-182,-54,-37,-53,195,-181,-55,-328,-30,-306,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,332,-339,-315,379,-38,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-35,-36,489,-202,-43,-44,-308,-295,-296,-297,-298,-299,-31,-34,-203,-205,-39,-42,-278,-293,-294,-284,-285,-32,-33,-204,-40,-41,-302,-309,-303,]),'COMMA':([19,24,25,28,29,30,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,51,52,53,54,55,56,57,58,59,60,73,74,75,76,77,78,81,84,85,86,87,88,89,97,104,106,108,110,111,113,114,115,116,118,119,122,123,130,132,139,140,142,143,144,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,187,189,190,191,192,196,197,200,201,202,206,208,212,214,216,233,239,248,249,250,252,253,254,255,263,265,291,292,293,295,296,297,300,301,302,303,311,312,315,316,317,318,319,320,321,324,325,326,327,328,329,330,331,334,336,337,340,341,342,344,345,346,348,349,350,352,353,354,376,391,403,404,406,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,438,439,440,444,445,446,447,459,460,461,462,463,464,468,472,473,475,476,477,485,486,488,493,494,497,501,502,505,506,508,509,515,516,518,522,523,531,535,536,537,538,539,546,547,548,549,550,551,557,560,561,563,566,567,574,576,577,578,],[-52,-128,-102,-29,-107,-340,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-181,-98,-99,-100,-101,-104,-134,134,-135,-137,-182,-54,-37,-53,-103,-129,194,-139,-141,-183,-27,-28,-185,-169,-170,-149,-150,-181,-55,-328,-30,266,-306,-255,-256,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,313,314,-189,-194,-340,-184,-186,331,-174,-179,-152,-339,-145,-147,-340,-315,365,-238,-242,-277,-38,-136,-138,-196,-329,365,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-35,-36,-191,-192,-193,-207,-56,-1,-2,-45,-209,-140,-142,331,331,-171,-175,-154,-156,-151,-143,-144,-148,466,-164,-166,-146,-130,-206,-207,-177,-178,365,487,-43,-44,-308,365,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,-272,-273,-274,-275,-276,365,503,-295,-313,-296,-297,-298,-299,507,-31,-34,-190,-195,-57,-208,-172,-173,-176,-180,-153,-155,-168,365,-240,-239,365,365,-243,-197,-199,-39,-42,-278,-293,-294,-284,-285,-32,-33,-210,-216,-214,-165,-167,-198,-40,-41,562,-257,-314,-50,-51,-212,-211,-213,-215,365,-200,-302,-309,-46,-49,-303,365,-47,-48,]),'RPAREN':([19,24,25,28,29,30,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,51,52,53,54,55,56,57,58,59,60,74,75,76,77,78,81,88,89,93,96,97,104,106,113,114,115,116,118,119,122,123,132,133,137,138,139,140,142,143,144,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,185,186,187,188,189,190,191,192,196,197,206,208,212,214,215,216,217,218,239,248,249,250,252,260,261,263,264,265,288,291,292,293,295,296,297,300,301,302,303,311,312,315,316,317,318,319,320,321,322,324,325,330,334,336,337,340,341,342,348,349,350,351,352,353,354,355,357,363,364,403,404,406,407,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,428,429,430,431,432,433,434,435,436,437,439,440,443,444,445,446,447,449,450,451,452,453,454,458,459,460,463,464,472,473,475,476,477,485,493,494,497,501,502,505,506,508,509,513,514,515,516,518,521,535,536,538,539,540,541,546,547,548,549,550,551,557,559,561,563,566,567,572,573,574,575,577,578,581,583,],[-52,-128,-102,-29,-107,-340,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-98,-99,-100,-101,-104,-134,-54,-37,140,-340,-53,-103,-129,-183,-27,-28,-185,-169,-170,-149,-150,-55,252,-340,262,-328,-30,267,-306,-255,-256,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,311,312,-187,-17,-18,-189,-194,-340,-184,-186,-152,-339,-145,-147,349,-340,353,354,-14,-238,-242,-277,-38,403,404,-329,405,406,429,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-35,-36,-191,-192,-193,-207,-56,-1,-2,-340,-45,-209,-171,-154,-156,-151,-143,-144,-148,-146,-130,-206,-340,-207,-177,-178,-221,-13,473,474,-43,-44,-308,499,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,-272,-273,-274,-275,-276,502,-295,-313,-296,-297,-298,-299,504,505,506,-31,-34,-188,-190,-195,-57,-208,-340,515,516,-207,-23,-24,-340,-172,-173,-153,-155,525,-240,-239,526,527,-243,-39,-42,-278,-293,-294,-284,-285,-32,-33,546,547,-210,-216,-214,551,-40,-41,-257,-314,563,-310,-50,-51,-212,-211,-213,-215,571,-340,-302,-309,-46,-49,-340,582,-303,-311,-47,-48,584,-312,]),'COLON':([19,24,28,31,32,33,35,38,39,40,41,42,43,44,45,46,47,48,49,51,52,53,81,87,88,89,97,106,118,119,122,123,130,132,139,140,143,144,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,206,208,209,212,214,233,235,248,249,250,252,263,291,292,293,295,296,297,300,301,302,303,311,312,330,334,336,337,340,341,342,346,348,349,353,354,359,403,404,406,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,439,440,459,460,463,464,466,473,475,485,493,494,497,501,502,505,506,508,509,535,536,538,561,563,574,],[-52,-128,-29,-125,-126,-127,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-131,-132,-133,-134,-182,-54,-37,-53,-129,-169,-170,-149,-150,-181,-55,-328,-30,-306,-255,-256,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-152,-339,347,-145,-147,358,360,-238,-242,-277,-38,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-35,-36,-171,-154,-156,-151,-143,-144,-148,467,-146,-130,-177,-178,470,-43,-44,-308,500,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,-272,-273,-274,-275,-276,-295,-296,-297,-298,-299,-31,-34,-172,-173,-153,-155,347,-240,-239,-243,-39,-42,-278,-293,-294,-284,-285,-32,-33,-40,-41,-257,-302,-309,-303,]),'LBRACKET':([19,24,25,28,29,30,31,32,33,34,35,38,39,40,41,42,43,44,45,46,47,48,49,51,52,53,54,55,56,57,58,59,60,74,75,76,77,78,81,88,89,97,104,106,113,114,115,116,118,119,121,122,123,132,139,140,143,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,192,196,197,206,208,212,214,216,233,252,256,263,291,292,300,301,302,303,311,312,318,319,322,324,325,330,334,336,337,340,341,342,348,349,351,352,353,354,395,396,403,404,406,429,431,432,433,434,439,440,446,447,452,459,460,463,464,487,490,492,493,494,498,501,502,508,509,515,516,518,534,535,536,540,541,546,547,548,549,550,551,561,562,563,566,567,574,575,577,578,583,],[95,-128,-102,-29,-107,-340,-125,-126,-127,-129,-241,-113,-114,-115,-116,-117,-118,-119,-120,-121,-122,-123,-124,-131,-132,-133,-105,-106,-108,-109,-110,-111,-112,-98,-99,-100,-101,-104,-134,136,-37,95,-103,-129,-183,-27,-28,-185,-169,-170,-338,-149,-150,136,-328,-30,-306,287,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,323,-184,-186,-152,-339,-145,-147,323,-315,-38,397,-329,-300,-301,-334,-335,-336,-337,-35,-36,323,448,323,-45,457,-171,-154,-156,-151,-143,-144,-148,-146,-130,323,323,-177,-178,397,-202,-43,-44,-308,-295,-296,-297,-298,-299,-31,-34,448,457,323,-172,-173,-153,-155,397,-203,-205,-39,-42,397,-293,-294,-32,-33,-210,-216,-214,-204,-40,-41,565,-310,-50,-51,-212,-211,-213,-215,-302,397,-309,-46,-49,-303,-311,-47,-48,-312,]),'RBRACKET':([51,52,53,81,95,114,115,116,136,139,143,144,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,184,197,208,248,249,250,257,259,263,291,292,293,295,296,297,300,301,302,303,305,306,307,308,323,399,400,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,429,431,432,433,434,441,442,448,455,456,457,473,475,485,491,495,496,497,501,502,505,506,510,512,517,519,520,538,542,543,561,563,568,569,574,576,],[-131,-132,-133,-134,-340,-27,-28,-185,-340,-328,-306,-255,-256,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-340,-28,-186,-339,-238,-242,-277,-340,-28,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,439,440,-3,-4,-340,493,494,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,-272,-273,-274,-275,-276,501,-295,-296,-297,-298,-299,508,509,-340,-340,518,-340,-240,-239,-243,534,535,536,-278,-293,-294,-284,-285,-340,-28,548,549,550,-257,566,567,-302,-309,577,578,-303,583,]),'PERIOD':([121,139,143,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,256,263,291,292,300,301,302,303,395,396,406,429,431,432,433,434,487,490,492,498,501,502,534,540,541,561,562,563,574,575,583,],[-338,-328,-306,289,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,398,-329,-300,-301,-334,-335,-336,-337,398,-202,-308,-295,-296,-297,-298,-299,398,-203,-205,398,-293,-294,-204,564,-310,-302,398,-309,-303,-311,-312,]),'ARROW':([139,143,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,263,291,292,300,301,302,303,406,429,431,432,433,434,501,502,561,563,574,],[-328,-306,290,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-329,-300,-301,-334,-335,-336,-337,-308,-295,-296,-297,-298,-299,-293,-294,-302,-309,-303,]),'CONDOP':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,268,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,-272,-273,-274,-275,-276,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'DIVIDE':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,270,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,270,270,270,270,270,270,270,270,270,270,270,270,270,270,270,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'MOD':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,271,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'RSHIFT':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,274,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,-262,-263,-264,-265,274,274,274,274,274,274,274,274,274,274,274,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'LSHIFT':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,275,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,-262,-263,-264,-265,275,275,275,275,275,275,275,275,275,275,275,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'LT':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,276,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,276,276,276,276,276,276,276,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'LE':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,277,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,277,277,277,277,277,277,277,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'GE':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,278,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,278,278,278,278,278,278,278,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'GT':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,279,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,279,279,279,279,279,279,279,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'EQ':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,280,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,280,280,280,280,280,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'NE':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,281,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,281,281,281,281,281,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'OR':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,283,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,-272,-273,-274,283,283,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'XOR':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,284,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,-272,284,-274,284,284,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'LAND':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,285,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,-272,-273,-274,-275,285,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'LOR':([139,143,145,146,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,286,-258,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,-277,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,-272,-273,-274,-275,-276,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'XOREQUAL':([139,143,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,380,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'TIMESEQUAL':([139,143,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,381,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'DIVEQUAL':([139,143,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,382,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'MODEQUAL':([139,143,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,383,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'PLUSEQUAL':([139,143,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,384,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'MINUSEQUAL':([139,143,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,385,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'LSHIFTEQUAL':([139,143,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,386,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'RSHIFTEQUAL':([139,143,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,387,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'ANDEQUAL':([139,143,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,388,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'OREQUAL':([139,143,151,152,158,159,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,208,233,250,263,291,292,293,295,296,297,300,301,302,303,406,429,431,432,433,434,497,501,502,505,506,561,563,574,],[-328,-306,-277,-279,-292,-315,-304,-305,-307,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-330,-331,-332,-333,-339,-315,389,-329,-300,-301,-280,-281,-282,-283,-334,-335,-336,-337,-308,-295,-296,-297,-298,-299,-278,-293,-294,-284,-285,-302,-309,-303,]),'ELLIPSIS':([313,],[443,]),} + +_lr_action = {} +for _k, _v in _lr_action_items.items(): + for _x,_y in zip(_v[0],_v[1]): + if not _x in _lr_action: _lr_action[_x] = {} + _lr_action[_x][_k] = _y +del _lr_action_items + +_lr_goto_items = {'translation_unit_or_empty':([0,],[1,]),'translation_unit':([0,],[2,]),'empty':([0,11,12,21,22,23,26,27,30,34,69,70,71,73,95,96,101,128,136,137,182,183,192,209,216,221,242,256,257,258,322,323,351,358,360,369,372,448,449,455,457,458,470,482,487,498,510,511,525,526,527,529,559,562,570,572,582,584,],[3,66,83,99,99,99,107,99,114,99,83,107,99,66,114,188,99,220,114,188,307,114,320,343,320,357,357,392,307,114,453,114,453,357,357,357,357,114,188,307,307,453,357,357,533,533,307,114,357,357,357,357,357,533,357,357,357,357,]),'external_declaration':([0,2,],[4,64,]),'function_definition':([0,2,],[5,5,]),'declaration':([0,2,11,67,73,128,221,372,],[6,6,68,129,68,223,223,482,]),'pp_directive':([0,2,],[7,7,]),'pppragma_directive':([0,2,124,128,203,204,205,221,242,333,335,358,360,369,470,525,526,527,570,582,584,],[8,8,211,231,211,211,211,231,371,211,211,371,371,480,371,554,371,371,371,371,371,]),'static_assert':([0,2,128,221,242,358,360,369,470,525,526,527,570,582,584,],[10,10,232,232,232,232,232,232,232,232,232,232,232,232,232,]),'id_declarator':([0,2,12,17,26,69,70,82,134,192,194,209,322,466,],[11,11,73,93,111,130,111,93,130,315,130,130,93,130,]),'declaration_specifiers':([0,2,11,67,73,96,128,137,221,313,322,351,372,449,458,],[12,12,69,69,69,192,69,192,69,192,192,192,69,192,192,]),'decl_body':([0,2,11,67,73,128,221,372,],[13,13,13,13,13,13,13,13,]),'direct_id_declarator':([0,2,12,17,20,26,69,70,80,82,134,192,194,209,318,322,452,466,],[19,19,19,19,97,19,19,19,97,19,19,19,19,19,97,19,97,19,]),'pointer':([0,2,12,17,26,69,70,82,113,134,192,194,209,216,322,351,466,],[20,20,80,20,20,80,20,80,196,80,318,80,80,352,452,352,80,]),'type_qualifier':([0,2,11,12,21,22,23,27,30,34,67,69,71,73,95,96,101,115,124,125,126,128,136,137,141,183,184,192,203,204,205,209,213,216,221,238,258,259,294,298,299,304,313,322,323,333,335,351,372,448,449,458,511,512,],[21,21,21,74,21,21,21,21,116,21,21,74,21,21,116,21,21,197,116,116,116,21,116,21,116,116,197,74,116,116,116,341,197,341,21,116,116,197,116,116,116,116,21,21,116,116,116,21,21,116,21,21,116,197,]),'storage_class_specifier':([0,2,11,12,21,22,23,27,34,67,69,71,73,96,101,128,137,192,221,313,322,351,372,449,458,],[22,22,22,75,22,22,22,22,22,22,75,22,22,22,22,22,22,75,22,22,22,22,22,22,22,]),'function_specifier':([0,2,11,12,21,22,23,27,34,67,69,71,73,96,101,128,137,192,221,313,322,351,372,449,458,],[23,23,23,76,23,23,23,23,23,23,76,23,23,23,23,23,23,76,23,23,23,23,23,23,23,]),'type_specifier_no_typeid':([0,2,11,12,26,67,69,70,73,96,124,125,126,128,137,141,192,193,203,204,205,209,213,216,221,238,294,298,299,304,313,322,333,335,351,372,449,458,],[24,24,24,77,24,24,77,24,24,24,24,24,24,24,24,24,77,24,24,24,24,340,24,340,24,24,24,24,24,24,24,24,24,24,24,24,24,24,]),'type_specifier':([0,2,11,26,67,70,73,96,124,125,126,128,137,141,193,203,204,205,213,221,238,294,298,299,304,313,322,333,335,351,372,449,458,],[25,25,25,104,25,104,25,25,212,212,212,25,25,212,104,212,212,212,348,25,212,212,212,212,212,25,25,212,212,25,25,25,25,]),'declaration_specifiers_no_type':([0,2,11,21,22,23,27,34,67,71,73,96,101,128,137,221,313,322,351,372,449,458,],[26,26,70,100,100,100,100,100,70,100,70,193,100,70,193,70,193,193,193,70,193,193,]),'alignment_specifier':([0,2,11,12,21,22,23,27,34,67,69,71,73,96,101,124,125,126,128,137,141,192,203,204,205,209,216,221,238,294,298,299,304,313,322,333,335,351,372,449,458,],[27,27,27,78,27,27,27,27,27,27,78,27,27,27,27,214,214,214,27,27,214,78,214,214,214,342,342,27,214,214,214,214,214,27,27,214,214,27,27,27,27,]),'typedef_name':([0,2,11,26,67,70,73,96,124,125,126,128,137,141,193,203,204,205,213,221,238,294,298,299,304,313,322,333,335,351,372,449,458,],[31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,]),'enum_specifier':([0,2,11,26,67,70,73,96,124,125,126,128,137,141,193,203,204,205,213,221,238,294,298,299,304,313,322,333,335,351,372,449,458,],[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,]),'struct_or_union_specifier':([0,2,11,26,67,70,73,96,124,125,126,128,137,141,193,203,204,205,213,221,238,294,298,299,304,313,322,333,335,351,372,449,458,],[33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,]),'atomic_specifier':([0,2,11,21,22,23,26,27,34,67,70,71,73,96,101,124,125,126,128,137,141,193,203,204,205,213,221,238,294,298,299,304,313,322,333,335,351,372,449,458,],[34,34,71,101,101,101,106,101,101,71,106,101,71,34,101,106,106,106,71,34,106,106,106,106,106,106,71,106,106,106,106,106,34,34,106,106,34,71,34,34,]),'struct_or_union':([0,2,11,26,67,70,73,96,124,125,126,128,137,141,193,203,204,205,213,221,238,294,298,299,304,313,322,333,335,351,372,449,458,],[37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,]),'declaration_list_opt':([11,73,],[65,131,]),'declaration_list':([11,73,],[67,67,]),'init_declarator_list_opt':([12,69,],[79,79,]),'init_declarator_list':([12,69,],[84,84,]),'init_declarator':([12,69,134,194,],[85,85,253,326,]),'declarator':([12,69,134,194,209,466,],[86,86,86,86,346,346,]),'typeid_declarator':([12,69,82,134,194,209,466,],[87,87,133,87,87,87,87,]),'direct_typeid_declarator':([12,69,80,82,134,194,209,466,],[88,88,132,88,88,88,88,88,]),'declaration_specifiers_no_type_opt':([21,22,23,27,34,71,101,],[98,102,103,112,117,117,117,]),'id_init_declarator_list_opt':([26,70,],[105,105,]),'id_init_declarator_list':([26,70,],[108,108,]),'id_init_declarator':([26,70,],[110,110,]),'type_qualifier_list_opt':([30,95,136,183,258,323,448,511,],[113,182,257,309,401,455,510,544,]),'type_qualifier_list':([30,95,124,125,126,136,141,183,203,204,205,238,258,294,298,299,304,323,333,335,448,511,],[115,184,213,213,213,259,213,115,213,213,213,213,115,213,213,213,213,115,213,213,512,115,]),'brace_open':([36,37,65,118,119,122,123,128,131,135,195,221,238,242,358,360,369,393,405,470,474,504,505,525,526,527,532,570,582,584,],[120,124,128,198,199,203,204,128,128,256,256,128,128,128,128,128,128,256,498,128,498,498,498,128,128,128,256,128,128,128,]),'compound_statement':([65,128,131,221,238,242,358,360,369,470,525,526,527,570,582,584,],[127,227,251,227,363,227,227,227,227,227,227,227,227,227,227,227,]),'unified_string_literal':([92,94,126,128,135,141,153,154,155,156,182,195,221,234,238,242,247,257,266,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,309,310,332,347,358,360,362,365,366,367,369,372,378,393,397,401,402,405,455,457,467,470,474,482,500,503,510,525,526,527,528,529,532,544,545,559,565,570,572,582,584,],[138,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,407,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,]),'constant_expression':([94,126,234,332,347,397,467,],[142,218,359,462,468,491,523,]),'conditional_expression':([94,126,128,135,141,182,195,221,234,238,242,247,257,268,287,288,294,298,309,310,332,347,358,360,362,365,366,367,369,372,378,393,397,401,402,455,457,467,470,482,500,503,510,525,526,527,528,529,532,544,545,559,565,570,572,582,584,],[144,144,249,249,249,249,249,249,144,249,249,249,249,249,249,249,249,249,249,249,144,144,249,249,249,249,249,249,249,249,249,249,144,249,249,249,249,144,249,249,538,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,]),'binary_expression':([94,126,128,135,141,182,195,221,234,238,242,247,257,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,309,310,332,347,358,360,362,365,366,367,369,372,378,393,397,401,402,455,457,467,470,482,500,503,510,525,526,527,528,529,532,544,545,559,565,570,572,582,584,],[145,145,145,145,145,145,145,145,145,145,145,145,145,145,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,]),'cast_expression':([94,126,128,135,141,155,182,195,221,234,238,242,247,257,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,309,310,332,347,358,360,362,365,366,367,369,372,378,393,397,401,402,405,455,457,467,470,474,482,500,503,510,525,526,527,528,529,532,544,545,559,565,570,572,582,584,],[146,146,146,146,146,296,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,497,146,146,146,146,497,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,]),'unary_expression':([94,126,128,135,141,153,154,155,156,182,195,221,234,238,242,247,257,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,309,310,332,347,358,360,362,365,366,367,369,372,378,393,397,401,402,405,455,457,467,470,474,482,500,503,510,525,526,527,528,529,532,544,545,559,565,570,572,582,584,],[151,151,250,250,250,293,295,151,297,250,250,250,151,250,250,250,250,250,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,250,250,250,250,250,250,151,151,250,250,250,250,250,250,250,250,250,250,151,250,250,151,250,250,151,250,151,250,151,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,]),'postfix_expression':([94,126,128,135,141,153,154,155,156,182,195,221,234,238,242,247,257,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,309,310,332,347,358,360,362,365,366,367,369,372,378,393,397,401,402,405,455,457,467,470,474,482,500,503,510,525,526,527,528,529,532,544,545,559,565,570,572,582,584,],[152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,]),'unary_operator':([94,126,128,135,141,153,154,155,156,182,195,221,234,238,242,247,257,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,309,310,332,347,358,360,362,365,366,367,369,372,378,393,397,401,402,405,455,457,467,470,474,482,500,503,510,525,526,527,528,529,532,544,545,559,565,570,572,582,584,],[155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,]),'primary_expression':([94,126,128,135,141,153,154,155,156,182,195,221,234,238,242,247,257,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,309,310,332,347,358,360,362,365,366,367,369,372,378,393,397,401,402,405,455,457,467,470,474,482,500,503,510,525,526,527,528,529,532,544,545,559,565,570,572,582,584,],[158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,]),'identifier':([94,96,126,128,135,137,141,153,154,155,156,182,195,221,234,238,242,247,257,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,309,310,314,332,347,358,360,362,365,366,367,369,372,378,393,397,398,401,402,405,449,455,457,467,470,474,482,500,503,507,510,525,526,527,528,529,532,544,545,559,564,565,570,572,582,584,],[162,191,162,162,162,191,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,445,162,162,162,162,162,162,162,162,162,162,162,162,162,492,162,162,162,191,162,162,162,162,162,162,162,162,541,162,162,162,162,162,162,162,162,162,162,575,162,162,162,162,162,]),'constant':([94,126,128,135,141,153,154,155,156,182,195,221,234,238,242,247,257,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,309,310,332,347,358,360,362,365,366,367,369,372,378,393,397,401,402,405,455,457,467,470,474,482,500,503,510,525,526,527,528,529,532,544,545,559,565,570,572,582,584,],[163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,]),'unified_wstring_literal':([94,126,128,135,141,153,154,155,156,182,195,221,234,238,242,247,257,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,294,298,309,310,332,347,358,360,362,365,366,367,369,372,378,393,397,401,402,405,455,457,467,470,474,482,500,503,510,525,526,527,528,529,532,544,545,559,565,570,572,582,584,],[164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,]),'parameter_type_list':([96,137,322,351,449,458,],[185,260,454,454,513,454,]),'identifier_list_opt':([96,137,449,],[186,261,514,]),'parameter_list':([96,137,322,351,449,458,],[187,187,187,187,187,187,]),'identifier_list':([96,137,449,],[189,189,189,]),'parameter_declaration':([96,137,313,322,351,449,458,],[190,190,444,190,190,190,190,]),'enumerator_list':([120,198,199,],[200,328,329,]),'enumerator':([120,198,199,331,],[201,201,201,461,]),'struct_declaration_list':([124,203,204,],[205,333,335,]),'brace_close':([124,200,203,204,205,219,328,329,333,335,390,487,537,562,],[206,330,334,336,337,355,459,460,463,464,486,531,561,574,]),'struct_declaration':([124,203,204,205,333,335,],[207,207,207,338,338,338,]),'specifier_qualifier_list':([124,125,126,141,203,204,205,238,294,298,299,304,333,335,],[209,216,216,216,209,209,209,216,216,216,216,216,209,209,]),'type_name':([125,126,141,238,294,298,299,304,],[215,217,264,364,435,436,437,438,]),'block_item_list_opt':([128,],[219,]),'block_item_list':([128,],[221,]),'block_item':([128,221,],[222,356,]),'statement':([128,221,242,358,360,369,470,525,526,527,570,582,584,],[224,224,370,370,370,479,370,553,370,370,370,370,370,]),'labeled_statement':([128,221,242,358,360,369,470,525,526,527,570,582,584,],[225,225,225,225,225,225,225,225,225,225,225,225,225,]),'expression_statement':([128,221,242,358,360,369,470,525,526,527,570,582,584,],[226,226,226,226,226,226,226,226,226,226,226,226,226,]),'selection_statement':([128,221,242,358,360,369,470,525,526,527,570,582,584,],[228,228,228,228,228,228,228,228,228,228,228,228,228,]),'iteration_statement':([128,221,242,358,360,369,470,525,526,527,570,582,584,],[229,229,229,229,229,229,229,229,229,229,229,229,229,]),'jump_statement':([128,221,242,358,360,369,470,525,526,527,570,582,584,],[230,230,230,230,230,230,230,230,230,230,230,230,230,]),'expression_opt':([128,221,242,358,360,369,372,470,482,525,526,527,529,559,570,572,582,584,],[236,236,236,236,236,236,481,236,530,236,236,236,558,573,236,581,236,236,]),'expression':([128,141,221,238,242,247,268,287,294,298,358,360,362,366,367,369,372,470,482,525,526,527,528,529,559,565,570,572,582,584,],[239,265,239,265,239,376,408,427,265,265,239,239,472,476,477,239,239,239,239,239,239,239,557,239,239,576,239,239,239,239,]),'assignment_expression':([128,135,141,182,195,221,238,242,247,257,268,287,288,294,298,309,310,358,360,362,365,366,367,369,372,378,393,401,402,455,457,470,482,503,510,525,526,527,528,529,532,544,545,559,565,570,572,582,584,],[248,255,248,308,255,248,248,248,248,308,248,248,430,248,248,441,442,248,248,248,475,248,248,248,248,485,255,495,496,308,308,248,248,539,308,248,248,248,248,248,255,568,569,248,248,248,248,248,248,]),'initializer':([135,195,393,532,],[254,327,488,560,]),'assignment_expression_opt':([182,257,455,457,510,],[305,399,517,519,542,]),'typeid_noparen_declarator':([192,],[316,]),'abstract_declarator_opt':([192,216,],[317,350,]),'direct_typeid_noparen_declarator':([192,318,],[319,446,]),'abstract_declarator':([192,216,322,351,],[321,321,450,450,]),'direct_abstract_declarator':([192,216,318,322,351,352,452,],[325,325,447,325,325,447,447,]),'struct_declarator_list_opt':([209,],[339,]),'struct_declarator_list':([209,],[344,]),'struct_declarator':([209,466,],[345,522,]),'pragmacomp_or_statement':([242,358,360,470,525,526,527,570,582,584,],[368,469,471,524,552,555,556,579,585,586,]),'pppragma_directive_list':([242,358,360,470,525,526,527,570,582,584,],[369,369,369,369,369,369,369,369,369,369,]),'assignment_operator':([250,],[378,]),'initializer_list_opt':([256,],[390,]),'initializer_list':([256,498,],[391,537,]),'designation_opt':([256,487,498,562,],[393,532,393,532,]),'designation':([256,487,498,562,],[394,394,394,394,]),'designator_list':([256,487,498,562,],[395,395,395,395,]),'designator':([256,395,487,498,562,],[396,490,396,396,396,]),'argument_expression_list':([288,],[428,]),'parameter_type_list_opt':([322,351,458,],[451,451,521,]),'offsetof_member_designator':([507,],[540,]),} + +_lr_goto = {} +for _k, _v in _lr_goto_items.items(): + for _x, _y in zip(_v[0], _v[1]): + if not _x in _lr_goto: _lr_goto[_x] = {} + _lr_goto[_x][_k] = _y +del _lr_goto_items +_lr_productions = [ + ("S' -> translation_unit_or_empty","S'",1,None,None,None), + ('abstract_declarator_opt -> empty','abstract_declarator_opt',1,'p_abstract_declarator_opt','plyparser.py',43), + ('abstract_declarator_opt -> abstract_declarator','abstract_declarator_opt',1,'p_abstract_declarator_opt','plyparser.py',44), + ('assignment_expression_opt -> empty','assignment_expression_opt',1,'p_assignment_expression_opt','plyparser.py',43), + ('assignment_expression_opt -> assignment_expression','assignment_expression_opt',1,'p_assignment_expression_opt','plyparser.py',44), + ('block_item_list_opt -> empty','block_item_list_opt',1,'p_block_item_list_opt','plyparser.py',43), + ('block_item_list_opt -> block_item_list','block_item_list_opt',1,'p_block_item_list_opt','plyparser.py',44), + ('declaration_list_opt -> empty','declaration_list_opt',1,'p_declaration_list_opt','plyparser.py',43), + ('declaration_list_opt -> declaration_list','declaration_list_opt',1,'p_declaration_list_opt','plyparser.py',44), + ('declaration_specifiers_no_type_opt -> empty','declaration_specifiers_no_type_opt',1,'p_declaration_specifiers_no_type_opt','plyparser.py',43), + ('declaration_specifiers_no_type_opt -> declaration_specifiers_no_type','declaration_specifiers_no_type_opt',1,'p_declaration_specifiers_no_type_opt','plyparser.py',44), + ('designation_opt -> empty','designation_opt',1,'p_designation_opt','plyparser.py',43), + ('designation_opt -> designation','designation_opt',1,'p_designation_opt','plyparser.py',44), + ('expression_opt -> empty','expression_opt',1,'p_expression_opt','plyparser.py',43), + ('expression_opt -> expression','expression_opt',1,'p_expression_opt','plyparser.py',44), + ('id_init_declarator_list_opt -> empty','id_init_declarator_list_opt',1,'p_id_init_declarator_list_opt','plyparser.py',43), + ('id_init_declarator_list_opt -> id_init_declarator_list','id_init_declarator_list_opt',1,'p_id_init_declarator_list_opt','plyparser.py',44), + ('identifier_list_opt -> empty','identifier_list_opt',1,'p_identifier_list_opt','plyparser.py',43), + ('identifier_list_opt -> identifier_list','identifier_list_opt',1,'p_identifier_list_opt','plyparser.py',44), + ('init_declarator_list_opt -> empty','init_declarator_list_opt',1,'p_init_declarator_list_opt','plyparser.py',43), + ('init_declarator_list_opt -> init_declarator_list','init_declarator_list_opt',1,'p_init_declarator_list_opt','plyparser.py',44), + ('initializer_list_opt -> empty','initializer_list_opt',1,'p_initializer_list_opt','plyparser.py',43), + ('initializer_list_opt -> initializer_list','initializer_list_opt',1,'p_initializer_list_opt','plyparser.py',44), + ('parameter_type_list_opt -> empty','parameter_type_list_opt',1,'p_parameter_type_list_opt','plyparser.py',43), + ('parameter_type_list_opt -> parameter_type_list','parameter_type_list_opt',1,'p_parameter_type_list_opt','plyparser.py',44), + ('struct_declarator_list_opt -> empty','struct_declarator_list_opt',1,'p_struct_declarator_list_opt','plyparser.py',43), + ('struct_declarator_list_opt -> struct_declarator_list','struct_declarator_list_opt',1,'p_struct_declarator_list_opt','plyparser.py',44), + ('type_qualifier_list_opt -> empty','type_qualifier_list_opt',1,'p_type_qualifier_list_opt','plyparser.py',43), + ('type_qualifier_list_opt -> type_qualifier_list','type_qualifier_list_opt',1,'p_type_qualifier_list_opt','plyparser.py',44), + ('direct_id_declarator -> ID','direct_id_declarator',1,'p_direct_id_declarator_1','plyparser.py',126), + ('direct_id_declarator -> LPAREN id_declarator RPAREN','direct_id_declarator',3,'p_direct_id_declarator_2','plyparser.py',126), + ('direct_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET','direct_id_declarator',5,'p_direct_id_declarator_3','plyparser.py',126), + ('direct_id_declarator -> direct_id_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET','direct_id_declarator',6,'p_direct_id_declarator_4','plyparser.py',126), + ('direct_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET','direct_id_declarator',6,'p_direct_id_declarator_4','plyparser.py',127), + ('direct_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET','direct_id_declarator',5,'p_direct_id_declarator_5','plyparser.py',126), + ('direct_id_declarator -> direct_id_declarator LPAREN parameter_type_list RPAREN','direct_id_declarator',4,'p_direct_id_declarator_6','plyparser.py',126), + ('direct_id_declarator -> direct_id_declarator LPAREN identifier_list_opt RPAREN','direct_id_declarator',4,'p_direct_id_declarator_6','plyparser.py',127), + ('direct_typeid_declarator -> TYPEID','direct_typeid_declarator',1,'p_direct_typeid_declarator_1','plyparser.py',126), + ('direct_typeid_declarator -> LPAREN typeid_declarator RPAREN','direct_typeid_declarator',3,'p_direct_typeid_declarator_2','plyparser.py',126), + ('direct_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET','direct_typeid_declarator',5,'p_direct_typeid_declarator_3','plyparser.py',126), + ('direct_typeid_declarator -> direct_typeid_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET','direct_typeid_declarator',6,'p_direct_typeid_declarator_4','plyparser.py',126), + ('direct_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET','direct_typeid_declarator',6,'p_direct_typeid_declarator_4','plyparser.py',127), + ('direct_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET','direct_typeid_declarator',5,'p_direct_typeid_declarator_5','plyparser.py',126), + ('direct_typeid_declarator -> direct_typeid_declarator LPAREN parameter_type_list RPAREN','direct_typeid_declarator',4,'p_direct_typeid_declarator_6','plyparser.py',126), + ('direct_typeid_declarator -> direct_typeid_declarator LPAREN identifier_list_opt RPAREN','direct_typeid_declarator',4,'p_direct_typeid_declarator_6','plyparser.py',127), + ('direct_typeid_noparen_declarator -> TYPEID','direct_typeid_noparen_declarator',1,'p_direct_typeid_noparen_declarator_1','plyparser.py',126), + ('direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET','direct_typeid_noparen_declarator',5,'p_direct_typeid_noparen_declarator_3','plyparser.py',126), + ('direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET','direct_typeid_noparen_declarator',6,'p_direct_typeid_noparen_declarator_4','plyparser.py',126), + ('direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET','direct_typeid_noparen_declarator',6,'p_direct_typeid_noparen_declarator_4','plyparser.py',127), + ('direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET','direct_typeid_noparen_declarator',5,'p_direct_typeid_noparen_declarator_5','plyparser.py',126), + ('direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN parameter_type_list RPAREN','direct_typeid_noparen_declarator',4,'p_direct_typeid_noparen_declarator_6','plyparser.py',126), + ('direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN identifier_list_opt RPAREN','direct_typeid_noparen_declarator',4,'p_direct_typeid_noparen_declarator_6','plyparser.py',127), + ('id_declarator -> direct_id_declarator','id_declarator',1,'p_id_declarator_1','plyparser.py',126), + ('id_declarator -> pointer direct_id_declarator','id_declarator',2,'p_id_declarator_2','plyparser.py',126), + ('typeid_declarator -> direct_typeid_declarator','typeid_declarator',1,'p_typeid_declarator_1','plyparser.py',126), + ('typeid_declarator -> pointer direct_typeid_declarator','typeid_declarator',2,'p_typeid_declarator_2','plyparser.py',126), + ('typeid_noparen_declarator -> direct_typeid_noparen_declarator','typeid_noparen_declarator',1,'p_typeid_noparen_declarator_1','plyparser.py',126), + ('typeid_noparen_declarator -> pointer direct_typeid_noparen_declarator','typeid_noparen_declarator',2,'p_typeid_noparen_declarator_2','plyparser.py',126), + ('translation_unit_or_empty -> translation_unit','translation_unit_or_empty',1,'p_translation_unit_or_empty','c_parser.py',509), + ('translation_unit_or_empty -> empty','translation_unit_or_empty',1,'p_translation_unit_or_empty','c_parser.py',510), + ('translation_unit -> external_declaration','translation_unit',1,'p_translation_unit_1','c_parser.py',518), + ('translation_unit -> translation_unit external_declaration','translation_unit',2,'p_translation_unit_2','c_parser.py',524), + ('external_declaration -> function_definition','external_declaration',1,'p_external_declaration_1','c_parser.py',534), + ('external_declaration -> declaration','external_declaration',1,'p_external_declaration_2','c_parser.py',539), + ('external_declaration -> pp_directive','external_declaration',1,'p_external_declaration_3','c_parser.py',544), + ('external_declaration -> pppragma_directive','external_declaration',1,'p_external_declaration_3','c_parser.py',545), + ('external_declaration -> SEMI','external_declaration',1,'p_external_declaration_4','c_parser.py',550), + ('external_declaration -> static_assert','external_declaration',1,'p_external_declaration_5','c_parser.py',555), + ('static_assert -> _STATIC_ASSERT LPAREN constant_expression COMMA unified_string_literal RPAREN','static_assert',6,'p_static_assert_declaration','c_parser.py',560), + ('static_assert -> _STATIC_ASSERT LPAREN constant_expression RPAREN','static_assert',4,'p_static_assert_declaration','c_parser.py',561), + ('pp_directive -> PPHASH','pp_directive',1,'p_pp_directive','c_parser.py',569), + ('pppragma_directive -> PPPRAGMA','pppragma_directive',1,'p_pppragma_directive','c_parser.py',580), + ('pppragma_directive -> PPPRAGMA PPPRAGMASTR','pppragma_directive',2,'p_pppragma_directive','c_parser.py',581), + ('pppragma_directive -> _PRAGMA LPAREN unified_string_literal RPAREN','pppragma_directive',4,'p_pppragma_directive','c_parser.py',582), + ('pppragma_directive_list -> pppragma_directive','pppragma_directive_list',1,'p_pppragma_directive_list','c_parser.py',592), + ('pppragma_directive_list -> pppragma_directive_list pppragma_directive','pppragma_directive_list',2,'p_pppragma_directive_list','c_parser.py',593), + ('function_definition -> id_declarator declaration_list_opt compound_statement','function_definition',3,'p_function_definition_1','c_parser.py',600), + ('function_definition -> declaration_specifiers id_declarator declaration_list_opt compound_statement','function_definition',4,'p_function_definition_2','c_parser.py',618), + ('statement -> labeled_statement','statement',1,'p_statement','c_parser.py',633), + ('statement -> expression_statement','statement',1,'p_statement','c_parser.py',634), + ('statement -> compound_statement','statement',1,'p_statement','c_parser.py',635), + ('statement -> selection_statement','statement',1,'p_statement','c_parser.py',636), + ('statement -> iteration_statement','statement',1,'p_statement','c_parser.py',637), + ('statement -> jump_statement','statement',1,'p_statement','c_parser.py',638), + ('statement -> pppragma_directive','statement',1,'p_statement','c_parser.py',639), + ('statement -> static_assert','statement',1,'p_statement','c_parser.py',640), + ('pragmacomp_or_statement -> pppragma_directive_list statement','pragmacomp_or_statement',2,'p_pragmacomp_or_statement','c_parser.py',688), + ('pragmacomp_or_statement -> statement','pragmacomp_or_statement',1,'p_pragmacomp_or_statement','c_parser.py',689), + ('decl_body -> declaration_specifiers init_declarator_list_opt','decl_body',2,'p_decl_body','c_parser.py',708), + ('decl_body -> declaration_specifiers_no_type id_init_declarator_list_opt','decl_body',2,'p_decl_body','c_parser.py',709), + ('declaration -> decl_body SEMI','declaration',2,'p_declaration','c_parser.py',769), + ('declaration_list -> declaration','declaration_list',1,'p_declaration_list','c_parser.py',778), + ('declaration_list -> declaration_list declaration','declaration_list',2,'p_declaration_list','c_parser.py',779), + ('declaration_specifiers_no_type -> type_qualifier declaration_specifiers_no_type_opt','declaration_specifiers_no_type',2,'p_declaration_specifiers_no_type_1','c_parser.py',789), + ('declaration_specifiers_no_type -> storage_class_specifier declaration_specifiers_no_type_opt','declaration_specifiers_no_type',2,'p_declaration_specifiers_no_type_2','c_parser.py',794), + ('declaration_specifiers_no_type -> function_specifier declaration_specifiers_no_type_opt','declaration_specifiers_no_type',2,'p_declaration_specifiers_no_type_3','c_parser.py',799), + ('declaration_specifiers_no_type -> atomic_specifier declaration_specifiers_no_type_opt','declaration_specifiers_no_type',2,'p_declaration_specifiers_no_type_4','c_parser.py',806), + ('declaration_specifiers_no_type -> alignment_specifier declaration_specifiers_no_type_opt','declaration_specifiers_no_type',2,'p_declaration_specifiers_no_type_5','c_parser.py',811), + ('declaration_specifiers -> declaration_specifiers type_qualifier','declaration_specifiers',2,'p_declaration_specifiers_1','c_parser.py',816), + ('declaration_specifiers -> declaration_specifiers storage_class_specifier','declaration_specifiers',2,'p_declaration_specifiers_2','c_parser.py',821), + ('declaration_specifiers -> declaration_specifiers function_specifier','declaration_specifiers',2,'p_declaration_specifiers_3','c_parser.py',826), + ('declaration_specifiers -> declaration_specifiers type_specifier_no_typeid','declaration_specifiers',2,'p_declaration_specifiers_4','c_parser.py',831), + ('declaration_specifiers -> type_specifier','declaration_specifiers',1,'p_declaration_specifiers_5','c_parser.py',836), + ('declaration_specifiers -> declaration_specifiers_no_type type_specifier','declaration_specifiers',2,'p_declaration_specifiers_6','c_parser.py',841), + ('declaration_specifiers -> declaration_specifiers alignment_specifier','declaration_specifiers',2,'p_declaration_specifiers_7','c_parser.py',846), + ('storage_class_specifier -> AUTO','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',851), + ('storage_class_specifier -> REGISTER','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',852), + ('storage_class_specifier -> STATIC','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',853), + ('storage_class_specifier -> EXTERN','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',854), + ('storage_class_specifier -> TYPEDEF','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',855), + ('storage_class_specifier -> _THREAD_LOCAL','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',856), + ('function_specifier -> INLINE','function_specifier',1,'p_function_specifier','c_parser.py',861), + ('function_specifier -> _NORETURN','function_specifier',1,'p_function_specifier','c_parser.py',862), + ('type_specifier_no_typeid -> VOID','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',867), + ('type_specifier_no_typeid -> _BOOL','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',868), + ('type_specifier_no_typeid -> CHAR','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',869), + ('type_specifier_no_typeid -> SHORT','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',870), + ('type_specifier_no_typeid -> INT','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',871), + ('type_specifier_no_typeid -> LONG','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',872), + ('type_specifier_no_typeid -> FLOAT','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',873), + ('type_specifier_no_typeid -> DOUBLE','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',874), + ('type_specifier_no_typeid -> _COMPLEX','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',875), + ('type_specifier_no_typeid -> SIGNED','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',876), + ('type_specifier_no_typeid -> UNSIGNED','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',877), + ('type_specifier_no_typeid -> __INT128','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',878), + ('type_specifier -> typedef_name','type_specifier',1,'p_type_specifier','c_parser.py',883), + ('type_specifier -> enum_specifier','type_specifier',1,'p_type_specifier','c_parser.py',884), + ('type_specifier -> struct_or_union_specifier','type_specifier',1,'p_type_specifier','c_parser.py',885), + ('type_specifier -> type_specifier_no_typeid','type_specifier',1,'p_type_specifier','c_parser.py',886), + ('type_specifier -> atomic_specifier','type_specifier',1,'p_type_specifier','c_parser.py',887), + ('atomic_specifier -> _ATOMIC LPAREN type_name RPAREN','atomic_specifier',4,'p_atomic_specifier','c_parser.py',893), + ('type_qualifier -> CONST','type_qualifier',1,'p_type_qualifier','c_parser.py',900), + ('type_qualifier -> RESTRICT','type_qualifier',1,'p_type_qualifier','c_parser.py',901), + ('type_qualifier -> VOLATILE','type_qualifier',1,'p_type_qualifier','c_parser.py',902), + ('type_qualifier -> _ATOMIC','type_qualifier',1,'p_type_qualifier','c_parser.py',903), + ('init_declarator_list -> init_declarator','init_declarator_list',1,'p_init_declarator_list','c_parser.py',908), + ('init_declarator_list -> init_declarator_list COMMA init_declarator','init_declarator_list',3,'p_init_declarator_list','c_parser.py',909), + ('init_declarator -> declarator','init_declarator',1,'p_init_declarator','c_parser.py',917), + ('init_declarator -> declarator EQUALS initializer','init_declarator',3,'p_init_declarator','c_parser.py',918), + ('id_init_declarator_list -> id_init_declarator','id_init_declarator_list',1,'p_id_init_declarator_list','c_parser.py',923), + ('id_init_declarator_list -> id_init_declarator_list COMMA init_declarator','id_init_declarator_list',3,'p_id_init_declarator_list','c_parser.py',924), + ('id_init_declarator -> id_declarator','id_init_declarator',1,'p_id_init_declarator','c_parser.py',929), + ('id_init_declarator -> id_declarator EQUALS initializer','id_init_declarator',3,'p_id_init_declarator','c_parser.py',930), + ('specifier_qualifier_list -> specifier_qualifier_list type_specifier_no_typeid','specifier_qualifier_list',2,'p_specifier_qualifier_list_1','c_parser.py',937), + ('specifier_qualifier_list -> specifier_qualifier_list type_qualifier','specifier_qualifier_list',2,'p_specifier_qualifier_list_2','c_parser.py',942), + ('specifier_qualifier_list -> type_specifier','specifier_qualifier_list',1,'p_specifier_qualifier_list_3','c_parser.py',947), + ('specifier_qualifier_list -> type_qualifier_list type_specifier','specifier_qualifier_list',2,'p_specifier_qualifier_list_4','c_parser.py',952), + ('specifier_qualifier_list -> alignment_specifier','specifier_qualifier_list',1,'p_specifier_qualifier_list_5','c_parser.py',957), + ('specifier_qualifier_list -> specifier_qualifier_list alignment_specifier','specifier_qualifier_list',2,'p_specifier_qualifier_list_6','c_parser.py',962), + ('struct_or_union_specifier -> struct_or_union ID','struct_or_union_specifier',2,'p_struct_or_union_specifier_1','c_parser.py',970), + ('struct_or_union_specifier -> struct_or_union TYPEID','struct_or_union_specifier',2,'p_struct_or_union_specifier_1','c_parser.py',971), + ('struct_or_union_specifier -> struct_or_union brace_open struct_declaration_list brace_close','struct_or_union_specifier',4,'p_struct_or_union_specifier_2','c_parser.py',981), + ('struct_or_union_specifier -> struct_or_union brace_open brace_close','struct_or_union_specifier',3,'p_struct_or_union_specifier_2','c_parser.py',982), + ('struct_or_union_specifier -> struct_or_union ID brace_open struct_declaration_list brace_close','struct_or_union_specifier',5,'p_struct_or_union_specifier_3','c_parser.py',999), + ('struct_or_union_specifier -> struct_or_union ID brace_open brace_close','struct_or_union_specifier',4,'p_struct_or_union_specifier_3','c_parser.py',1000), + ('struct_or_union_specifier -> struct_or_union TYPEID brace_open struct_declaration_list brace_close','struct_or_union_specifier',5,'p_struct_or_union_specifier_3','c_parser.py',1001), + ('struct_or_union_specifier -> struct_or_union TYPEID brace_open brace_close','struct_or_union_specifier',4,'p_struct_or_union_specifier_3','c_parser.py',1002), + ('struct_or_union -> STRUCT','struct_or_union',1,'p_struct_or_union','c_parser.py',1018), + ('struct_or_union -> UNION','struct_or_union',1,'p_struct_or_union','c_parser.py',1019), + ('struct_declaration_list -> struct_declaration','struct_declaration_list',1,'p_struct_declaration_list','c_parser.py',1026), + ('struct_declaration_list -> struct_declaration_list struct_declaration','struct_declaration_list',2,'p_struct_declaration_list','c_parser.py',1027), + ('struct_declaration -> specifier_qualifier_list struct_declarator_list_opt SEMI','struct_declaration',3,'p_struct_declaration_1','c_parser.py',1035), + ('struct_declaration -> SEMI','struct_declaration',1,'p_struct_declaration_2','c_parser.py',1073), + ('struct_declaration -> pppragma_directive','struct_declaration',1,'p_struct_declaration_3','c_parser.py',1078), + ('struct_declarator_list -> struct_declarator','struct_declarator_list',1,'p_struct_declarator_list','c_parser.py',1083), + ('struct_declarator_list -> struct_declarator_list COMMA struct_declarator','struct_declarator_list',3,'p_struct_declarator_list','c_parser.py',1084), + ('struct_declarator -> declarator','struct_declarator',1,'p_struct_declarator_1','c_parser.py',1092), + ('struct_declarator -> declarator COLON constant_expression','struct_declarator',3,'p_struct_declarator_2','c_parser.py',1097), + ('struct_declarator -> COLON constant_expression','struct_declarator',2,'p_struct_declarator_2','c_parser.py',1098), + ('enum_specifier -> ENUM ID','enum_specifier',2,'p_enum_specifier_1','c_parser.py',1106), + ('enum_specifier -> ENUM TYPEID','enum_specifier',2,'p_enum_specifier_1','c_parser.py',1107), + ('enum_specifier -> ENUM brace_open enumerator_list brace_close','enum_specifier',4,'p_enum_specifier_2','c_parser.py',1112), + ('enum_specifier -> ENUM ID brace_open enumerator_list brace_close','enum_specifier',5,'p_enum_specifier_3','c_parser.py',1117), + ('enum_specifier -> ENUM TYPEID brace_open enumerator_list brace_close','enum_specifier',5,'p_enum_specifier_3','c_parser.py',1118), + ('enumerator_list -> enumerator','enumerator_list',1,'p_enumerator_list','c_parser.py',1123), + ('enumerator_list -> enumerator_list COMMA','enumerator_list',2,'p_enumerator_list','c_parser.py',1124), + ('enumerator_list -> enumerator_list COMMA enumerator','enumerator_list',3,'p_enumerator_list','c_parser.py',1125), + ('alignment_specifier -> _ALIGNAS LPAREN type_name RPAREN','alignment_specifier',4,'p_alignment_specifier','c_parser.py',1136), + ('alignment_specifier -> _ALIGNAS LPAREN constant_expression RPAREN','alignment_specifier',4,'p_alignment_specifier','c_parser.py',1137), + ('enumerator -> ID','enumerator',1,'p_enumerator','c_parser.py',1142), + ('enumerator -> ID EQUALS constant_expression','enumerator',3,'p_enumerator','c_parser.py',1143), + ('declarator -> id_declarator','declarator',1,'p_declarator','c_parser.py',1158), + ('declarator -> typeid_declarator','declarator',1,'p_declarator','c_parser.py',1159), + ('pointer -> TIMES type_qualifier_list_opt','pointer',2,'p_pointer','c_parser.py',1271), + ('pointer -> TIMES type_qualifier_list_opt pointer','pointer',3,'p_pointer','c_parser.py',1272), + ('type_qualifier_list -> type_qualifier','type_qualifier_list',1,'p_type_qualifier_list','c_parser.py',1301), + ('type_qualifier_list -> type_qualifier_list type_qualifier','type_qualifier_list',2,'p_type_qualifier_list','c_parser.py',1302), + ('parameter_type_list -> parameter_list','parameter_type_list',1,'p_parameter_type_list','c_parser.py',1307), + ('parameter_type_list -> parameter_list COMMA ELLIPSIS','parameter_type_list',3,'p_parameter_type_list','c_parser.py',1308), + ('parameter_list -> parameter_declaration','parameter_list',1,'p_parameter_list','c_parser.py',1316), + ('parameter_list -> parameter_list COMMA parameter_declaration','parameter_list',3,'p_parameter_list','c_parser.py',1317), + ('parameter_declaration -> declaration_specifiers id_declarator','parameter_declaration',2,'p_parameter_declaration_1','c_parser.py',1336), + ('parameter_declaration -> declaration_specifiers typeid_noparen_declarator','parameter_declaration',2,'p_parameter_declaration_1','c_parser.py',1337), + ('parameter_declaration -> declaration_specifiers abstract_declarator_opt','parameter_declaration',2,'p_parameter_declaration_2','c_parser.py',1348), + ('identifier_list -> identifier','identifier_list',1,'p_identifier_list','c_parser.py',1380), + ('identifier_list -> identifier_list COMMA identifier','identifier_list',3,'p_identifier_list','c_parser.py',1381), + ('initializer -> assignment_expression','initializer',1,'p_initializer_1','c_parser.py',1390), + ('initializer -> brace_open initializer_list_opt brace_close','initializer',3,'p_initializer_2','c_parser.py',1395), + ('initializer -> brace_open initializer_list COMMA brace_close','initializer',4,'p_initializer_2','c_parser.py',1396), + ('initializer_list -> designation_opt initializer','initializer_list',2,'p_initializer_list','c_parser.py',1404), + ('initializer_list -> initializer_list COMMA designation_opt initializer','initializer_list',4,'p_initializer_list','c_parser.py',1405), + ('designation -> designator_list EQUALS','designation',2,'p_designation','c_parser.py',1416), + ('designator_list -> designator','designator_list',1,'p_designator_list','c_parser.py',1424), + ('designator_list -> designator_list designator','designator_list',2,'p_designator_list','c_parser.py',1425), + ('designator -> LBRACKET constant_expression RBRACKET','designator',3,'p_designator','c_parser.py',1430), + ('designator -> PERIOD identifier','designator',2,'p_designator','c_parser.py',1431), + ('type_name -> specifier_qualifier_list abstract_declarator_opt','type_name',2,'p_type_name','c_parser.py',1436), + ('abstract_declarator -> pointer','abstract_declarator',1,'p_abstract_declarator_1','c_parser.py',1448), + ('abstract_declarator -> pointer direct_abstract_declarator','abstract_declarator',2,'p_abstract_declarator_2','c_parser.py',1456), + ('abstract_declarator -> direct_abstract_declarator','abstract_declarator',1,'p_abstract_declarator_3','c_parser.py',1461), + ('direct_abstract_declarator -> LPAREN abstract_declarator RPAREN','direct_abstract_declarator',3,'p_direct_abstract_declarator_1','c_parser.py',1471), + ('direct_abstract_declarator -> direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKET','direct_abstract_declarator',4,'p_direct_abstract_declarator_2','c_parser.py',1475), + ('direct_abstract_declarator -> LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET','direct_abstract_declarator',4,'p_direct_abstract_declarator_3','c_parser.py',1486), + ('direct_abstract_declarator -> direct_abstract_declarator LBRACKET TIMES RBRACKET','direct_abstract_declarator',4,'p_direct_abstract_declarator_4','c_parser.py',1496), + ('direct_abstract_declarator -> LBRACKET TIMES RBRACKET','direct_abstract_declarator',3,'p_direct_abstract_declarator_5','c_parser.py',1507), + ('direct_abstract_declarator -> direct_abstract_declarator LPAREN parameter_type_list_opt RPAREN','direct_abstract_declarator',4,'p_direct_abstract_declarator_6','c_parser.py',1516), + ('direct_abstract_declarator -> LPAREN parameter_type_list_opt RPAREN','direct_abstract_declarator',3,'p_direct_abstract_declarator_7','c_parser.py',1526), + ('block_item -> declaration','block_item',1,'p_block_item','c_parser.py',1537), + ('block_item -> statement','block_item',1,'p_block_item','c_parser.py',1538), + ('block_item_list -> block_item','block_item_list',1,'p_block_item_list','c_parser.py',1545), + ('block_item_list -> block_item_list block_item','block_item_list',2,'p_block_item_list','c_parser.py',1546), + ('compound_statement -> brace_open block_item_list_opt brace_close','compound_statement',3,'p_compound_statement_1','c_parser.py',1552), + ('labeled_statement -> ID COLON pragmacomp_or_statement','labeled_statement',3,'p_labeled_statement_1','c_parser.py',1558), + ('labeled_statement -> CASE constant_expression COLON pragmacomp_or_statement','labeled_statement',4,'p_labeled_statement_2','c_parser.py',1562), + ('labeled_statement -> DEFAULT COLON pragmacomp_or_statement','labeled_statement',3,'p_labeled_statement_3','c_parser.py',1566), + ('selection_statement -> IF LPAREN expression RPAREN pragmacomp_or_statement','selection_statement',5,'p_selection_statement_1','c_parser.py',1570), + ('selection_statement -> IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statement','selection_statement',7,'p_selection_statement_2','c_parser.py',1574), + ('selection_statement -> SWITCH LPAREN expression RPAREN pragmacomp_or_statement','selection_statement',5,'p_selection_statement_3','c_parser.py',1578), + ('iteration_statement -> WHILE LPAREN expression RPAREN pragmacomp_or_statement','iteration_statement',5,'p_iteration_statement_1','c_parser.py',1583), + ('iteration_statement -> DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMI','iteration_statement',7,'p_iteration_statement_2','c_parser.py',1587), + ('iteration_statement -> FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement','iteration_statement',9,'p_iteration_statement_3','c_parser.py',1591), + ('iteration_statement -> FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement','iteration_statement',8,'p_iteration_statement_4','c_parser.py',1595), + ('jump_statement -> GOTO ID SEMI','jump_statement',3,'p_jump_statement_1','c_parser.py',1600), + ('jump_statement -> BREAK SEMI','jump_statement',2,'p_jump_statement_2','c_parser.py',1604), + ('jump_statement -> CONTINUE SEMI','jump_statement',2,'p_jump_statement_3','c_parser.py',1608), + ('jump_statement -> RETURN expression SEMI','jump_statement',3,'p_jump_statement_4','c_parser.py',1612), + ('jump_statement -> RETURN SEMI','jump_statement',2,'p_jump_statement_4','c_parser.py',1613), + ('expression_statement -> expression_opt SEMI','expression_statement',2,'p_expression_statement','c_parser.py',1618), + ('expression -> assignment_expression','expression',1,'p_expression','c_parser.py',1625), + ('expression -> expression COMMA assignment_expression','expression',3,'p_expression','c_parser.py',1626), + ('assignment_expression -> LPAREN compound_statement RPAREN','assignment_expression',3,'p_parenthesized_compound_expression','c_parser.py',1638), + ('typedef_name -> TYPEID','typedef_name',1,'p_typedef_name','c_parser.py',1642), + ('assignment_expression -> conditional_expression','assignment_expression',1,'p_assignment_expression','c_parser.py',1646), + ('assignment_expression -> unary_expression assignment_operator assignment_expression','assignment_expression',3,'p_assignment_expression','c_parser.py',1647), + ('assignment_operator -> EQUALS','assignment_operator',1,'p_assignment_operator','c_parser.py',1660), + ('assignment_operator -> XOREQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1661), + ('assignment_operator -> TIMESEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1662), + ('assignment_operator -> DIVEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1663), + ('assignment_operator -> MODEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1664), + ('assignment_operator -> PLUSEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1665), + ('assignment_operator -> MINUSEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1666), + ('assignment_operator -> LSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1667), + ('assignment_operator -> RSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1668), + ('assignment_operator -> ANDEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1669), + ('assignment_operator -> OREQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1670), + ('constant_expression -> conditional_expression','constant_expression',1,'p_constant_expression','c_parser.py',1675), + ('conditional_expression -> binary_expression','conditional_expression',1,'p_conditional_expression','c_parser.py',1679), + ('conditional_expression -> binary_expression CONDOP expression COLON conditional_expression','conditional_expression',5,'p_conditional_expression','c_parser.py',1680), + ('binary_expression -> cast_expression','binary_expression',1,'p_binary_expression','c_parser.py',1688), + ('binary_expression -> binary_expression TIMES binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1689), + ('binary_expression -> binary_expression DIVIDE binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1690), + ('binary_expression -> binary_expression MOD binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1691), + ('binary_expression -> binary_expression PLUS binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1692), + ('binary_expression -> binary_expression MINUS binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1693), + ('binary_expression -> binary_expression RSHIFT binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1694), + ('binary_expression -> binary_expression LSHIFT binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1695), + ('binary_expression -> binary_expression LT binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1696), + ('binary_expression -> binary_expression LE binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1697), + ('binary_expression -> binary_expression GE binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1698), + ('binary_expression -> binary_expression GT binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1699), + ('binary_expression -> binary_expression EQ binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1700), + ('binary_expression -> binary_expression NE binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1701), + ('binary_expression -> binary_expression AND binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1702), + ('binary_expression -> binary_expression OR binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1703), + ('binary_expression -> binary_expression XOR binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1704), + ('binary_expression -> binary_expression LAND binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1705), + ('binary_expression -> binary_expression LOR binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1706), + ('cast_expression -> unary_expression','cast_expression',1,'p_cast_expression_1','c_parser.py',1714), + ('cast_expression -> LPAREN type_name RPAREN cast_expression','cast_expression',4,'p_cast_expression_2','c_parser.py',1718), + ('unary_expression -> postfix_expression','unary_expression',1,'p_unary_expression_1','c_parser.py',1722), + ('unary_expression -> PLUSPLUS unary_expression','unary_expression',2,'p_unary_expression_2','c_parser.py',1726), + ('unary_expression -> MINUSMINUS unary_expression','unary_expression',2,'p_unary_expression_2','c_parser.py',1727), + ('unary_expression -> unary_operator cast_expression','unary_expression',2,'p_unary_expression_2','c_parser.py',1728), + ('unary_expression -> SIZEOF unary_expression','unary_expression',2,'p_unary_expression_3','c_parser.py',1733), + ('unary_expression -> SIZEOF LPAREN type_name RPAREN','unary_expression',4,'p_unary_expression_3','c_parser.py',1734), + ('unary_expression -> _ALIGNOF LPAREN type_name RPAREN','unary_expression',4,'p_unary_expression_3','c_parser.py',1735), + ('unary_operator -> AND','unary_operator',1,'p_unary_operator','c_parser.py',1743), + ('unary_operator -> TIMES','unary_operator',1,'p_unary_operator','c_parser.py',1744), + ('unary_operator -> PLUS','unary_operator',1,'p_unary_operator','c_parser.py',1745), + ('unary_operator -> MINUS','unary_operator',1,'p_unary_operator','c_parser.py',1746), + ('unary_operator -> NOT','unary_operator',1,'p_unary_operator','c_parser.py',1747), + ('unary_operator -> LNOT','unary_operator',1,'p_unary_operator','c_parser.py',1748), + ('postfix_expression -> primary_expression','postfix_expression',1,'p_postfix_expression_1','c_parser.py',1753), + ('postfix_expression -> postfix_expression LBRACKET expression RBRACKET','postfix_expression',4,'p_postfix_expression_2','c_parser.py',1757), + ('postfix_expression -> postfix_expression LPAREN argument_expression_list RPAREN','postfix_expression',4,'p_postfix_expression_3','c_parser.py',1761), + ('postfix_expression -> postfix_expression LPAREN RPAREN','postfix_expression',3,'p_postfix_expression_3','c_parser.py',1762), + ('postfix_expression -> postfix_expression PERIOD ID','postfix_expression',3,'p_postfix_expression_4','c_parser.py',1767), + ('postfix_expression -> postfix_expression PERIOD TYPEID','postfix_expression',3,'p_postfix_expression_4','c_parser.py',1768), + ('postfix_expression -> postfix_expression ARROW ID','postfix_expression',3,'p_postfix_expression_4','c_parser.py',1769), + ('postfix_expression -> postfix_expression ARROW TYPEID','postfix_expression',3,'p_postfix_expression_4','c_parser.py',1770), + ('postfix_expression -> postfix_expression PLUSPLUS','postfix_expression',2,'p_postfix_expression_5','c_parser.py',1776), + ('postfix_expression -> postfix_expression MINUSMINUS','postfix_expression',2,'p_postfix_expression_5','c_parser.py',1777), + ('postfix_expression -> LPAREN type_name RPAREN brace_open initializer_list brace_close','postfix_expression',6,'p_postfix_expression_6','c_parser.py',1782), + ('postfix_expression -> LPAREN type_name RPAREN brace_open initializer_list COMMA brace_close','postfix_expression',7,'p_postfix_expression_6','c_parser.py',1783), + ('primary_expression -> identifier','primary_expression',1,'p_primary_expression_1','c_parser.py',1788), + ('primary_expression -> constant','primary_expression',1,'p_primary_expression_2','c_parser.py',1792), + ('primary_expression -> unified_string_literal','primary_expression',1,'p_primary_expression_3','c_parser.py',1796), + ('primary_expression -> unified_wstring_literal','primary_expression',1,'p_primary_expression_3','c_parser.py',1797), + ('primary_expression -> LPAREN expression RPAREN','primary_expression',3,'p_primary_expression_4','c_parser.py',1802), + ('primary_expression -> OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPAREN','primary_expression',6,'p_primary_expression_5','c_parser.py',1806), + ('offsetof_member_designator -> identifier','offsetof_member_designator',1,'p_offsetof_member_designator','c_parser.py',1814), + ('offsetof_member_designator -> offsetof_member_designator PERIOD identifier','offsetof_member_designator',3,'p_offsetof_member_designator','c_parser.py',1815), + ('offsetof_member_designator -> offsetof_member_designator LBRACKET expression RBRACKET','offsetof_member_designator',4,'p_offsetof_member_designator','c_parser.py',1816), + ('argument_expression_list -> assignment_expression','argument_expression_list',1,'p_argument_expression_list','c_parser.py',1828), + ('argument_expression_list -> argument_expression_list COMMA assignment_expression','argument_expression_list',3,'p_argument_expression_list','c_parser.py',1829), + ('identifier -> ID','identifier',1,'p_identifier','c_parser.py',1838), + ('constant -> INT_CONST_DEC','constant',1,'p_constant_1','c_parser.py',1842), + ('constant -> INT_CONST_OCT','constant',1,'p_constant_1','c_parser.py',1843), + ('constant -> INT_CONST_HEX','constant',1,'p_constant_1','c_parser.py',1844), + ('constant -> INT_CONST_BIN','constant',1,'p_constant_1','c_parser.py',1845), + ('constant -> INT_CONST_CHAR','constant',1,'p_constant_1','c_parser.py',1846), + ('constant -> FLOAT_CONST','constant',1,'p_constant_2','c_parser.py',1865), + ('constant -> HEX_FLOAT_CONST','constant',1,'p_constant_2','c_parser.py',1866), + ('constant -> CHAR_CONST','constant',1,'p_constant_3','c_parser.py',1882), + ('constant -> WCHAR_CONST','constant',1,'p_constant_3','c_parser.py',1883), + ('constant -> U8CHAR_CONST','constant',1,'p_constant_3','c_parser.py',1884), + ('constant -> U16CHAR_CONST','constant',1,'p_constant_3','c_parser.py',1885), + ('constant -> U32CHAR_CONST','constant',1,'p_constant_3','c_parser.py',1886), + ('unified_string_literal -> STRING_LITERAL','unified_string_literal',1,'p_unified_string_literal','c_parser.py',1897), + ('unified_string_literal -> unified_string_literal STRING_LITERAL','unified_string_literal',2,'p_unified_string_literal','c_parser.py',1898), + ('unified_wstring_literal -> WSTRING_LITERAL','unified_wstring_literal',1,'p_unified_wstring_literal','c_parser.py',1908), + ('unified_wstring_literal -> U8STRING_LITERAL','unified_wstring_literal',1,'p_unified_wstring_literal','c_parser.py',1909), + ('unified_wstring_literal -> U16STRING_LITERAL','unified_wstring_literal',1,'p_unified_wstring_literal','c_parser.py',1910), + ('unified_wstring_literal -> U32STRING_LITERAL','unified_wstring_literal',1,'p_unified_wstring_literal','c_parser.py',1911), + ('unified_wstring_literal -> unified_wstring_literal WSTRING_LITERAL','unified_wstring_literal',2,'p_unified_wstring_literal','c_parser.py',1912), + ('unified_wstring_literal -> unified_wstring_literal U8STRING_LITERAL','unified_wstring_literal',2,'p_unified_wstring_literal','c_parser.py',1913), + ('unified_wstring_literal -> unified_wstring_literal U16STRING_LITERAL','unified_wstring_literal',2,'p_unified_wstring_literal','c_parser.py',1914), + ('unified_wstring_literal -> unified_wstring_literal U32STRING_LITERAL','unified_wstring_literal',2,'p_unified_wstring_literal','c_parser.py',1915), + ('brace_open -> LBRACE','brace_open',1,'p_brace_open','c_parser.py',1925), + ('brace_close -> RBRACE','brace_close',1,'p_brace_close','c_parser.py',1931), + ('empty -> ','empty',0,'p_empty','c_parser.py',1937), +]